diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index a7f5f263..00000000
--- a/.gitignore
+++ /dev/null
@@ -1,16 +0,0 @@
-#ant stuff
-/bin/
-/download/
-#Remove OS generated garbage
-*/.DS_Store
-.DS_Store
-.DS_Store?
-.Spotlight-V100
-.Trashes
-Icon?
-ehthumbs.db
-Thumbs.db
-#gradle stuff
-/.gradle
-/build/
-/run/
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 6e263951..00000000
--- a/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "Mantle"]
- path = Mantle
- url = https://github.com/SlimeKnights/Mantle.git
diff --git a/README.md b/README.md
deleted file mode 100644
index 0f1d4d51..00000000
--- a/README.md
+++ /dev/null
@@ -1,36 +0,0 @@
-#[Tinkers' Construct](http://www.minecraftforum.net/topic/1659892-tinkers-construct/)
-
-# 1.6.x is now Final, and is no longer being updated by the Slime Knights. Fixes are via PR only.
-Modify all the things, then do it again!
-Melt down any metals you find.
-Turn everything into golems!
-
-##Development
-Install Forge as usual, and setup your IDE as with any other Forge project. Copy `TCore_dummy.jar` to `forge/mcp/jars/mods/` to enable the Preloader (optional -- only needed when working on the preloader itself)
-
-##Compile from Source
-setup: Run [gradle]in the repository root: `gradlew[.bat] setupDevWorkspace [eclipse|idea]`
-build: Run [gradle]in the repository root: `gradlew[.bat] build'
-
-##Issue reporting
-Please include the following:
-
-* Minecraft version
-* Tinkers' Construct version
-* Forge version/build
-* Versions of any mods potentially related to the issue
-* Any relevant screenshots are greatly appreciated.
-* For crashes:
- * Steps to reproduce
- * ForgeModLoader-client-0.log (the FML log) from the root folder of the client
-
-##Licenses
-Most code is public domain under [Creative Commons 0](http://creativecommons.org/publicdomain/zero/1.0/).
-
-Textures and binaries are licensed under [Creative Commons 3](http://creativecommons.org/licenses/by/3.0/).
-
-Any modpack which uses Tinkers' Construct takes **full** responsibility for user support queries. For anyone else, we only support official builds from the main CI server, not custom built jars. We also do not take bug reports for outdated builds of Minecraft.
-
-If you have queries about any license or the above support restrictions, please drop by our IRC channel, #TinkersConstruct on irc.esper.net
-
-Any alternate licenses are noted where appropriate.
diff --git a/TCore_dummy.jar b/TCore_dummy.jar
deleted file mode 100644
index 3a33363d..00000000
Binary files a/TCore_dummy.jar and /dev/null differ
diff --git a/build.gradle b/build.gradle
deleted file mode 100644
index 5d5d790e..00000000
--- a/build.gradle
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Tinkers Construct
- * Master build file
- *
- * Authors: Sunstrike, ProgWML6
- * Help from AbrarSyed
- */
-
-buildscript {
- repositories {
- mavenCentral()
- maven {
- name = 'ForgeFS'
- url = 'http://files.minecraftforge.net/maven'
- }
- }
- dependencies {
- classpath 'net.minecraftforge.gradle:ForgeGradle:1.0-SNAPSHOT'
- }
-}
-
-repositories {
- ivy {
- name 'Forge FS legacy'
- artifactPattern "http://files.minecraftforge.net/[module]/[module]-dev-[revision].[ext]"
- }
- ivy {
- name 'CB FS'
- artifactPattern "http://www.chickenbones.craftsaddle.org/Files/New_Versions/1.6.4/[module]-dev%20[revision].[ext]"
- }
- maven {
- name 'SlimeKnights Maven FS'
- url 'http://aeon.sunstrike.io'
- }
- maven {
- name 'ForgeFS'
- url 'http://files.minecraftforge.net/maven'
- }
-}
-
-// Load ForgeGradle
-apply plugin: 'forge'
-
-// Define properties file
-ext.configFile = file "build.properties"
-
-configFile.withReader {
- // Load config. It shall from now be referenced as simply config or project.config
- def prop = new Properties()
- prop.load(it)
- project.ext.config = new ConfigSlurper().parse prop
-}
-
-ext.artifact_version_override = 'NotUsed'
-//gitignored config file -- if this has the entry for override it will override the version for local builds
-//create a file called version.properties with the line artifact_version_override=NotUsed
-//replace not used w/ version #'s for manual local overrides
-ext.configFile2 = file "version.properties"
-if (configFile2.exists()){
- configFile2.withReader {
- def prop2 = new Properties()
- prop2.load(it)
- ext.GIVersionFL = new ConfigSlurper().parse prop2
- if (GIVersionFL != null){
- project.artifact_version_override = GIVersionFL.artifact_version_override
- }
- }
-}
-
-dependencies {
- //compile "mantle:Mantle:${config.mantle_version}:dev"
- compile name: 'ForgeMultipart', version: "${config.minecraft_version}-${config.FMP_version}", ext: 'jar'
- compile name: 'CodeChickenLib', version: "${config.minecraft_version}-${config.CCLIB_version}", ext: 'jar'
- compile name: 'NotEnoughItems', version: "${config.NEI_version}", type: 'jar'
-}
-
-// Finds and sets version data
-task buildInfo {
- def cmd = "git rev-parse --short HEAD"
- def proc = cmd.execute()
- proc.waitFor()
- if (proc.exitValue() == 0) {
- ext.revision = proc.text.trim()
- } else {
- ext.revision = "GITBORK"
- }
-
- if (System.getenv().BUILD_NUMBER != null) {
- ext.buildNum = System.getenv().BUILD_NUMBER
- } else {
- ext.buildNum = "DEV"
- }
-}
-ext.artifact_version = 'NFG'
-if (System.getenv().ARTIFACT_VERSION == null && artifact_version_override == 'NotUsed') {
- artifact_version = "${project.buildInfo.buildNum}.${project.buildInfo.revision}"
-}
-if (System.getenv().ARTIFACT_VERSION != null && artifact_version_override == 'NotUsed') {
- artifact_version = "${system.getenv().ARTIFACT_VERSION}"
-}
-if (artifact_version_override != 'NotUsed') {
- artifact_version = "${artifact_version_override}"
-}
-version = "${config.minecraft_version}-${artifact_version}"
-
-minecraft {
- version = config.minecraft_version + "-" + config.forge_version
- assetDir = 'run/assets'
- replace '${version}', project.version
-}
-
-
-sourceSets {
- main {
- resources {
- srcDir 'resources'
- }
- }
-}
-processResources
-{
- // Replace stuff in text files, not binaries.
- from(sourceSets.main.resources.srcDirs) {
- include '**/*.info'
- // Replace version and MCversion
- expand 'version':artifact_version,'MCversion':config.minecraft_version
- }
-
- // Copy everything else that's not text
- from(sourceSets.main.resources.srcDirs) {
- exclude '**/*.info'
- }
-}
-
-// Add Coremod Manifest
-jar {
- manifest {
- attributes 'FMLCorePlugin': 'tconstruct.preloader.TConstructLoaderContainer'
- attributes 'FMLCorePluginContainsFMLMod': 'true'
- }
-}
-
-// Create deobf dev jars
-task deobfJar(type: Jar) {
- from sourceSets.main.output
- classifier = 'deobf'
-}
-
-// Create API library jar
-task libJar(type: Jar) {
- from(sourceSets.main.java) {
- include "tconstruct/library/*"
- }
- classifier = 'lib'
-}
-
-artifacts {
- archives deobfJar
- archives libJar
-}
\ No newline at end of file
diff --git a/build.properties b/build.properties
deleted file mode 100644
index 33cabaae..00000000
--- a/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-minecraft_version=1.6.4
-forge_version=9.11.1.964
-mantle_version=906110
-FMP_version=1.0.0.182
-CCLIB_version=1.0.0.36
-NEI_version=1.6.1.8
\ No newline at end of file
diff --git a/capes.txt b/capes.txt
deleted file mode 100644
index e24c6791..00000000
--- a/capes.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-fuj1n:https://dl.dropboxusercontent.com/s/i6gra1pc6gxawwz/capeTCLogo.png
-progwml6:https://dl.dropboxusercontent.com/s/i6gra1pc6gxawwz/capeTCLogo.png
-_Sunstrike:http://talon.sunstrike.io/files/sun_cape.png
-Fudgy_Fetus:https://dl.dropboxusercontent.com/u/27415688/fudgecape.png
-Vexatos:https://dl.dropboxusercontent.com/u/57704711/Dokumente/Speziell/Minecraft/Public/TCape.png
-pillbox:https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes/default_orange.png
-Hysting:https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes/default_blue.png
-Xythyl:https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes/default_blue.png
-andrejsavikin:https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes/default_blue.png
-alexbegt:https://dl.dropboxusercontent.com/u/48633261/cape.png
-DentedLeftFender:https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes/default_green.png
-Pokefenn:https://dl.dropboxusercontent.com/s/etrersgka8n7g3s/vineCape.png
-sondrex76:http://i.imgur.com/a7QMfjc.png
-Steelflameblade:http://i.imgur.com/pz1O4pe.png
-elkillo:https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes/default_green.png
-Habselaar:https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes/default_green.png
-LordDarkona:http://i.imgur.com/MY4RmgO.png
-master801:https://dl.dropboxusercontent.com/u/90842632/Ender-Cape.png
-Zerokyuuni:https://dl.dropboxusercontent.com/u/76684489/zerocape.png
-Frosty_Chicken:https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes/default_green.png
-EntityOmega:https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes/default_green.png
-skedone:https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes/default_green.png
-type1ninja:https://dl.dropboxusercontent.com/s/0ufr1gtqktt1nl2/JeffCape.png
-turbeauke:http://i.imgur.com/XdOIone.png
-Nieue:http://i.imgur.com/8c5yUgX.png
-starr274:https://github.com/SlimeKnights/TinkersConstruct/blob/master/capes/default_gray.png
-zeflap:http://i.imgur.com/6OhKrVE.png
-kendfinger:https://dl.dropboxusercontent.com/u/48633261/cape.png
-GameGeek1998:http://i.imgur.com/hiMFLXY.png
-fumoffu616:https://dl.dropboxusercontent.com/s/f70j8xfwax1p0t5/myeah.png
-7X_star:http://i.imgur.com/ebQ4IvF.png
-TheNinjaM:https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes/default_green.png
-1Enderman10:http://i.imgur.com/SGm6cd0.png
-Lance_Bombardier:http://i.imgur.com/ueHSGf4.png
-Schluck123:http://i.imgur.com/a7QMfjc.png
-redblackdragon3:https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes/default_red.png
-xXThunderstarXx:http://i.imgur.com/zJgdW3C.png
-tonius11:https://dl.dropboxusercontent.com/s/a05r5c68e91dk2h/endercape.png
-Leilana:http://i.imgur.com/lMXcbre.png
-evaluno2:http://i.imgur.com/YYqlRRp.png
-andypie1010:http://oi41.tinypic.com/mlj9jm.jpg
-hayden_swanick:https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes/default_orange.png
-PeggleFrank:https://dl.dropboxusercontent.com/s/etrersgka8n7g3s/vineCape.png
-the_j485:https://dl.dropboxusercontent.com/s/etrersgka8n7g3s/vineCape.png
-dgdas12:https://dl.dropboxusercontent.com/s/etrersgka8n7g3s/vineCape.png
-SatanicSanta:https://dl.dropboxusercontent.com/s/etrersgka8n7g3s/vineCape.png
-GPuzzle:https://dl.dropboxusercontent.com/s/etrersgka8n7g3s/vineCape.png
-ajloveslily14:https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes/default_blue.png
-multisofteis:http://i.imgur.com/AgGBsX8.png
-----------------------------------------FINALISED - ONLY ALLOW REMOVAL OF CAPES----------------------------------------
diff --git a/capes/default_blue.png b/capes/default_blue.png
deleted file mode 100644
index e6bd3586..00000000
Binary files a/capes/default_blue.png and /dev/null differ
diff --git a/capes/default_gray.png b/capes/default_gray.png
deleted file mode 100644
index 7931dac4..00000000
Binary files a/capes/default_gray.png and /dev/null differ
diff --git a/capes/default_green.png b/capes/default_green.png
deleted file mode 100644
index 4eed8e34..00000000
Binary files a/capes/default_green.png and /dev/null differ
diff --git a/capes/default_orange.png b/capes/default_orange.png
deleted file mode 100644
index 31d907e9..00000000
Binary files a/capes/default_orange.png and /dev/null differ
diff --git a/capes/default_red.png b/capes/default_red.png
deleted file mode 100644
index 5ea6b969..00000000
Binary files a/capes/default_red.png and /dev/null differ
diff --git a/capes/default_yellow.png b/capes/default_yellow.png
deleted file mode 100644
index cfff627f..00000000
Binary files a/capes/default_yellow.png and /dev/null differ
diff --git a/eclipse_formatter.xml b/eclipse_formatter.xml
deleted file mode 100644
index a183bfaa..00000000
--- a/eclipse_formatter.xml
+++ /dev/null
@@ -1,291 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index d5c591c9..00000000
Binary files a/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index 22dac0a1..00000000
--- a/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Wed Jan 08 20:59:23 GMT 2014
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-1.9-bin.zip
diff --git a/gradlew b/gradlew
deleted file mode 100755
index 91a7e269..00000000
--- a/gradlew
+++ /dev/null
@@ -1,164 +0,0 @@
-#!/usr/bin/env bash
-
-##############################################################################
-##
-## Gradle start up script for UN*X
-##
-##############################################################################
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn ( ) {
- echo "$*"
-}
-
-die ( ) {
- echo
- echo "$*"
- echo
- exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-case "`uname`" in
- CYGWIN* )
- cygwin=true
- ;;
- Darwin* )
- darwin=true
- ;;
- MINGW* )
- msys=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.
-if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
- else
- JAVACMD="$JAVA_HOME/bin/java"
- fi
- if [ ! -x "$JAVACMD" ] ; then
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-else
- JAVACMD="java"
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
- MAX_FD_LIMIT=`ulimit -H -n`
- if [ $? -eq 0 ] ; then
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
- MAX_FD="$MAX_FD_LIMIT"
- fi
- ulimit -n $MAX_FD
- if [ $? -ne 0 ] ; then
- warn "Could not set maximum file descriptor limit: $MAX_FD"
- fi
- else
- warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
- fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
- GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
- APP_HOME=`cygpath --path --mixed "$APP_HOME"`
- CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
-
- # We build the pattern for arguments to be converted via cygpath
- ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
- SEP=""
- for dir in $ROOTDIRSRAW ; do
- ROOTDIRS="$ROOTDIRS$SEP$dir"
- SEP="|"
- done
- OURCYGPATTERN="(^($ROOTDIRS))"
- # Add a user-defined pattern to the cygpath arguments
- if [ "$GRADLE_CYGPATTERN" != "" ] ; then
- OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
- fi
- # Now convert the arguments - kludge to limit ourselves to /bin/sh
- i=0
- for arg in "$@" ; do
- CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
- CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
-
- if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
- eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
- else
- eval `echo args$i`="\"$arg\""
- fi
- i=$((i+1))
- done
- case $i in
- (0) set -- ;;
- (1) set -- "$args0" ;;
- (2) set -- "$args0" "$args1" ;;
- (3) set -- "$args0" "$args1" "$args2" ;;
- (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
- (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
- (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
- (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
- (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
- (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
- esac
-fi
-
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
- JVM_OPTS=("$@")
-}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
-
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/gradlew.bat b/gradlew.bat
deleted file mode 100644
index aec99730..00000000
--- a/gradlew.bat
+++ /dev/null
@@ -1,90 +0,0 @@
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-@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 Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
-
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto init
-
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:init
-@rem Get command-line arguments, handling Windowz 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.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-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
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/resources/PreloaderManifest.mf b/resources/PreloaderManifest.mf
deleted file mode 100644
index 9318a994..00000000
--- a/resources/PreloaderManifest.mf
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-FMLCorePlugin: tconstruct.preloader.TConstructLoaderContainer
-FMLCorePluginContainsFMLMod: true
diff --git a/resources/TConstruct_AT.cfg b/resources/TConstruct_AT.cfg
deleted file mode 100644
index bb075df1..00000000
--- a/resources/TConstruct_AT.cfg
+++ /dev/null
@@ -1,29 +0,0 @@
-# Tinkers Construct -- Access Transformer
-# Required for Ant build system.
-# Last update: Minecraft 1.6.4 - 2013 Sept 20
-
-# EntityArrow - Grabbed 'em all, since so much is accessed
-public uh.a
-public uh.au
-public uh.av
-public uh.aw
-public uh.b
-public uh.c
-public uh.d
-public uh.e
-public uh.f
-public uh.g
-public uh.h
-public uh.i
-public uh.j
-
-# GuiContainer
-public awy.p #guiLeft
-public awy.q #guiTop
-
-# GuiScreen
-public awe.i #buttonList
-
-# ThreadDownloadImageData
-public bic.g #field_110559_g
-public bic.d #field_110560_d
diff --git a/resources/assets/tinker/lang/de_DE.lang b/resources/assets/tinker/lang/de_DE.lang
deleted file mode 100644
index 41fcf7b4..00000000
--- a/resources/assets/tinker/lang/de_DE.lang
+++ /dev/null
@@ -1,723 +0,0 @@
-itemGroup.TConstructTools=TConstuct Werkzeuge
-itemGroup.TConstructMaterials=TConstruct Materialien
-itemGroup.TConstructBlocks=TConstruct Blöcke
-
-crafters.ToolStation=Werkzeugstation
-crafters.CraftingStation=Handwerksstation
-crafters.ToolForge=Werkzeugesse
-crafters.PartBuilder=Werkzeugteilbauer
-crafters.PatternShaper=Schablonenstanzer
-crafters.TinkerTable=Basteltisch
-inventory.PatternChest=Schablonenkiste
-crafters.Smeltery=Schmelzerei
-crafters.Frypan=Bratpfanne
-inventory.knapsack=Rucksack
-
-ToolStation.Crafter.name=Werkzeugstation
-ToolStation.Parts.name=Basteltisch
-ToolStation.PatternChest.name=Schablonenkiste
-ToolStation.PatternShaper.name=Schablonenstanzer
-ToolStation.CastingTable.name=Gusstisch
-tile.FurnaceSlab.name=Stufenofen
-
-tile.ToolForge.name=Werkzeugesse
-tile.Armor.DryingRack.name=Trockenregal
-CraftedSoil.Slime.name=Schleimiger Matsch
-CraftedSoil.Grout.name=Mörtel
-CraftedSoil.BlueSlime.name=Schleimiger Matsch (Blau)
-CraftedSoil.GraveyardSoil.name=Friedhoferde
-CraftedSoil.ConsecratedSoil.name=Gesegnete Erde
-tile.CastingChannel.name=Gusskanal
-tile.slime.channel.name=Schleimkanal
-tile.slime.pad.name=Sprungfläche
-tile.blood.channel.name=Blutkanal
-
-MetalOre.NetherSlag.name=Netherstein-Schlacke
-MetalOre.Cobalt.name=Cobalterz
-MetalOre.Ardite.name=Arditerz
-MetalOre.Copper.name=Kupfererz
-MetalOre.Tin.name=Zinnerz
-MetalOre.Aluminum.name=Aluminiumerz
-MetalOre.Slag.name=Schlacke
-
-block.oreberry.iron.name=Eisenbeerenbusch
-block.oreberry.gold.name=Goldbeerenbusch
-block.oreberry.copper.name=Kupferbeerenbusch
-block.oreberry.tin.name=Zinnbeerenbusch
-block.oreberry.aluminum.name=Aluminiumbeerenbusch
-block.oreberry.essence.name=Essenzbeerenbusch
-
-block.ore.gravel.iron.name=Eisenkies
-block.ore.gravel.gold.name=Goldkies
-block.ore.gravel.copper.name=Kupferkies
-block.ore.gravel.tin.name=Zinnkies
-block.ore.gravel.aluminum.name=Aluminiumkies
-block.ore.gravel.cobalt.name=Kobaltkies
-
-block.brownstone.rough.name=Rauer Braunstein
-block.brownstone.rough.road.name=Raue Braunsteinstraße
-block.brownstone.smooth.name=Braunstein
-block.brownstone.smooth.brick.name=Braunstein Ziegel
-block.brownstone.smooth.road.name=Braunstein Straße
-block.brownstone.smooth.fancy.name=Schöner Braunstein
-block.brownstone.smooth.chiseled.name=Ziselierter Braustein
-
-block.brownstone.rough.slab.name=Raue Braunsteinstufe
-block.brownstone.rough.road.slab.name=Braunsteintraßenstufe
-block.brownstone.smooth.slab.name=Braunsteinstufe
-block.brownstone.smooth.brick.slab.name=Braunsteinziegelstufe
-block.brownstone.smooth.road.slab.name=Braunsteinstraßenstufe
-block.brownstone.smooth.fancy.slab.name=Schöne Braunsteinstufe
-block.brownstone.smooth.chiseled.slab.name=Ziselierte Braunsteinstufe
-
-block.brick.obsidian.name=Obsidianziegel
-block.brick.sandstone.name=Sandsteinziegel
-block.brick.netherrack.name=Nethersteinziegel
-block.brick.iron.name=Eisenziegel
-block.brick.gold.name=Goldziegel
-block.brick.diamond.name=Diamantziegel
-block.brick.lapis.name=Lapislazuliziegel
-block.brick.stone.refined.name=Polierter Steinziegel
-block.brick.redstone.name=Redstoneziegel
-block.brick.bone.name=Knochenziegel
-block.brick.slime.name=Schleimziegel
-block.brick.blueslime.name=Blauschleimziegel
-block.brick.endstone.name=Enderziegel
-block.brick.obsidian.ingot.name=Obsidianziegel
-
-block.fancybrick.obsidian.name=Schöner Obsidianziegel
-block.fancybrick.sandstone.name=Schöner Sandsteinziegel
-block.fancybrick.netherrack.name=Schöner Nethersteinziegel
-block.fancybrick.iron.name=Schöner Eisenziegel
-block.fancybrick.gold.name=Schöner Goldziegel
-block.fancybrick.diamond.name=Schöner Diamantziegel
-block.fancybrick.lapis.name=Schöner Lapislazuliziegel
-block.fancybrick.stone.refined.name=Polierter schöner Steinziegel
-block.fancybrick.redstone.name=Schöner Redstoneziegel
-block.fancybrick.bone.name=Schöner Knochenziegel
-block.fancybrick.slime.name=Schöner Schleimziegel
-block.fancybrick.blueslime.name=Schöner Blauschleimziegel
-block.fancybrick.endstone.name=Schöner Enderziegel
-block.fancybrick.obsidian.ingot.name=Schöner Obsidianziegel
-block.fancybrick.stone.road.name=Steinstraße
-block.fancybrick.stone.name=Schöner Steinziegel
-
-tile.rail.wood.name=Hölzerne Schiene
-
-tile.cloth.white.slab.name=Wollstufe
-tile.cloth.orange.slab.name=Orange Wollstufe
-tile.cloth.magenta.slab.name=Magenta Wollstufe
-tile.cloth.lightBlue.slab.name=Hellblaue Wollstufe
-tile.cloth.yellow.slab.name=Gelbe Wollstufe
-tile.cloth.lime.slab.name=Hellgrüne Wollstufe
-tile.cloth.pink.slab.name=Pinke Wollstufe
-tile.cloth.gray.slab.name=Graue Wollstufe
-tile.cloth.silver.slab.name=Hellgraue Wollstufe
-tile.cloth.cyan.slab.name=Türkise Wollstufe
-tile.cloth.purple.slab.name=Violette Wollstufe
-tile.cloth.blue.slab.name=Blaue Wollstufe
-tile.cloth.brown.slab.name=Braune Wollstufe
-tile.cloth.green.slab.name=Grüne Wollstufe
-tile.cloth.red.slab.name=Rote Wollstufe
-tile.cloth.black.slab.name=Schwarze Wollstufe
-
-tile.GlueBlock.name=Klebstoffblock
-tile.liquid.glue.name=Klebstoff
-
-item.oreberry.iron.name=Eisenbeere
-item.oreberry.gold.name=Goldbeere
-item.oreberry.copper.name=Kupferbeere
-item.oreberry.tin.name=Zinnbeere
-item.oreberry.aluminum.name=Aluminiumbeere
-item.oreberry.essence.name=Konzentrierte Essenzbeere
-
-item.goldenhead.name=Goldener Kopf
-item.tconstruct.titleicon.name=Erschaffe
-
-item.InfiTool.Pickaxe.name=Spitzhacke
-item.InfiTool.Shovel.name=Schaufel
-item.InfiTool.Axe.name=Beil
-item.InfiTool.Broadsword.name=Breitschwert
-item.InfiTool.Longsword.name=Langschwert
-item.InfiTool.Rapier.name=Rapier
-item.InfiTool.FryPan.name=Bratpfanne
-item.InfiTool.Battlesign.name=Kampf
-item.InfiTool.Dagger.name=Dolch
-item.InfiTool.Chisel.name=Meißel
-item.InfiTool.Scythe.name=Sense
-item.InfiTool.LumberAxe.name=Holzfälleraxt
-item.InfiTool.Cleaver.name=Hackmesser
-item.InfiTool.Excavator.name=Exkavator
-item.InfiTool.Hammer.name=Hammer
-item.InfiTool.Battleaxe.name=Streitaxt
-item.InfiTool.Cutlass.name=Entermesser
-item.InfiTool.Shortbow.name=Kurzbogen
-item.InfiTool.Arrow.name=Pfeil
-item.InfiTool.PotionLauncher.name=Trankwerfer
-item.InfiTool.Mattock.name=Breithacke
-
-item.tconstruct.Pattern.blank_pattern.name=Leere Schablone
-item.tconstruct.Pattern.rod.name=Werkzeuggriffsschablone
-item.tconstruct.Pattern.pickaxe.name=Spitzhackenkopfschablone
-item.tconstruct.Pattern.shovel.name=Schaufelkopfschablone
-item.tconstruct.Pattern.axe.name=Axtkopfschablone
-item.tconstruct.Pattern.swordblade.name=Schwertklingenschablone
-item.tconstruct.Pattern.largeguard.name=Breite Schützerschablone
-item.tconstruct.Pattern.mediumguard.name=Handschützerschablone
-item.tconstruct.Pattern.crossbar.name=Querstangenschablone
-item.tconstruct.Pattern.binding.name=Wekzeugbindungsschablone
-item.tconstruct.Pattern.frypan.name=Pfannenschablone
-item.tconstruct.Pattern.sign.name=Große Schildbrettschablone
-item.tconstruct.Pattern.knifeblade.name=Messerklingenschablone
-item.tconstruct.Pattern.chisel.name=Meißelkopfschablone
-item.tconstruct.Pattern.largerod.name=Robuste Griffschablone
-item.tconstruct.Pattern.toughbinding.name=Robuste Bindungsschablone
-item.tconstruct.Pattern.largeplate.name=Große Plattenschablone
-item.tconstruct.Pattern.broadaxe.name=Breitaxtkopfschablone
-item.tconstruct.Pattern.scythe.name=Sensenkopfschablone
-item.tconstruct.Pattern.excavator.name=Exkavatorkopfschablone
-item.tconstruct.Pattern.largeblade.name=Große Klingenschablone
-item.tconstruct.Pattern.hammerhead.name=Hammerkopfschablone
-item.tconstruct.Pattern.fullguard.name=Volle Schützerschablone
-item.tconstruct.Pattern.bowstring.name=Bogensehnenschablone
-item.tconstruct.Pattern.fletching.name=Befiederungsschablone
-item.tconstruct.Pattern.arrowhead.name=Pfeilspitzenschablone
-
-item.tconstruct.Pattern.blank_cast.name=Leere Gussform
-item.tconstruct.MetalPattern.rod.name=Werkzeuggriffsgussform
-item.tconstruct.MetalPattern.pickaxe.name=Spitzhackenkopfgussform
-item.tconstruct.MetalPattern.shovel.name=Schaufelkopfgussform
-item.tconstruct.MetalPattern.axe.name=Axtkopfgussform
-item.tconstruct.MetalPattern.swordblade.name=Schwertklingengussform
-item.tconstruct.MetalPattern.largeguard.name=Breite Schützergussform
-item.tconstruct.MetalPattern.mediumguard.name=Handschützergussform
-item.tconstruct.MetalPattern.crossbar.name=Querstangengussform
-item.tconstruct.MetalPattern.binding.name=Wekzeugbindungsgussform
-item.tconstruct.MetalPattern.frypan.name=Pfannengussform
-item.tconstruct.MetalPattern.sign.name=Große Schildbrettgussform
-item.tconstruct.MetalPattern.knifeblade.name=Messerklingengussform
-item.tconstruct.MetalPattern.chisel.name=Meißelkopfgussform
-item.tconstruct.MetalPattern.largerod.name=Robuste Griffgussform
-item.tconstruct.MetalPattern.toughbinding.name=Robuste Bindungsgussform
-item.tconstruct.MetalPattern.largeplate.name=Große Plattengussform
-item.tconstruct.MetalPattern.broadaxe.name=Breitaxtkopfgussform
-item.tconstruct.MetalPattern.scythe.name=Sensenkopfgussform
-item.tconstruct.MetalPattern.excavator.name=Exkavatorkopfgussform
-item.tconstruct.MetalPattern.largeblade.name=Große Klingengussform
-item.tconstruct.MetalPattern.hammerhead.name=Hammerkopfgussform
-item.tconstruct.MetalPattern.fullguard.name=Volle Schützergussform
-item.tconstruct.MetalPattern.bowstring.name=Bogensehnengussform
-item.tconstruct.MetalPattern.fletching.name=Befiederungsgussform
-item.tconstruct.MetalPattern.arrowhead.name=Pfeilspitzengussform
-item.tconstruct.MetalPattern.ingot.name=Barrengussform
-item.tconstruct.MetalPattern.gem.name=Juwelengussform
-
-item.tconstruct.Materials.PaperStack.name=Papierstapel
-item.tconstruct.Materials.SlimeCrystal.name=Schleimkristall
-item.tconstruct.Materials.SearedBrick.name=Versengter Ziegelstein
-item.tconstruct.Materials.CobaltIngot.name=Cobaltbarren
-item.tconstruct.Materials.ArditeIngot.name=Arditbarren
-item.tconstruct.Materials.ManyullynIngot.name=Manyullynbarren
-item.tconstruct.Materials.Mossball.name=Moosballen
-item.tconstruct.Materials.LavaCrystal.name=Lavakristall
-item.tconstruct.Materials.NecroticBone.name=Nekrotischer Knochen
-item.tconstruct.Materials.CopperIngot.name=Kupferbarren
-item.tconstruct.Materials.TinIngot.name=Zinnbarren
-item.tconstruct.Materials.AluminumIngot.name=Aluminiumbarren
-item.tconstruct.Materials.RawAluminum.name=Rohaluminium
-item.tconstruct.Materials.BronzeIngot.name=Bronzebarren
-item.tconstruct.Materials.AluBrassIngot.name=Duraluminiumbarren
-item.tconstruct.Materials.AlumiteIngot.name=Alumitbarren
-item.tconstruct.Materials.SteelIngot.name=Stahlbarren
-item.tconstruct.Materials.BlueSlimeCrystal.name=Blauschleimkristall
-item.tconstruct.Materials.ObsidianIngot.name=Obsidianbarren
-item.tconstruct.Materials.IronNugget.name=Eisennugget
-item.tconstruct.Materials.CopperNugget.name=Kupferklumpen
-item.tconstruct.Materials.TinNugget.name=Zinnnugget
-item.tconstruct.Materials.AluminumNugget.name=Aluminiumnugget
-item.tconstruct.Materials.EssenceCrystal.name=Falscher Essenzkristall
-item.tconstruct.Materials.AluBrassNugget.name=Duraluminiumnugget
-item.tconstruct.Materials.SilkyCloth.name=Seide
-item.tconstruct.Materials.SilkyJewel.name=Seidiger Edelstein
-item.tconstruct.Materials.ObsidianNugget.name=Obsidiannugget
-item.tconstruct.Materials.CobaltNugget.name=Cobaltnugget
-item.tconstruct.Materials.ArditeNugget.name=Arditnugget
-item.tconstruct.Materials.ManyullynNugget.name=Manyullynnugget
-item.tconstruct.Materials.BronzeNugget.name=Bronzenugget
-item.tconstruct.Materials.AlumiteNugget.name=Alumitnugget
-item.tconstruct.Materials.SteelNugget.name=Stahlnugget
-item.tconstruct.Materials.PigIronIngot.name=Schweineisenbarren
-item.tconstruct.Materials.PigIronNugget.name=Schweineisenplatte
-item.tconstruct.Materials.GlueBall.name=Klebstoffball
-
-item.tconstruct.ArmorPattern.helmet.name=Helmgussform
-item.tconstruct.ArmorPattern.chestplate.name=Brustpanzergussform
-item.tconstruct.ArmorPattern.leggings.name=Beinschutzgussform
-item.tconstruct.ArmorPattern.boots.name=Stiefelgussform
-
-item.tconstruct.helmetWood.name=Holzhelm
-item.tconstruct.chestplateWood.name=Holzbrustpanzer
-item.tconstruct.leggingsWood.name=Holzbeinschutz
-item.tconstruct.bootsWood.name=Holzstiefel
-
-item.tconstruct.exoGoggles.name=Exo-Brille
-item.tconstruct.exoChest.name=Exo-Brustteil
-item.tconstruct.exoPants.name=Exo-Beine
-item.tconstruct.exoShoes.name=Exo-Schuhe
-
-item.tconstruct.jerky.beef.name=Rindfleisch-Charqui
-item.tconstruct.jerky.pig.name=Schweinefleisch-Charqui
-item.tconstruct.jerky.chicken.name=Hühnchen-Charqui
-item.tconstruct.jerky.sheep.name=Hammel-Charqui
-item.tconstruct.jerky.fish.name=Fisch-Charqui
-item.tconstruct.jerky.zombie.name=Monster-Charqui
-item.tconstruct.jerky.blueslime.name=Gelatinöser Schleimtropfen
-item.tconstruct.jerky.blood.name=Geronnener Bluttropfen
-
-Smeltery.Controller.name=Schmelzereikern
-Smeltery.Drain.name=Schmelzereiausguss
-Smeltery.Brick.name=Versengter Ziegel
-Smeltery.Stone.name=Versengter Stein
-Smeltery.Cobblestone.name=Versengter Pflasterstein
-Smeltery.Paver.name=Versengter Pflasterziegel
-Smeltery.Brick.Cracked.name=Rissiger versengter Ziegel
-Smeltery.Road.name=Versengte Straße
-Smeltery.Brick.Fancy.name=Versengter schöner Ziegel
-Smeltery.Brick.Square.name=Versengter ziselierter Ziegel
-Smeltery.Brick.Creeper.name=Versengter ziselierter Ziegel
-Smeltery.Channel.name=Gusskanal
-
-LavaTank.Tank.name=Versengter Tank
-LavaTank.Gague.name=Versengtes Glas
-LavaTank.Window.name=Versengtes Fenster
-
-tile.landmine.name=Landmine
-
-tile.trap.punji.name=Punji-Stab
-tile.trap.barricade.oak.name=Eichen-Barrikade
-tile.trap.barricade.spruce.name=Fichten-Barrikade
-tile.trap.barricade.birch.name=Birken-Barrikade
-tile.trap.barricade.jungle.name=Tropen-Barrikade
-tile.explosive.slime.name=SDX
-
-StorageMetals.Cobalt.name=Cobaltblock
-StorageMetals.Ardite.name=Arditblock
-StorageMetals.Manyullun.name=Manyullynblock
-StorageMetals.Copper.name=Kupferblock
-StorageMetals.Bronze.name=Bronzeblock
-StorageMetals.Tin.name=Zinnblock
-StorageMetals.Aluminum.name=Aluminiumblock
-StorageMetals.AlBrass.name=Duraluminiumblock
-StorageMetals.Alumite.name=Alumitblock
-StorageMetals.Steel.name=Stahlblock
-StorageMetals.Ender.name=Block Soliden Enders
-
-tile.decoration.stonetorch.name=Fackel
-tile.decoration.stoneladder.name=Leiter
-tile.CraftingStation.name=Werkstation
-
-block.glass.pure.name=Klares Glas
-block.glass.soul.name=Seelenglas
-block.glass.soul.pure.name=Klares Seelenglas
-
-block.glass.pure.pane.name=Klare Glasscheibe
-block.glass.soul.pane.name=Seelenglasscheibe
-block.glass.soul.pane.pure.name=Klare Seelenglasscheibe
-
-block.stainedglass.white.name=Weiß getöntes Glas
-block.stainedglass.orange.name=Orange getöntes Glas
-block.stainedglass.magenta.name=Magenta getöntes Glas
-block.stainedglass.lightblue.name=Hellblau getöntes Glas
-block.stainedglass.yellow.name=Gelb getöntes Glas
-block.stainedglass.lime.name=Hellgrün getöntes Glas
-block.stainedglass.pink.name=Rosa getöntes Glas
-block.stainedglass.gray.name=Grau getöntes Glas
-block.stainedglass.lightgray.name=Hellgrau getöntes Glas
-block.stainedglass.cyan.name=Türkis getöntes Glas
-block.stainedglass.purple.name=Violett getöntes Glas
-block.stainedglass.blue.name=Blau getöntes Glas
-block.stainedglass.brown.name=Braun getöntes Glas
-block.stainedglass.green.name=Grün getöntes Glas
-block.stainedglass.red.name=Rot getöntes Glas
-block.stainedglass.black.name=Schwarz getöntes Glas
-
-block.stainedglass.white.pane.name=Weiß getönte Glasscheibe
-block.stainedglass.orange.pane.name=Orange getönte Glasscheibe
-block.stainedglass.magenta.pane.name=Magenta getönte Glasscheibe
-block.stainedglass.lightblue.pane.name=Hellblau getönte Glasscheibe
-block.stainedglass.yellow.pane.name=Gelb getönte Glasscheibe
-block.stainedglass.lime.pane.name=Hellgrün getönte Glasscheibe
-block.stainedglass.pink.pane.name=Rosa getönte Glasscheibe
-block.stainedglass.gray.pane.name=Grau getönte Glasscheibe
-block.stainedglass.lightgray.pane.name=Hellgrau getönte Glasscheibe
-block.stainedglass.cyan.pane.name=Türkis getönte Glasscheibe
-block.stainedglass.purple.pane.name=Violett getönte Glasscheibe
-block.stainedglass.blue.pane.name=Blau getönte Glasscheibe
-block.stainedglass.brown.pane.name=Braun getönte Glasscheibe
-block.stainedglass.green.pane.name=Grün getönte Glasscheibe
-block.stainedglass.red.pane.name=Rot getönte Glasscheibe
-block.stainedglass.black.pane.name=Schwarz getönte Glasscheibe
-
-block.searedstone.slab.brick.name=Versengte Ziegelstufe
-block.searedstone.slab.stone.name=Versengte Steinstufe
-block.searedstone.slab.cobble.name=Versengte Cobblestonestufe
-block.searedstone.slab.paver.name=Versengte Pflasterstufe
-block.searedstone.slab.road.name=Versengte Straßenstufe
-block.searedstone.slab.fancy.name=Versengte schöne Stufe
-block.searedstone.slab.square.name=Versengte ziselierte Stufe
-block.searedstone.slab.creeper.name=Versengte ziselierte Stufe
-
-block.soil.slab.dirt.name=Erdstufe
-block.soil.slab.mycelium.name=Myzelstufe
-block.soil.slab.slime.name=Schleimige Matschstufe
-block.soil.slab.grout.name=Mörtelstufe
-block.soil.slab.blueslime.name=Schleimige Matschstufe (Blau)
-block.soil.slab.graveyardsoil.name=Friedhofserdenstufe
-block.soil.slab.consecratedsoil.name=Gesegnete Erdstufe
-
-block.slime.soil.blue.name=Blauschleimerde
-block.slime.leaves.blue.name=Schleimige Blätter
-block.slime.sapling.bluegreen.name=Schleimiger Setzling
-block.slime.grass.blue.name=Schleimiges Gras
-block.slime.grass.dirt.name=Schleimiges Gras
-block.slime.tallgrass.name=Schleimiges Gras
-block.slime.congealed.blue.name=Erstarrter Blauschleim
-block.slime.congealed.green.name=Erstarrter Grüner Schleim
-
-item.tconstruct.storage.knapsack.name=Rucksack
-item.tconstruct.blankpattern.pattern.name=Leere Schablone
-item.tconstruct.blankpattern.cast.name=Leere Gussform
-
-item.tconstruct.Bowstring.string.name=Bogensehne
-item.tconstruct.Bowstring.enchantedfabric.name=Verzauberte Bogensehne
-item.tconstruct.Bowstring.flamestring.name=Feurige Bogensehne
-item.tconstruct.Fletching.feather.name=Federne Befiederung
-item.tconstruct.Fletching.leaf.name=Blätterne Befiederung
-item.tconstruct.Fletching.slime.name=Schleimige Befiederung
-item.tconstruct.Fletching.blueslime.name=Schleimige Befiederung
-
-item.tconstruct.manual.beginner.name=Aller Anfang ist schwer
-item.tconstruct.manual.toolstation.name=Materialien und Du
-item.tconstruct.manual.smeltery.name=Die Mächtige Schmelzerei
-item.tconstruct.manual.diary.name=Tagebuch eines Bastlers
-
-item.tconstruct.bucket.Iron.name=Eimer mit geschmolzenem Eisen
-item.tconstruct.bucket.Gold.name=Eimer mit geschmolzenem Gold
-item.tconstruct.bucket.Copper.name=Eimer mit geschmolzenem Kupfer
-item.tconstruct.bucket.Tin.name=Eimer mit geschmolzenem Zinn
-item.tconstruct.bucket.Aluminum.name=Eimer mit geschmolzenem Aluminium
-item.tconstruct.bucket.Cobalt.name=Eimer mit geschmolzenem Cobalt
-item.tconstruct.bucket.Ardite.name=Eimer mit geschmolzenem Ardit
-item.tconstruct.bucket.Bronze.name=Eimer mit geschmolzener Bronze
-item.tconstruct.bucket.AluBrass.name=Eimer mit geschmolzenem Duraluminium
-item.tconstruct.bucket.Manyullyn.name=Eimer mit geschmolzenem Manyullyn
-item.tconstruct.bucket.Alumite.name=Eimer mit geschmolzenem Alumit
-item.tconstruct.bucket.Obsidian.name=Eimer mit geschmolzenem Obsidian
-item.tconstruct.bucket.Steel.name=Eimer mit geschmolzenem Stahl
-item.tconstruct.bucket.Glass.name=Eimer mit geschmolzenem Glas
-item.tconstruct.bucket.Stone.name=Eimer mit versengtem Gestein
-item.tconstruct.bucket.Villager.name=Eimer mit verflüssigtem Smaragd
-item.tconstruct.bucket.Cow.name=Eimer voller Blut
-item.tconstruct.bucket.Nickel.name=Eimer mit geschmolzenem Nickel
-item.tconstruct.bucket.Lead.name=Eimer mit geschmolzenem Blei
-item.tconstruct.bucket.Silver.name=Eimer mit geschmolzenem Silber
-item.tconstruct.bucket.Shiny.name=Eimer mit geschmolzenem Platin
-item.tconstruct.bucket.Invar.name=Eimer mit geschmolzenem Invar
-item.tconstruct.bucket.Electrum.name=Eimer mit geschmolzenem Elektrum
-item.tconstruct.bucket.Ender.name=Eimer mit verflüssigtem Ender
-item.tconstruct.bucket.Slime.name=Eimer mit flüssigem Schleim
-item.tconstruct.bucket.PigIron.name=Eimer mit geschmolzenem Schweineisen
-item.tconstruct.bucket.Glue.name=Eimer mit Klebstoff
-
-item.tconstruct.bowstring.string.name=Bogensehne
-item.tconstruct.bowstring.enchantedfabriI donc.name=Verzauberte Bogensehne
-
-tile.metal.molten.iron.name=Geschmolzenes Eisen
-tile.metal.molten.gold.name=Geschmolzenes Gold
-tile.metal.molten.copper.name=Geschmolzenes Kupfer
-tile.metal.molten.tin.name=Geschmolzenes Zinn
-tile.metal.molten.aluminum.name=Geschmolzenes Aluminium
-tile.metal.molten.cobalt.name=Geschmolzenes Cobalt
-tile.metal.molten.ardite.name=Geschmolzenes Ardit
-tile.metal.molten.bronze.name=Geschmolzene Bronze
-tile.metal.molten.alubrass.name=Geschmolzenes Duraluminium
-tile.metal.molten.manyullyn.name=Geschmolzenes Manyullyn
-tile.metal.molten.alumite.name=Geschmolzenes Alumit
-tile.metal.molten.obsidian.name=Geschmolzenes Obsidian
-tile.metal.molten.steel.name=Geschmolzener Stahl
-tile.metal.molten.glass.name=Geschmolzenes Glas
-tile.molten.stone.name=Versengtes Gestein
-tile.molten.emerald.name=Verflüssigter Smaragd
-tile.liquid.blood.name=Blut
-tile.metal.molten.nickel.name=Geschmolzenes Nickel
-tile.metal.molten.silver.name=Geschmolzenes Silber
-tile.metal.molten.lead.name=Geschmolzenes Blei
-tile.metal.molten.shiny.name=Geschmolzenes Platin
-tile.metal.molten.invar.name=Geschmolzenes Invar
-tile.metal.molten.electrum.name=Geschmolzenes Elektrum
-tile.fluid.ender.name=Verflüssigtes Ender
-tile.liquid.slime.name=Verflüssigter Schleim
-
-LiquidMetal.Iron.name=Geschmolzenes Eisen
-LiquidMetal.Gold.name=Geschmolzenes Gold
-LiquidMetal.Copper.name=Geschmolzenes Kupfer
-LiquidMetal.Tin.name=Geschmolzenes Zinn
-LiquidMetal.Aluminum.name=Geschmolzenes Aluminium
-LiquidMetal.Cobalt.name=Geschmolzenes Cobalt
-LiquidMetal.Ardite.name=Geschmolzenes Ardit
-LiquidMetal.Bronze.name=Geschmolzene Bronze
-LiquidMetal.AluBrass.name=Geschmolzenes Duraluminium
-LiquidMetal.Manyullyn.name=Geschmolzenes Manyullyn
-LiquidMetal.Alumite.name=Geschmolzenes Alumit
-LiquidMetal.Obsidian.name=Geschmolzenes Obsidian
-LiquidMetal.Steel.name=Geschmolzener Stahl
-LiquidMetal.Glass.name=Geschmolzenes Glas
-LiquidMetal.Stone.name=Versengtes Gestein
-LiquidMetal.Villager.name=Verflüssigter Smaragd
-LiquidMetal.Cow.name=Blut
-LiquidMetal.Nickel.name=Geschmolzenes Nickel
-LiquidMetal.Silver.name=Geschmolzenes Silber
-LiquidMetal.Lead.name=Geschmolzenes Blei
-LiquidMetal.Shiny.name=Geschmolzenes Platin
-LiquidMetal.Invar.name=Geschmolzenes Invar
-LiquidMetal.Electrum.name=Geschmolzenes Elektrum
-LiquidMetal.Ender.name=Verflüssigtes Ender
-
-item.food.apple.diamond.name=Verzierter Apfel
-item.tconstruct.strangefood.edibleslime.name=Essbarer Schleim
-item.tconstruct.strangefood.edibleblood.name=Geronnenes Blut
-item.tconstruct.canister.empty.name=Leerer Kanister
-item.tconstruct.canister.miniheart.red.name=Rotes Miniaturherz
-item.tconstruct.canister.heart.name=Herzkanister
-item.tconstruct.glove.name=Handschuhe
-
-SearedBlock.Table.name=Gusstisch
-SearedBlock.Faucet.name=Zapfhahn
-SearedBlock.Basin.name=Gussbecken
-
-entity.TConstruct.EdibleSlime.name=Blauschleim
-entity.TConstruct.KingSlime.name=Königsschleim
-entity.TConstruct.Gardeslime.name=Guardeschleim
-entity.TConstruct.MiniGardy.name=Guardeschleim
-
-key.tarmor=Rüstungs-GUI
-key.tcapes.reload=Lade Capes neu
-
-death.one.smeltery=%1$s wurde in eine Proteinmasse verwandelt
-death.two.smeltery=%1$s ist mit der Schmelzerei eins geworden
-death.three.smeltery=%1$s wird ein Meilenstein für unsere Revolution sein!
-death.four.smeltery=%1$s dachte, das Schwimmen in heißen Flüssigkeiten wäre eine gute Idee.
-
-death.attack.Landmine=%1$s wurde von einer Landmine gesprengt.
-death.attack.FireworkExplode=%1$s wurde von einer wilden Feuerwerksexplosion auseinandergerissen.
-
-parttype.wood=Holz
-parttype.stone=Stein
-parttype.iron=Eisen
-parttype.flint=Feuerstein
-parttype.cactus=Kaktus
-parttype.bone=Knochen
-parttype.obsidian=Obsidian
-parttype.slime=Schleim
-parttype.paper=Papier
-parttype.netherrack=Netherstein
-parttype.cobalt=Cobalt
-parttype.ardite=Ardit
-parttype.manyullyn=Manyullyn
-parttype.copper=Kupfer
-parttype.bronze=Bronze
-parttype.alumite=Alumit
-parttype.steel=Stahl
-parttype.blueslime=Schleim
-parttype.thaumium=Thaumium
-parttype.pigiron=Schweineisen
-
-toolpart.ToolRod=%%material-Werkzeuggriff
-toolpart.PickHead=%%material-Spitzhackenkopf
-toolpart.ShovelHead=%%material-Schaufelkopf
-toolpart.AxeHead=%%material-Axtkopf
-toolpart.Binding=%%material-Werkzeugbindung
-toolpart.ToughBind=Robuste %%materialbindung
-toolpart.ToughRod=Robuster %%materialgriff
-toolpart.LargePlate=Große %%materialplatte
-toolpart.SwordBlade=%%material-Schwertklinge
-toolpart.LargeGuard=Breiter %%materialschützer
-toolpart.MediumGuard=%%material-Handschützer
-toolpart.Crossbar=%%material-Querstange
-toolpart.KnifeBlade=%%material-Messerklinge
-toolpart.FullGuard=Voller %%materialschützer
-toolpart.FrypanHead=%%material-Pfanne
-toolpart.SignHead=%%material-Schildbrett
-toolpart.ChiselHead=%%material-Meißelkopf
-toolpart.ScytheHead=%%material-Sensenkopf
-toolpart.LumberHead=%%material-Breitaxtkopf
-toolpart.ExcavatorHead=%%material-Exkavatorkopf
-toolpart.ToolShard=%%materialscherbe
-toolpart.LargeSwordBlade=Große %%materialschwertklinge
-toolpart.HammerHead=%%material-Hammerkopf
-toolpart.Bowstring=%%materialbogensehne
-toolpart.ArrowHead=%%materialpfeilspitze
-toolpart.Fletching=%%materialbefiederung
-
-fluid.iron.molten=Geschmolzenes Eisen
-fluid.gold.molten=Geschmolzenes Gold
-fluid.copper.molten=Geschmolzenes Kupfer
-fluid.tin.molten=Geschmolzenes Zinn
-fluid.aluminum.molten=Geschmolzenes Aluminium
-fluid.cobalt.molten=Geschmolzenes Cobalt
-fluid.ardite.molten=Geschmolzenes Ardit
-fluid.bronze.molten=Geschmolzene Bronze
-fluid.aluminumbrass.molten=Geschmolzenes Duraluminium
-fluid.manyullyn.molten=Geschmolzenes Manyullyn
-fluid.alumite.molten=Geschmolzenes Alumit
-fluid.obsidian.molten=Geschmolzenes Obsidian
-fluid.steel.molten=Geschmolzener Stahl
-fluid.glass.molten=Geschmolzenes Glas
-fluid.stone.seared=Versengtes Gestein
-fluid.emerald.liquid=Verflüssigter Smaragd
-fluid.blood=Blut
-fluid.nickel.molten=Geschmolzenes Nickel
-fluid.lead.molten=Geschmolzenes Blei
-fluid.silver.molten=Geschmolzenes Silber
-fluid.shiny=Geschmolzenes Schimmerndes Metall
-fluid.invar.molten=Geschmolzenes Invar
-fluid.electrum=Geschmolzenes Elektrum
-fluid.ender=Flüssiges Ender
-fluid.slime.blue=Flüssiger Blauschleim
-fluid.pigiron.molten=Schweineisen
-fluid.glue=Klebstoff
-
-tconstruct.achievementPage.name=TConstruct
-achievement.tconstruct.beginner=Lernen zu Basteln
-achievement.tconstruct.pattern=Schablonenarbeiter
-achievement.tconstruct.tinkerer=Bastler
-achievement.tconstruct.proTinkerer=Profibastler
-achievement.tconstruct.smelteryMaker=Schmelzereibauer
-achievement.tconstruct.preparedFight=Bereit zum Kampf
-achievement.tconstruct.enemySlayer=Feindesschlächter
-achievement.tconstruct.dualConvenience=Zweifache Annehmlichkeit
-
-achievement.tconstruct.beginner.desc=Öffne das "Materialien und DU" Handbuch
-achievement.tconstruct.pattern.desc=Baue deine erste Leere Schablone
-achievement.tconstruct.tinkerer.desc=Baue dein erstes Werkzeug
-achievement.tconstruct.proTinkerer.desc=Baue dein erstes Stufe-2-Werkzeug
-achievement.tconstruct.smelteryMaker.desc=Baue eine Schmelzereikomponente
-achievement.tconstruct.preparedFight.desc=Kreiere deine erste Waffe
-achievement.tconstruct.enemySlayer.desc=Schlachte ein Monster ab
-achievement.tconstruct.dualConvenience.desc=Töte ein Tier mit einer Bratpfanne und koche dann dein Fleisch mit ihr
-
-armortype.ExoArmor=Exosuit
-
-knapsack.tooltip=Ein Rucksack, um deine Sachen aufzubewahren
-strangefood1.tooltip=Es riecht schrecklich, aber wenn du
-strangefood2.tooltip=nichts anderes zu essen hast...
-strangefood3.tooltip=Es scheint essbar, aber irgendwie
-strangefood4.tooltip=wirkt es einfach nicht ansprechend.
-strangefood5.tooltip=Elastische Nahrung!
-strangefood6.tooltip=Ein vampirischer Appetithappen
-hambone1.tooltip=Hambone!
-hambone2.tooltip=Nutzbar für Leuchtfeuerbasen
-metalblock.tooltip=Nutzbar für Leuchtfeuerbasen
-craftedsoil1.tooltip=Heilt Untote
-craftedsoil2.tooltip=Schadet Untoten
-fancybrick1.tooltip=Etwas teuer
-fancybrick2.tooltip=Ziemlich teuer
-fancybrick3.tooltip=Sendet Redstone-Signal bis zu
-fancybrick4.tooltip=4 Blöcke weit
-fancybrick5.tooltip=Federnd!
-brick1.tooltip=Etwas teuer
-brick2.tooltip=Ziemlich teuer
-brick3.tooltip=Sendet Redstone-Signal bis zu
-brick4.tooltip=4 Blöcke weit
-brick5.tooltip=Federnd!
-craftedsoil.slab1.tooltip=Heilt Untote
-craftedsoil.slab2.tooltip=Schadet Untoten
-speedblock1.tooltip=Du läufst ziemlich schnell auf ihm
-speedblock2.tooltip=Du läufst ein wenig schneller auf ihm
-speedblock.slab1.tooltip=Du läufst ziemlich schnell auf ihm
-speedblock.slab2.tooltip=Du läufst ein wenig schneller auf ihm
-manual1.tooltip=Von: Skyla
-manual2.tooltip=Von: Skyla
-manual3.tooltip=Von: Thruul M'gon
-searedtank1.tooltip=Enthält
-searedtank2.tooltip=Behält alle Flüssigkeit in ihm, wenn abgebaut
-oreberries1.tooltip=Im Englischen war hier ein Wortspiel
-oreberries2.tooltip=Purer Glanz
-oreberries3.tooltip=Schmeckt metallisch
-oreberries4.tooltip=Tin Man
-oreberries5.tooltip=Weiße Schokolade
-oreberries6.tooltip=Schmeckt wie Creeper
-hearthcanister1.tooltip=Werkmaterial
-hearthcanister2.tooltip=Werkmaterial
-hearthcanister3.tooltip=Teil von Low-Level-Herzkanistern
-hearthcanister4.tooltip=Accessoire
-hearthcanister5.tooltip=Permanente Gesundheitserhöhung
-landmine1.tooltip=Alles
-landmine2.tooltip=Monster, Spieler und Redstone
-landmine3.tooltip=Spieler und Redstone
-landmine4.tooltip=Nur Redstone
-landmine5.tooltip=Interagiert mit:
-goldenhead1.tooltip=Einige sagen, das konsumieren des Kopfes eines
-goldenhead2.tooltip=gefallenen Feindes stärke das Blut
-oreberrybush1.tooltip=Im Englischen war hier ein Wortspiel
-oreberrybush2.tooltip=Purer Glanz
-oreberrybush3.tooltip=Schmeckt metallisch
-oreberrybush4.tooltip=Tin Man
-oreberrybush5.tooltip=Weiße Schokolade
-oreberrybush6.tooltip=Schmeckt wie Creeper
-barricade.tooltip=Stapelt sich bis zu vier mal
-pattern1.tooltip=Materialkosten:
-pattern2.tooltip=Materialkosten:
-potionlauncher.tooltip=Test-Item
-smeltery.controller.tooltip=Gehirn der Schmelzerei
-smeltery.drain.tooltip1=Ist sowohl Input als auch Output
-smeltery.drain.tooltip2=für Flüssigkeiten in der Schmelzerei
-smeltery.brick.tooltip1=Schmelzerei-Strukturblock
-smeltery.brick.tooltip2=(Sicher zum Dekorieren)
-
-gui.smeltery1=Brennstoff
-gui.landmine=Landmine
-gui.partcrafter1=Werkzeugteilbau
-gui.partcrafter2=Werkzeugteilbau
-gui.partcrafter3=Platziere eine Schablone und ein Material auf die linke Seite, um zu beginnen.
-gui.partcrafter4=Basis-Haltbarkeit:
-gui.partcrafter5=Griffmodifikator:
-gui.partcrafter6=Abbaugeschw.:
-gui.partcrafter7=Abbaulevel:
-gui.partcrafter8=Abbaulevel:
-gui.partcrafter9= Herz
-gui.partcrafter10= Herzen
-gui.partcrafter11=Angriff:
-gui.partcrafter.mining1=Stein
-gui.partcrafter.mining2=Eisen
-gui.partcrafter.mining3=Redstone
-gui.partcrafter.mining4=Obsidian
-gui.partcrafter.mining5=Cobalt
-gui.partcrafter.mining6=Manyullyn
-gui.stenciltable1=Zurück
-gui.stenciltable2=Weiter
-gui.toolforge1=Reparieren und Modifizieren
-gui.toolforge2=Der Hauptweg, um deine Werkzeuge zu reparieren und zu ändern. Platziere ein Werkzeug und ein Material auf die linke Seite, um zu beginnen.
-gui.toolstation1=Haltbarkeit:
-gui.toolstation2=Haltbarkeit:
-gui.toolstation3=Angriff:
-gui.toolstation4=Bonus:
-gui.toolstation5=Verlust:
-gui.toolstation6=Spanngeschw.:
-gui.toolstation7=Pfeilgeschw.:
-gui.toolstation8=Gewicht:
-gui.toolstation9=Genauigkeit:
-gui.toolstation10=Basis-Angriff:
-gui.toolstation11=Kurzbogen-Angriff:
-gui.toolstation12=Abbaugeschw.:
-gui.toolstation13=Erntelevel:
-gui.toolstation14=Abbaugeschw.:
-gui.toolstation15=Abbaulevel:
-gui.toolstation16=Nutzungsgeschw.:
-gui.toolstation17=Modifikatoren
-gui.toolstation18=Modifikatoren übrig:
-
-tconstruct.waila.empty=Leer
-tconstruct.waila.liquidtag=Flüssigk.:
-tconstruct.waila.amounttag=Menge:
-tconstruct.waila.invalidstructure=Ungültige Struktur
diff --git a/resources/assets/tinker/lang/en_US.lang b/resources/assets/tinker/lang/en_US.lang
deleted file mode 100644
index bd9a856a..00000000
--- a/resources/assets/tinker/lang/en_US.lang
+++ /dev/null
@@ -1,722 +0,0 @@
-itemGroup.TConstructTools=TConstruct Tools
-itemGroup.TConstructMaterials=TConstruct Materials
-itemGroup.TConstructBlocks=TConstruct Blocks
-
-crafters.ToolStation=Tool Station
-crafters.CraftingStation=Crafting Station
-crafters.ToolForge=Tool Forge
-crafters.PartBuilder=Part Builder
-crafters.PatternShaper=Stencil Table
-crafters.TinkerTable=Tinker Table
-inventory.PatternChest=Pattern Chest
-crafters.Smeltery=Smeltery
-crafters.Frypan=Frying Pan
-inventory.knapsack=Knapsack
-
-ToolStation.Crafter.name=Tool Station
-ToolStation.Parts.name=Part Builder
-ToolStation.PatternChest.name=Pattern Chest
-ToolStation.PatternShaper.name=Stencil Table
-ToolStation.CastingTable.name=Casting Table
-tile.FurnaceSlab.name=Slab Furnace
-
-tile.ToolForge.name=Tool Forge
-tile.Armor.DryingRack.name=Drying Rack
-CraftedSoil.Slime.name=Slimy Mud
-CraftedSoil.Grout.name=Grout
-CraftedSoil.BlueSlime.name=Slimy Mud
-CraftedSoil.GraveyardSoil.name=Graveyard Soil
-CraftedSoil.ConsecratedSoil.name=Consecrated Soil
-tile.CastingChannel.name=Casting Channel
-tile.slime.channel.name=Slime Channel
-tile.slime.pad.name=Bounce Pad
-tile.blood.channel.name=Blood Channel
-
-MetalOre.NetherSlag.name=Netherack Slag
-MetalOre.Cobalt.name=Cobalt Ore
-MetalOre.Ardite.name=Ardite Ore
-MetalOre.Copper.name=Copper Ore
-MetalOre.Tin.name=Tin Ore
-MetalOre.Aluminum.name=Aluminum Ore
-MetalOre.Slag.name=Stone Slag
-
-block.oreberry.iron.name=Iron Oreberry Bush
-block.oreberry.gold.name=Gold Oreberry Bush
-block.oreberry.copper.name=Copper Oreberry Bush
-block.oreberry.tin.name=Tin Oreberry Bush
-block.oreberry.aluminum.name=Aluminum Oreberry Bush
-block.oreberry.essence.name=Essence Berry Bush
-
-block.ore.gravel.iron.name=Iron Gravel Ore
-block.ore.gravel.gold.name=Gold Gravel Ore
-block.ore.gravel.copper.name=Copper Gravel Ore
-block.ore.gravel.tin.name=Tin Gravel Ore
-block.ore.gravel.aluminum.name=Aluminum Gravel Ore
-block.ore.gravel.cobalt.name=Cobalt Gravel Ore
-
-block.brownstone.rough.name=Rough Brownstone
-block.brownstone.rough.road.name=Brownstone Road
-block.brownstone.smooth.name=Brownstone
-block.brownstone.smooth.brick.name=Brownstone Brick
-block.brownstone.smooth.road.name=Brownstone Road
-block.brownstone.smooth.fancy.name=Fancy Brownstone
-block.brownstone.smooth.chiseled.name=Chiseled Brownstone
-
-block.brownstone.rough.slab.name=Rough Brownstone Slab
-block.brownstone.rough.road.slab.name=Brownstone Road Slab
-block.brownstone.smooth.slab.name=Brownstone Slab
-block.brownstone.smooth.brick.slab.name=Brownstone Brick Slab
-block.brownstone.smooth.road.slab.name=Brownstone Road Slab
-block.brownstone.smooth.fancy.slab.name=Fancy Brownstone Slab
-block.brownstone.smooth.chiseled.slab.name=Chiseled Brownstone Slab
-
-block.brick.obsidian.name=Obsidian Brick
-block.brick.sandstone.name=Sandstone Brick
-block.brick.netherrack.name=Netherrack Brick
-block.brick.iron.name=Iron Brick
-block.brick.gold.name=Gold Brick
-block.brick.diamond.name=Diamond Brick
-block.brick.lapis.name=Lapis Brick
-block.brick.stone.refined.name=Polished Stone Brick
-block.brick.redstone.name=Redstone Brick
-block.brick.bone.name=Bone Brick
-block.brick.slime.name=Slime Brick
-block.brick.blueslime.name=Slime Brick
-block.brick.endstone.name=Endstone Brick
-block.brick.obsidian.ingot.name=Obsidian Brick
-
-block.fancybrick.obsidian.name=Fancy Obsidian Brick
-block.fancybrick.sandstone.name=Fancy Sandstone Brick
-block.fancybrick.netherrack.name=Fancy Netherrack Brick
-block.fancybrick.iron.name=Fancy Iron Brick
-block.fancybrick.gold.name=Fancy Gold Brick
-block.fancybrick.diamond.name=Fancy Diamond Brick
-block.fancybrick.lapis.name=Fancy Lapis Brick
-block.fancybrick.stone.refined.name=Fancy Polished Stone Brick
-block.fancybrick.redstone.name=Fancy Redstone Brick
-block.fancybrick.bone.name=Fancy Bone Brick
-block.fancybrick.slime.name=Fancy Slime Brick
-block.fancybrick.blueslime.name=Fancy Slime Brick
-block.fancybrick.endstone.name=Fancy Endstone Brick
-block.fancybrick.obsidian.ingot.name=Fancy Obsidian Brick
-block.fancybrick.stone.road.name=Stone Road
-block.fancybrick.stone.name=Fancy Stone Brick
-
-tile.rail.wood.name=Wooden Rail
-
-tile.cloth.white.slab.name=Wool Slab
-tile.cloth.orange.slab.name=Orange Wool Slab
-tile.cloth.magenta.slab.name=Magenta Wool Slab
-tile.cloth.lightBlue.slab.name=Light Blue Wool Slab
-tile.cloth.yellow.slab.name=Yellow Wool Slab
-tile.cloth.lime.slab.name=Lime Wool Slab
-tile.cloth.pink.slab.name=Pink Wool Slab
-tile.cloth.gray.slab.name=Gray Wool Slab
-tile.cloth.silver.slab.name=Light Gray Wool Slab
-tile.cloth.cyan.slab.name=Cyan Wool Slab
-tile.cloth.purple.slab.name=Purple Wool Slab
-tile.cloth.blue.slab.name=Blue Wool Slab
-tile.cloth.brown.slab.name=Brown Wool Slab
-tile.cloth.green.slab.name=Green Wool Slab
-tile.cloth.red.slab.name=Red Wool Slab
-tile.cloth.black.slab.name=Black Wool Slab
-
-tile.GlueBlock.name=Glue Block
-tile.liquid.glue.name=Glue
-
-item.oreberry.iron.name=Iron Oreberry
-item.oreberry.gold.name=Gold Oreberry
-item.oreberry.copper.name=Copper Oreberry
-item.oreberry.tin.name=Tin Oreberry
-item.oreberry.aluminum.name=Aluminum Oreberry
-item.oreberry.essence.name=Concentrated Essence Berry
-
-item.goldenhead.name=Golden Head
-item.tconstruct.titleicon.name=Spawn
-
-item.InfiTool.Pickaxe.name=Pickaxe
-item.InfiTool.Shovel.name=Shovel
-item.InfiTool.Axe.name=Hatchet
-item.InfiTool.Broadsword.name=Broadsword
-item.InfiTool.Longsword.name=Longsword
-item.InfiTool.Rapier.name=Rapier
-item.InfiTool.FryPan.name=Frying Pan
-item.InfiTool.Battlesign.name=Battlesign
-item.InfiTool.Dagger.name=Dagger
-item.InfiTool.Chisel.name=Chisel
-item.InfiTool.Scythe.name=Scythe
-item.InfiTool.LumberAxe.name=Lumber Axe
-item.InfiTool.Cleaver.name=Cleaver
-item.InfiTool.Excavator.name=Excavator
-item.InfiTool.Hammer.name=Hammer
-item.InfiTool.Battleaxe.name=Battleaxe
-item.InfiTool.Cutlass.name=Cutlass
-item.InfiTool.Shortbow.name=Shortbow
-item.InfiTool.Arrow.name=Arrow
-item.InfiTool.PotionLauncher.name=Potion Launcher
-item.InfiTool.Mattock.name=Mattock
-
-item.tconstruct.Pattern.blank_pattern.name=Blank Pattern
-item.tconstruct.Pattern.rod.name=Tool Rod Pattern
-item.tconstruct.Pattern.pickaxe.name=Pickaxe Head Pattern
-item.tconstruct.Pattern.shovel.name=Shovel Head Pattern
-item.tconstruct.Pattern.axe.name=Axe Head Pattern
-item.tconstruct.Pattern.swordblade.name=Sword Blade Pattern
-item.tconstruct.Pattern.largeguard.name=Wide Guard Pattern
-item.tconstruct.Pattern.mediumguard.name=Hand Guard Pattern
-item.tconstruct.Pattern.crossbar.name=Crossbar Pattern
-item.tconstruct.Pattern.binding.name=Tool Binding Pattern
-item.tconstruct.Pattern.frypan.name=Pan Pattern
-item.tconstruct.Pattern.sign.name=Wide Board Pattern
-item.tconstruct.Pattern.knifeblade.name=Knife Blade Pattern
-item.tconstruct.Pattern.chisel.name=Chisel Head Pattern
-item.tconstruct.Pattern.largerod.name=Tough Rod Pattern
-item.tconstruct.Pattern.toughbinding.name=Tough Binding Pattern
-item.tconstruct.Pattern.largeplate.name=Large Plate Pattern
-item.tconstruct.Pattern.broadaxe.name=Broadaxe Head Pattern
-item.tconstruct.Pattern.scythe.name=Scythe Head Pattern
-item.tconstruct.Pattern.excavator.name=Excavator Head Pattern
-item.tconstruct.Pattern.largeblade.name=Large Blade Pattern
-item.tconstruct.Pattern.hammerhead.name=Hammer Head Pattern
-item.tconstruct.Pattern.fullguard.name=Full Guard Pattern
-item.tconstruct.Pattern.bowstring.name=Bowstring Pattern
-item.tconstruct.Pattern.fletching.name=Fletching Pattern
-item.tconstruct.Pattern.arrowhead.name=Arrowhead Pattern
-
-item.tconstruct.Pattern.blank_cast.name=Blank Cast
-item.tconstruct.MetalPattern.rod.name=Tool Rod Cast
-item.tconstruct.MetalPattern.pickaxe.name=Pickaxe Head Cast
-item.tconstruct.MetalPattern.shovel.name=Shovel Head Cast
-item.tconstruct.MetalPattern.axe.name=Axe Head Cast
-item.tconstruct.MetalPattern.swordblade.name=Sword Blade Cast
-item.tconstruct.MetalPattern.largeguard.name=Wide Guard Cast
-item.tconstruct.MetalPattern.mediumguard.name=Hand Guard Cast
-item.tconstruct.MetalPattern.crossbar.name=Crossbar Cast
-item.tconstruct.MetalPattern.binding.name=Tool Binding Cast
-item.tconstruct.MetalPattern.frypan.name=Pan Cast
-item.tconstruct.MetalPattern.sign.name=Wide Board Cast
-item.tconstruct.MetalPattern.knifeblade.name=Knife Blade Cast
-item.tconstruct.MetalPattern.chisel.name=Chisel Head Cast
-item.tconstruct.MetalPattern.largerod.name=Tough Rod Cast
-item.tconstruct.MetalPattern.toughbinding.name=Tough Binding Cast
-item.tconstruct.MetalPattern.largeplate.name=Large Plate Cast
-item.tconstruct.MetalPattern.broadaxe.name=Broadaxe Head Cast
-item.tconstruct.MetalPattern.scythe.name=Scythe Head Cast
-item.tconstruct.MetalPattern.excavator.name=Excavator Head Cast
-item.tconstruct.MetalPattern.largeblade.name=Large Blade Cast
-item.tconstruct.MetalPattern.hammerhead.name=Hammer Head Cast
-item.tconstruct.MetalPattern.fullguard.name=Full Guard Cast
-item.tconstruct.MetalPattern.bowstring.name=Bowstring Cast
-item.tconstruct.MetalPattern.fletching.name=Fletching Cast
-item.tconstruct.MetalPattern.arrowhead.name=Arrowhead Cast
-item.tconstruct.MetalPattern.ingot.name=Ingot Cast
-item.tconstruct.MetalPattern.gem.name=Gem Cast
-
-item.tconstruct.Materials.PaperStack.name=Paper Stack
-item.tconstruct.Materials.SlimeCrystal.name=Slime Crystal
-item.tconstruct.Materials.SearedBrick.name=Seared Brick
-item.tconstruct.Materials.CobaltIngot.name=Cobalt Ingot
-item.tconstruct.Materials.ArditeIngot.name=Ardite Ingot
-item.tconstruct.Materials.ManyullynIngot.name=Manyullyn Ingot
-item.tconstruct.Materials.Mossball.name=Ball of Moss
-item.tconstruct.Materials.LavaCrystal.name=Lava Crystal
-item.tconstruct.Materials.NecroticBone.name=Necrotic Bone
-item.tconstruct.Materials.CopperIngot.name=Copper Ingot
-item.tconstruct.Materials.TinIngot.name=Tin Ingot
-item.tconstruct.Materials.AluminumIngot.name=Aluminum Ingot
-item.tconstruct.Materials.RawAluminum.name=Raw Aluminum
-item.tconstruct.Materials.BronzeIngot.name=Bronze Ingot
-item.tconstruct.Materials.AluBrassIngot.name=Aluminum Brass Ingot
-item.tconstruct.Materials.AlumiteIngot.name=Alumite Ingot
-item.tconstruct.Materials.SteelIngot.name=Steel Ingot
-item.tconstruct.Materials.BlueSlimeCrystal.name=Slime Crystal
-item.tconstruct.Materials.ObsidianIngot.name=Obsidian Ingot
-item.tconstruct.Materials.IronNugget.name=Iron Nugget
-item.tconstruct.Materials.CopperNugget.name=Copper Nugget
-item.tconstruct.Materials.TinNugget.name=Tin Nugget
-item.tconstruct.Materials.AluminumNugget.name=Aluminum Nugget
-item.tconstruct.Materials.EssenceCrystal.name=Fake Essence Crystal
-item.tconstruct.Materials.AluBrassNugget.name=Aluminum Brass Nugget
-item.tconstruct.Materials.SilkyCloth.name=Silky Cloth
-item.tconstruct.Materials.SilkyJewel.name=Silky Jewel
-item.tconstruct.Materials.ObsidianNugget.name=Obsidian Nugget
-item.tconstruct.Materials.CobaltNugget.name=Cobalt Nugget
-item.tconstruct.Materials.ArditeNugget.name=Ardite Nugget
-item.tconstruct.Materials.ManyullynNugget.name=Manyullyn Nugget
-item.tconstruct.Materials.BronzeNugget.name=Bronze Nugget
-item.tconstruct.Materials.AlumiteNugget.name=Alumite Nugget
-item.tconstruct.Materials.SteelNugget.name=Steel Nugget
-item.tconstruct.Materials.PigIronIngot.name=Pig Iron Ingot
-item.tconstruct.Materials.PigIronNugget.name=Pig Iron Platter
-item.tconstruct.Materials.GlueBall.name=Ball of Glue
-
-item.tconstruct.ArmorPattern.helmet.name=Helmet Cast
-item.tconstruct.ArmorPattern.chestplate.name=Chestplate Cast
-item.tconstruct.ArmorPattern.leggings.name=Leggings Cast
-item.tconstruct.ArmorPattern.boots.name=Boots Cast
-
-item.tconstruct.helmetWood.name=Wooden Helmet
-item.tconstruct.chestplateWood.name=Wooden Chestplate
-item.tconstruct.leggingsWood.name=Wooden Leggings
-item.tconstruct.bootsWood.name=Wooden Boots
-
-item.tconstruct.exoGoggles.name=Exo-Goggles
-item.tconstruct.exoChest.name=Exo-Chestpiece
-item.tconstruct.exoPants.name=Exo-Legs
-item.tconstruct.exoShoes.name=Exo-Shoes
-
-item.tconstruct.jerky.beef.name=Beef Jerky
-item.tconstruct.jerky.pig.name=Bacon Jerky
-item.tconstruct.jerky.chicken.name=Chicken Jerky
-item.tconstruct.jerky.sheep.name=Mutton Jerky
-item.tconstruct.jerky.fish.name=Fish Jerky
-item.tconstruct.jerky.zombie.name=Monster Jerky
-item.tconstruct.jerky.blueslime.name=Gelatinous Slime Drop
-item.tconstruct.jerky.blood.name=Coagulated Blood Drop
-
-Smeltery.Controller.name=Smeltery Controller
-Smeltery.Drain.name=Smeltery Drain
-Smeltery.Brick.name=Seared Bricks
-Smeltery.Stone.name=Seared Stone
-Smeltery.Cobblestone.name=Seared Cobblestone
-Smeltery.Paver.name=Seared Paver
-Smeltery.Brick.Cracked.name=Cracked Seared Bricks
-Smeltery.Road.name=Seared Road
-Smeltery.Brick.Fancy.name=Fancy Seared Bricks
-Smeltery.Brick.Square.name=Chiseled Seared Bricks
-Smeltery.Brick.Creeper.name=Chiseled Seared Bricks
-Smeltery.Channel.name=Casting Channel
-
-LavaTank.Tank.name=Seared Tank
-LavaTank.Gague.name=Seared Glass
-LavaTank.Window.name=Seared Window
-
-tile.landmine.name=Landmine
-
-tile.trap.punji.name=Punji Stick
-tile.trap.barricade.oak.name=Oak Barricade
-tile.trap.barricade.spruce.name=Spruce Barricade
-tile.trap.barricade.birch.name=Birch Barricade
-tile.trap.barricade.jungle.name=Jungle Barricade
-tile.explosive.slime.name=SDX
-
-StorageMetals.Cobalt.name=Block of Cobalt
-StorageMetals.Ardite.name=Block of Ardite
-StorageMetals.Manyullyn.name=Block of Manyullyn
-StorageMetals.Copper.name=Block of Copper
-StorageMetals.Bronze.name=Block of Bronze
-StorageMetals.Tin.name=Block of Tin
-StorageMetals.Aluminum.name=Block of Aluminum
-StorageMetals.AlBrass.name=Block of Aluminum Brass
-StorageMetals.Alumite.name=Block of Alumite
-StorageMetals.Steel.name=Block of Steel
-StorageMetals.Ender.name=Block of Solid Ender
-
-tile.decoration.stonetorch.name=Torch
-tile.decoration.stoneladder.name=Ladder
-tile.CraftingStation.name=Crafting Station
-
-block.glass.pure.name=Clear Glass
-block.glass.soul.name=Soul Glass
-block.glass.soul.pure.name=Clear Soul Glass
-
-block.glass.pure.pane.name=Clear Glass Pane
-block.glass.soul.pane.name=Soul Pane
-block.glass.soul.pane.pure.name=Clear Soul Pane
-
-block.stainedglass.white.name=White Stained Glass
-block.stainedglass.orange.name=Orange Stained Glass
-block.stainedglass.magenta.name=Magenta Stained Glass
-block.stainedglass.lightblue.name=Light Blue Stained Glass
-block.stainedglass.yellow.name=Yellow Stained Glass
-block.stainedglass.lime.name=Lime Stained Glass
-block.stainedglass.pink.name=Pink Stained Glass
-block.stainedglass.gray.name=Gray Stained Glass
-block.stainedglass.lightgray.name=Light Gray Stained Glass
-block.stainedglass.cyan.name=Cyan Stained Glass
-block.stainedglass.purple.name=Purple Stained Glass
-block.stainedglass.blue.name=Blue Stained Glass
-block.stainedglass.brown.name=Brown Stained Glass
-block.stainedglass.green.name=Green Stained Glass
-block.stainedglass.red.name=Red Stained Glass
-block.stainedglass.black.name=Black Stained Glass
-
-block.stainedglass.white.pane.name=White Stained Pane
-block.stainedglass.orange.pane.name=Orange Stained Pane
-block.stainedglass.magenta.pane.name=Magenta Stained Pane
-block.stainedglass.lightblue.pane.name=Light Blue Stained Pane
-block.stainedglass.yellow.pane.name=Yellow Stained Pane
-block.stainedglass.lime.pane.name=Lime Stained Pane
-block.stainedglass.pink.pane.name=Pink Stained Pane
-block.stainedglass.gray.pane.name=Gray Stained Pane
-block.stainedglass.lightgray.pane.name=Light Gray Stained Pane
-block.stainedglass.cyan.pane.name=Cyan Stained Pane
-block.stainedglass.purple.pane.name=Purple Stained Pane
-block.stainedglass.blue.pane.name=Blue Stained Pane
-block.stainedglass.brown.pane.name=Brown Stained Pane
-block.stainedglass.green.pane.name=Green Stained Pane
-block.stainedglass.red.pane.name=Red Stained Pane
-block.stainedglass.black.pane.name=Black Stained Pane
-
-block.searedstone.slab.brick.name=Seared Brick Slab
-block.searedstone.slab.stone.name=Seared Stone Slab
-block.searedstone.slab.cobble.name=Seared Cobblestone Slab
-block.searedstone.slab.paver.name=Seared Paver Slab
-block.searedstone.slab.road.name=Seared Road Slab
-block.searedstone.slab.fancy.name=Fancy Seared Slab
-block.searedstone.slab.square.name=Chiseled Seared Slab
-block.searedstone.slab.creeper.name=Chiseled Seared Slab
-
-block.soil.slab.dirt.name=Dirt Slab
-block.soil.slab.mycelium.name=Full Mycelium Slab
-block.soil.slab.slime.name=Slimy Mud Slab
-block.soil.slab.grout.name=Grout Slab
-block.soil.slab.blueslime.name=Slimy Mud Slab
-block.soil.slab.graveyardsoil.name=Graveyard Soil Slab
-block.soil.slab.consecratedsoil.name=Consecrated Soil Slab
-
-block.slime.soil.blue.name=Blue Slimedirt
-block.slime.leaves.blue.name=Slimy Leaves
-block.slime.sapling.bluegreen.name=Slimy Sapling
-block.slime.grass.blue.name=Slimy Grass
-block.slime.grass.dirt.name=Slimy Grass
-block.slime.tallgrass.name=Slimy Grass
-block.slime.congealed.blue.name=Congealed Blue Slime
-block.slime.congealed.green.name=Congealed Green Slime
-
-item.tconstruct.storage.knapsack.name=Knapsack
-item.tconstruct.blankpattern.pattern.name=Blank Pattern
-item.tconstruct.blankpattern.cast.name=Blank Cast
-
-item.tconstruct.Bowstring.string.name=Bowstring
-item.tconstruct.Bowstring.enchantedfabric.name=Enchanted Bowstring
-item.tconstruct.Bowstring.flamestring.name=Fiery Bowstring
-item.tconstruct.Fletching.feather.name=Feather Fletching
-item.tconstruct.Fletching.leaf.name=Leaf Fletching
-item.tconstruct.Fletching.slime.name=Slime Fletching
-item.tconstruct.Fletching.blueslime.name=Slime Fletching
-
-item.tconstruct.manual.beginner.name=Materials and You
-item.tconstruct.manual.toolstation.name=Materials and You
-item.tconstruct.manual.smeltery.name=Mighty Smelting
-item.tconstruct.manual.diary.name=Diary of a Tinker
-
-item.tconstruct.bucket.Iron.name=Molten Iron Bucket
-item.tconstruct.bucket.Gold.name=Molten Gold Bucket
-item.tconstruct.bucket.Copper.name=Molten Copper Bucket
-item.tconstruct.bucket.Tin.name=Molten Tin Bucket
-item.tconstruct.bucket.Aluminum.name=Molten Aluminum Bucket
-item.tconstruct.bucket.Cobalt.name=Molten Cobalt Bucket
-item.tconstruct.bucket.Ardite.name=Molten Ardite Bucket
-item.tconstruct.bucket.Bronze.name=Molten Bronze Bucket
-item.tconstruct.bucket.AluBrass.name=Molten Aluminum Brass Bucket
-item.tconstruct.bucket.Manyullyn.name=Molten Manyullyn Bucket
-item.tconstruct.bucket.Alumite.name=Molten Alumite Bucket
-item.tconstruct.bucket.Obsidian.name=Molten Obsidian Bucket
-item.tconstruct.bucket.Steel.name=Molten Steel Bucket
-item.tconstruct.bucket.Glass.name=Molten Glass Bucket
-item.tconstruct.bucket.Stone.name=Seared Stone Bucket
-item.tconstruct.bucket.Villager.name=Liquified Emerald Bucket
-item.tconstruct.bucket.Cow.name=Bucket o' Blood
-item.tconstruct.bucket.Nickel.name=Molten Nickel Bucket
-item.tconstruct.bucket.Lead.name=Molten Lead Bucket
-item.tconstruct.bucket.Silver.name=Molten Silver Bucket
-item.tconstruct.bucket.Shiny.name=Molten Shiny Bucket
-item.tconstruct.bucket.Invar.name=Molten Invar Bucket
-item.tconstruct.bucket.Electrum.name=Molten Electrum Bucket
-item.tconstruct.bucket.Ender.name=Liquified Ender Bucket
-item.tconstruct.bucket.Slime.name=Liquid Slime Bucket
-item.tconstruct.bucket.PigIron.name=Molten Pig Iron Bucket
-item.tconstruct.bucket.Glue.name=Sticky Glue Bucket
-
-item.tconstruct.bowstring.string.name=Bowstring
-item.tconstruct.bowstring.enchantedfabriI donc.name=Enchanted Bowstring
-
-tile.metal.molten.iron.name=Molten Iron
-tile.metal.molten.gold.name=Molten Gold
-tile.metal.molten.copper.name=Molten Copper
-tile.metal.molten.tin.name=Liquid Tin
-tile.metal.molten.aluminum.name=Molten Aluminum
-tile.metal.molten.cobalt.name=Molten Cobalt
-tile.metal.molten.ardite.name=Molten Ardite
-tile.metal.molten.bronze.name=Molten Bronze
-tile.metal.molten.alubrass.name=Molten Aluminum Brass
-tile.metal.molten.manyullyn.name=Molten Manyullyn
-tile.metal.molten.alumite.name=Molten Alumite
-tile.metal.molten.obsidian.name=Molten Obsidian
-tile.metal.molten.steel.name=Molten Steel
-tile.metal.molten.glass.name=Molten Glass
-tile.molten.stone.name=Seared Stone
-tile.molten.emerald.name=Liquified Emerald
-tile.liquid.blood.name=Blood
-tile.metal.molten.nickel.name=Molten Nickel
-tile.metal.molten.silver.name=Molten Silver
-tile.metal.molten.lead.name=Molten Lead
-tile.metal.molten.shiny.name=Molten Shiny
-tile.metal.molten.invar.name=Molten Invar
-tile.metal.molten.electrum.name=Molten Electrum
-tile.fluid.ender.name=Liquified Ender
-tile.liquid.slime.name=Liquified Slime
-
-LiquidMetal.Iron.name=Molten Iron
-LiquidMetal.Gold.name=Molten Gold
-LiquidMetal.Copper.name=Molten Copper
-LiquidMetal.Tin.name=Liquid Tin
-LiquidMetal.Aluminum.name=Molten Aluminum
-LiquidMetal.Cobalt.name=Molten Cobalt
-LiquidMetal.Ardite.name=Molten Ardite
-LiquidMetal.Bronze.name=Molten Bronze
-LiquidMetal.AluBrass.name=Molten Aluminum Brass
-LiquidMetal.Manyullyn.name=Molten Manyullyn
-LiquidMetal.Alumite.name=Molten Alumite
-LiquidMetal.Obsidian.name=Molten Obsidian
-LiquidMetal.Steel.name=Molten Steel
-LiquidMetal.Glass.name=Molten Glass
-LiquidMetal.Stone.name=Seared Stone
-LiquidMetal.Villager.name=Liquified Emerald
-LiquidMetal.Cow.name=Blood
-LiquidMetal.Nickel.name=Molten Nickel
-LiquidMetal.Silver.name=Molten Silver
-LiquidMetal.Lead.name=Molten Lead
-LiquidMetal.Shiny.name=Molten Shiny
-LiquidMetal.Invar.name=Molten Invar
-LiquidMetal.Electrum.name=Molten Electrum
-LiquidMetal.Ender.name=Liquified Ender
-
-item.food.apple.diamond.name=Jeweled Apple
-item.tconstruct.strangefood.edibleslime.name=Gelatinous Slime
-item.tconstruct.strangefood.edibleblood.name=Coagulated Blood
-item.tconstruct.canister.empty.name=Empty Canister
-item.tconstruct.canister.miniheart.red.name=Miniature Red Heart
-item.tconstruct.canister.heart.name=Heart Canister
-item.tconstruct.glove.name=Dirtmover Gloves
-
-SearedBlock.Table.name=Casting Table
-SearedBlock.Faucet.name=Seared Faucet
-SearedBlock.Basin.name=Casting Basin
-
-entity.TConstruct.EdibleSlime.name=Blue Slime
-entity.TConstruct.KingSlime.name=King Slime
-entity.TConstruct.Gardeslime.name=Gardeslime
-entity.TConstruct.MiniGardy.name=Gardeslime
-
-key.tarmor=Armor Gui
-key.tcapes.reload=Reload Capes
-
-death.one.smeltery=%1$s transformed into Soylent Green
-death.two.smeltery=%1$s has fused with the Smeltery
-death.three.smeltery=%1$s will be a stepping stone for our revolution!
-death.four.smeltery=%1$s thought swimming in hot liquids was a good idea
-
-death.attack.Landmine=%1$s watched their legs get blown off by a landmine
-death.attack.FireworkExplode=%1$s was torn apart by a wild firework explosion
-
-parttype.wood=Wooden
-parttype.stone=Stone
-parttype.iron=Iron
-parttype.flint=Flint
-parttype.cactus=Cactus
-parttype.bone=Bone
-parttype.obsidian=Obsidian
-parttype.slime=Slime
-parttype.paper=Paper
-parttype.netherrack=Netherrack
-parttype.cobalt=Cobalt
-parttype.ardite=Ardite
-parttype.manyullyn=Manyullyn
-parttype.copper=Copper
-parttype.bronze=Bronze
-parttype.alumite=Alumite
-parttype.steel=Steel
-parttype.blueslime=Slime
-parttype.thaumium=Thaumium
-parttype.pigiron=Pig Iron
-
-toolpart.ToolRod=%%material Tool Rod
-toolpart.PickHead=%%material Pickaxe Head
-toolpart.ShovelHead=%%material Shovel Head
-toolpart.AxeHead=%%material Axe Head
-toolpart.Binding=%%material Binding
-toolpart.ToughBind=%%material Tough Binding
-toolpart.ToughRod=%%material Tough Rod
-toolpart.LargePlate=%%material Large Plate
-toolpart.SwordBlade=%%material Sword Blade
-toolpart.LargeGuard=%%material Wide Guard
-toolpart.MediumGuard=%%material Hand Guard
-toolpart.Crossbar=%%material Crossbar
-toolpart.KnifeBlade=%%material Knife Blade
-toolpart.FullGuard=%%material Full Guard
-toolpart.FrypanHead=%%material Pan
-toolpart.SignHead=%%material Sign Head
-toolpart.ChiselHead=%%material Chisel Head
-toolpart.ScytheHead=%%material Scythe Head
-toolpart.LumberHead=%%material Broad Axe Head
-toolpart.ExcavatorHead=%%material Excavator Head
-toolpart.ToolShard=%%material Shard
-toolpart.LargeSwordBlade=%%material Large Sword Blade
-toolpart.HammerHead=%%material Hammer Head
-toolpart.Bowstring=%%material Bowstring
-toolpart.ArrowHead=%%material Arrowhead
-toolpart.Fletching=%%material Fletching
-
-fluid.iron.molten=Molten Iron
-fluid.gold.molten=Molten Gold
-fluid.copper.molten=Molten Copper
-fluid.tin.molten=Molten Tin
-fluid.aluminum.molten=Molten Aluminum
-fluid.cobalt.molten=Molten Cobalt
-fluid.ardite.molten=Molten Ardite
-fluid.bronze.molten=Molten Bronze
-fluid.aluminumbrass.molten=Molten Aluminum Brass
-fluid.manyullyn.molten=Molten Manyullyn
-fluid.alumite.molten=Molten Alumite
-fluid.obsidian.molten=Molten Obsidian
-fluid.steel.molten=Molten Steel
-fluid.glass.molten=Molten Glass
-fluid.stone.seared=Seared Stone
-fluid.emerald.liquid=Liquified Emerald
-fluid.blood=Blood
-fluid.nickel.molten=Molten Nickel
-fluid.lead.molten=Molten Lead
-fluid.silver.molten=Molten Silver
-fluid.shiny.molten=Molten Shiny
-fluid.invar.molten=Molten Invar
-fluid.electrum.molten=Molten Electrum
-fluid.ender=Liquid Ender
-fluid.slime.blue=Liquid Blueslime
-fluid.pigiron.molten=Pig Iron
-fluid.glue=Glue
-
-tconstruct.achievementPage.name=TConstruct
-achievement.tconstruct.beginner=Learning to Tinker
-achievement.tconstruct.pattern=Stencil Worker
-achievement.tconstruct.tinkerer=Tinkerer
-achievement.tconstruct.proTinkerer=Pro Tinkerer
-achievement.tconstruct.smelteryMaker=Smeltery Creator
-achievement.tconstruct.preparedFight=Prepared to Fight
-achievement.tconstruct.enemySlayer=Enemy Slayer
-achievement.tconstruct.dualConvenience=Dual Convenience
-
-achievement.tconstruct.beginner.desc=Open the "Materials and You" manual
-achievement.tconstruct.pattern.desc=Craft your first blank pattern
-achievement.tconstruct.tinkerer.desc=Create your first tool
-achievement.tconstruct.proTinkerer.desc=Craft your first tier 2 tool
-achievement.tconstruct.smelteryMaker.desc=Craft a smeltery component
-achievement.tconstruct.preparedFight.desc=Create your first weapon
-achievement.tconstruct.enemySlayer.desc=Slay a mob
-achievement.tconstruct.dualConvenience.desc=Kill a mob with a frying pan, and then cook their meat in it
-
-armortype.ExoArmor=Exosuit
-
-knapsack.tooltip=A Knapsack to hold your things.
-strangefood1.tooltip=It smells terrible, but if you
-strangefood2.tooltip=have nothing else to eat...
-strangefood3.tooltip=It seems edible, but somehow
-strangefood4.tooltip=it's just not appealing.
-strangefood5.tooltip=Stretchy food!
-strangefood6.tooltip=One vampiric appetizer
-hambone1.tooltip=Hambone!
-hambone2.tooltip=Usable for Beacon bases
-metalblock.tooltip=Usable for Beacon bases
-craftedsoil1.tooltip=Heals Undead
-craftedsoil2.tooltip=Harmful to Undead
-fancybrick1.tooltip=Somewhat expensive
-fancybrick2.tooltip=Quite expensive
-fancybrick3.tooltip=Emits Redstone signal up to
-fancybrick4.tooltip=4 blocks away
-fancybrick5.tooltip=Bouncy!
-brick1.tooltip=Somewhat expensive
-brick2.tooltip=Quite expensive
-brick3.tooltip=Emits Redstone signal up to
-brick4.tooltip=4 blocks away
-brick5.tooltip=Bouncy!
-craftedsoil.slab1.tooltip=Heals Undead
-craftedsoil.slab2.tooltip=Harmful to Undead
-speedblock1.tooltip=You run pretty fast on it
-speedblock2.tooltip=You run a bit faster on it
-speedblock.slab1.tooltip=You run pretty fast on it
-speedblock.slab2.tooltip=You run a bit faster on it
-manual1.tooltip=By: Skyla
-manual2.tooltip=By: Skyla
-manual3.tooltip=By: Thruul M'gon
-searedtank1.tooltip=Contains
-searedtank2.tooltip=Keeps any fluids it has when harvested
-oreberries1.tooltip=Sweet Irony
-oreberries2.tooltip=Pure Luster
-oreberries3.tooltip=Tastes like metal
-oreberries4.tooltip=Tin Man
-oreberries5.tooltip=White Chocolate
-oreberries6.tooltip=Tastes like Creeper
-hearthcanister1.tooltip=Crafting Item
-hearthcanister2.tooltip=Crafting Item
-hearthcanister3.tooltip=Part of low-level Heart Canisters
-hearthcanister4.tooltip=Accessory
-hearthcanister5.tooltip=Permanent health increase
-landmine1.tooltip=everything
-landmine2.tooltip=mobs, players and redstone
-landmine3.tooltip=players and redstone
-landmine4.tooltip=redstone only
-landmine5.tooltip=Interacts with:
-goldenhead1.tooltip=Some say consuming the head of a
-goldenhead2.tooltip=fallen foe strengthens the blood
-oreberrybush1.tooltip=Sweet Irony
-oreberrybush2.tooltip=Pure Luster
-oreberrybush3.tooltip=Tastes like metal
-oreberrybush4.tooltip=Tin Man
-oreberrybush5.tooltip=White Chocolate
-oreberrybush6.tooltip=Tastes like Creeper
-barricade.tooltip=Stacks up to 4 times
-pattern1.tooltip=Material Cost:
-pattern2.tooltip=Material Cost:
-potionlauncher.tooltip=Test Item
-smeltery.controller.tooltip=Brain of the Smeltery
-smeltery.drain.tooltip1=Works both as input and output for
-smeltery.drain.tooltip2=fluids in the Smeltery
-smeltery.brick.tooltip1=Smeltery structure block
-smeltery.brick.tooltip2=(Safe for decoration)
-
-gui.smeltery1=Fuel
-gui.landmine=Landmine
-gui.partcrafter1=Tool Part Crafting
-gui.partcrafter2=Tool Part Building
-gui.partcrafter3=Place a pattern and a material on the left to get started.
-gui.partcrafter4=Base Durability:
-gui.partcrafter5=Handle Modifier:
-gui.partcrafter6=Mining Speed:
-gui.partcrafter7=Mining Level:
-gui.partcrafter8= Heart
-gui.partcrafter9= Hearts
-gui.partcrafter10=Attack:
-gui.partcrafter.mining1=Stone
-gui.partcrafter.mining2=Iron
-gui.partcrafter.mining3=Redstone
-gui.partcrafter.mining4=Obsidian
-gui.partcrafter.mining5=Cobalt
-gui.partcrafter.mining6=Manyullyn
-gui.stenciltable1=Next Pattern
-gui.stenciltable2=Previous Pattern
-gui.toolforge1=Repair and Modification
-gui.toolforge2=The main way to repair or change your tools. Place a tool and a material on the left to get started.
-gui.toolstation1=Durability:
-gui.toolstation2=Durability:
-gui.toolstation3=Attack:
-gui.toolstation4=Bonus:
-gui.toolstation5=Loss:
-gui.toolstation6=Draw Speed:
-gui.toolstation7=Arrow Speed:
-gui.toolstation8=Weight:
-gui.toolstation9=Accuracy:
-gui.toolstation10=Base Attack:
-gui.toolstation11=Shortbow Attack:
-gui.toolstation12=Mining Speeds:
-gui.toolstation13=Harvest Levels:
-gui.toolstation14=Mining Speed:
-gui.toolstation15=Mining Level:
-gui.toolstation16=Usage Speed:
-gui.toolstation17=Modifiers
-gui.toolstation18=Modifiers remaining:
-
-tconstruct.waila.empty=Empty
-tconstruct.waila.liquidtag=Liquid:
-tconstruct.waila.amounttag=Amount:
-tconstruct.waila.invalidstructure=Invalid Structure
diff --git a/resources/assets/tinker/lang/it_IT.lang b/resources/assets/tinker/lang/it_IT.lang
deleted file mode 100644
index a5f76264..00000000
--- a/resources/assets/tinker/lang/it_IT.lang
+++ /dev/null
@@ -1,723 +0,0 @@
-itemGroup.TConstructTools=TConstruct Attrezzi
-itemGroup.TConstructMaterials=TConstruct Materiali
-itemGroup.TConstructBlocks=TConstruct Blocchi
-
-crafters.ToolStation=T.d. Attrezzi
-crafters.CraftingStation=Crafting Station
-crafters.ToolForge=Forgia
-crafters.PartBuilder=Costruttore di Parti
-crafters.PatternShaper=Tavolo dei Modelli
-crafters.TinkerTable=Tavolo dell'Armeggiatore
-inventory.PatternChest=Cassa dei Modelli
-crafters.Smeltery=Fonderia
-crafters.Frypan=Padella
-inventory.knapsack=Zaino
-
-ToolStation.Crafter.name=Tavolo degli Attrezzi
-ToolStation.Parts.name=Costruttore di Parti
-ToolStation.PatternChest.name=Cassa dei Modelli
-ToolStation.PatternShaper.name=Tavolo dei Modelli
-ToolStation.CastingTable.name=Tavolo della Fonderia
-tile.FurnaceSlab.name=Lastra di Fornace
-
-tile.ToolForge.name=Forgia degli Attrezzi
-tile.Armor.DryingRack.name=Stendino
-CraftedSoil.Slime.name=Fango Viscido
-CraftedSoil.Grout.name=Malta
-CraftedSoil.BlueSlime.name=Fango Viscido
-CraftedSoil.GraveyardSoil.name=Terra del Cimitero
-CraftedSoil.ConsecratedSoil.name=Terra Consacrata
-tile.CastingChannel.name=Canale della Fonderia
-tile.slime.channel.name=Corrente di Slime
-tile.slime.pad.name=Blocco Rimbalzante
-tile.blood.channel.name=Corrente di Sangue
-
-MetalOre.NetherSlag.name=Scorie di Netherrack
-MetalOre.Cobalt.name=Cobalto Grezzo
-MetalOre.Ardite.name=Ardite Grezzo
-MetalOre.Copper.name=Rame Grezzo
-MetalOre.Tin.name=Stagno Grezzo
-MetalOre.Aluminum.name=Alluminio Grezzo
-MetalOre.Slag.name=Scorie di Pietra
-
-block.oreberry.iron.name=Cespuglio di Baccagrezza di Ferro
-block.oreberry.gold.name=Cespuglio di Baccagrezza d'Oro
-block.oreberry.copper.name=Cespuglio di Baccagrezza di Rame
-block.oreberry.tin.name=Cespuglio di Baccagrezza di Stagno
-block.oreberry.aluminum.name=Cespuglio di Baccagrezza di Alluminio
-block.oreberry.essence.name=Cespuglio di Bacca di Essenza
-
-block.ore.gravel.iron.name=Ferro Ghiaioso
-block.ore.gravel.gold.name=Oro Ghiaioso
-block.ore.gravel.copper.name=Rame Ghiaioso
-block.ore.gravel.tin.name=Stagno Ghiaioso
-block.ore.gravel.aluminum.name=Alluminio Ghiaioso
-block.ore.gravel.cobalt.name=Cobalto Ghiaioso
-
-block.brownstone.rough.name=Brownstone Ruvida
-block.brownstone.rough.road.name=Strada di Brownstone
-block.brownstone.smooth.name=Brownstone
-block.brownstone.smooth.brick.name=Mattoni di Brownstone
-block.brownstone.smooth.road.name=Strada di Brownstone
-block.brownstone.smooth.fancy.name=Brownstone Decorativo
-block.brownstone.smooth.chiseled.name=Brownstone Cesellato
-
-block.brownstone.rough.slab.name=Lastra di Brownstone Ruvida
-block.brownstone.rough.road.slab.name=Lastra di Strada di Brownstone
-block.brownstone.smooth.slab.name=Lastra di Brownstone
-block.brownstone.smooth.brick.slab.name=Lastra di Mattoni di Brownstone
-block.brownstone.smooth.road.slab.name=Lastra di Strada di Brownstone
-block.brownstone.smooth.fancy.slab.name=Lastra di Brownstone Decorativo
-block.brownstone.smooth.chiseled.slab.name=Lastra di Brownstone Cesellato
-
-block.brick.obsidian.name=Mattoni di Ossidiana
-block.brick.sandstone.name=Mattoni d'Arenaria
-block.brick.netherrack.name=Mattoni di Netherrack
-block.brick.iron.name=Mattoni di Ferro
-block.brick.gold.name=Mattoni d'Oro
-block.brick.diamond.name=Mattoni di Diamante
-block.brick.lapis.name=Mattoni di Lapis
-block.brick.stone.refined.name=Mattoni di Pietra Fine
-block.brick.redstone.name=Mattoni di Pietrarossa
-block.brick.bone.name=Mattoni d'Osso
-block.brick.slime.name=Mattoni Appiccicosi
-block.brick.blueslime.name=Mattoni Appiccicosi
-block.brick.endstone.name=Mattoni di Pietra dell'End
-block.brick.obsidian.ingot.name=Mattoni di Ossidiana
-
-block.fancybrick.obsidian.name=Mattoni di Ossidiana Decorativi
-block.fancybrick.sandstone.name=Mattoni d'Arenaria Decorativi
-block.fancybrick.netherrack.name=Mattoni di Netherrack Decorativi
-block.fancybrick.iron.name=Mattoni di Ferro Decorativi
-block.fancybrick.gold.name=Mattoni d'Oro Decorativi
-block.fancybrick.diamond.name=Mattoni di Diamante Decorativi
-block.fancybrick.lapis.name=Mattoni di Lapis Decorativi
-block.fancybrick.stone.refined.name=Mattoni di Pietra Fine Decorativi
-block.fancybrick.redstone.name=Mattoni di Pietrarossa Decorativi
-block.fancybrick.bone.name=Mattoni d'Osso Decorativi
-block.fancybrick.slime.name=Mattoni Appiccicosi Decorativi
-block.fancybrick.blueslime.name=Mattoni Appiccicosi Decorativi
-block.fancybrick.endstone.name=Mattoni di Pietra dell'End Decorativi
-block.fancybrick.obsidian.ingot.name=Mattoni di Ossidiana Decorativi
-block.fancybrick.stone.road.name=Strada di Pietra
-block.fancybrick.stone.name=Mattoni di Pietra Decorativi
-
-tile.rail.wood.name=Rotaia di Legno
-
-tile.cloth.white.slab.name=Lastra di Lana
-tile.cloth.orange.slab.name=Lastra di Lana Arancione
-tile.cloth.magenta.slab.name=Lastra di Lana Magenta
-tile.cloth.lightBlue.slab.name=Lastra di Lana Blu Chiaro
-tile.cloth.yellow.slab.name=Lastra di Lana Gialla
-tile.cloth.lime.slab.name=Lastra di Lana Lime
-tile.cloth.pink.slab.name=Lastra di Lana Rosa
-tile.cloth.gray.slab.name=Lastra di Lana Grigia
-tile.cloth.silver.slab.name=Lastra di Lana Grigio Chiaro
-tile.cloth.cyan.slab.name=Lastra di Lana Ciano
-tile.cloth.purple.slab.name=Lastra di Lana Viola
-tile.cloth.blue.slab.name=Lastra di Lana Blu
-tile.cloth.brown.slab.name=Lastra di Lana Marrone
-tile.cloth.green.slab.name=Lastra di Lana Verde
-tile.cloth.red.slab.name=Lastra di Lana Rossa
-tile.cloth.black.slab.name=Lastra di Lana Nera
-
-tile.GlueBlock.name=Blocco di Colla
-tile.liquid.glue.name=Colla
-
-item.oreberry.iron.name=Baccagrezza di Ferro
-item.oreberry.gold.name=Baccagrezza d'Oro
-item.oreberry.copper.name=Baccagrezza di Rame
-item.oreberry.tin.name=Baccagrezza di Stagno
-item.oreberry.aluminum.name=Baccagrezza di Alluminio
-item.oreberry.essence.name=Bacca Concentrata di Essenza
-
-item.goldenhead.name=Testa d'Oro
-item.tconstruct.titleicon.name=Uovo di
-
-item.InfiTool.Pickaxe.name=Piccone
-item.InfiTool.Shovel.name=Pala
-item.InfiTool.Axe.name=Accetta
-item.InfiTool.Broadsword.name=Spadone
-item.InfiTool.Longsword.name=Spada Lunga
-item.InfiTool.Rapier.name=Stocco
-item.InfiTool.FryPan.name=Padella
-item.InfiTool.Battlesign.name=Insegna da Guerra
-item.InfiTool.Dagger.name=Daga
-item.InfiTool.Chisel.name=Cesello
-item.InfiTool.Scythe.name=Falce
-item.InfiTool.LumberAxe.name=Ascia
-item.InfiTool.Cleaver.name=Mannaia
-item.InfiTool.Excavator.name=Scavatore
-item.InfiTool.Hammer.name=Martello
-item.InfiTool.Battleaxe.name=Ascia da Combattimento
-item.InfiTool.Cutlass.name=Sciabola
-item.InfiTool.Shortbow.name=Arco Corto
-item.InfiTool.Arrow.name=Freccia
-item.InfiTool.PotionLauncher.name=Lanciatore di Pozioni
-item.InfiTool.Mattock.name=Zappa
-
-item.tconstruct.Pattern.blank_pattern.name=Modello
-item.tconstruct.Pattern.rod.name=Modello per Manico
-item.tconstruct.Pattern.pickaxe.name=Modello per Testa di Piccone
-item.tconstruct.Pattern.shovel.name=Modello per Testa di Pala
-item.tconstruct.Pattern.axe.name=Modello per Testa d'Ascia
-item.tconstruct.Pattern.swordblade.name=Modello per Lama di Spada
-item.tconstruct.Pattern.largeguard.name=Modello per Guardia Larga
-item.tconstruct.Pattern.mediumguard.name=Modello per Guardia Media
-item.tconstruct.Pattern.crossbar.name=Modello per Guardia Traversa
-item.tconstruct.Pattern.binding.name=Modello per Legatura
-item.tconstruct.Pattern.frypan.name=Modello per Padella
-item.tconstruct.Pattern.sign.name=Modello per Testa di Cartello
-item.tconstruct.Pattern.knifeblade.name=Modello per Lama di Coltello
-item.tconstruct.Pattern.chisel.name=Modello per Testa di Cesellatore
-item.tconstruct.Pattern.largerod.name=Modello per Manico Resistente
-item.tconstruct.Pattern.toughbinding.name=Modello per Legatura Resistente
-item.tconstruct.Pattern.largeplate.name=Modello per Piastra Grande
-item.tconstruct.Pattern.broadaxe.name=Modello per Testa d'Ascia Larga
-item.tconstruct.Pattern.scythe.name=Modello per Testa di Falce
-item.tconstruct.Pattern.excavator.name=Modello per Testa di Scavatore
-item.tconstruct.Pattern.largeblade.name=Modello per Grande Lama di Spada
-item.tconstruct.Pattern.hammerhead.name=Modello per Testa di Martello
-item.tconstruct.Pattern.fullguard.name=Modello per Guardia Piena
-item.tconstruct.Pattern.bowstring.name=Modello per Corda d'Arco
-item.tconstruct.Pattern.fletching.name=Modello per Testa di Freccia
-item.tconstruct.Pattern.arrowhead.name=Modello per Impennaggio
-
-item.tconstruct.Pattern.blank_cast.name=Stampo
-item.tconstruct.MetalPattern.rod.name=Stampo per Manico
-item.tconstruct.MetalPattern.pickaxe.name=Stampo per Testa di Piccone
-item.tconstruct.MetalPattern.shovel.name=Stampo per Testa di Pala
-item.tconstruct.MetalPattern.axe.name=Stampo per Testa d'Ascia
-item.tconstruct.MetalPattern.swordblade.name=Stampo per Lama di Spada
-item.tconstruct.MetalPattern.largeguard.name=Stampo per Guardia Larga
-item.tconstruct.MetalPattern.mediumguard.name=Stampo per Guardia Media
-item.tconstruct.MetalPattern.crossbar.name=Stampo per Guardia Traversa
-item.tconstruct.MetalPattern.binding.name=Stampo per Legatura
-item.tconstruct.MetalPattern.frypan.name=Stampo per Padella
-item.tconstruct.MetalPattern.sign.name=Stampo per Testa di Cartello
-item.tconstruct.MetalPattern.knifeblade.name=Stampo per Lama di Coltello
-item.tconstruct.MetalPattern.chisel.name=Stampo per Testa di Cesellatore
-item.tconstruct.MetalPattern.largerod.name=Stampo per Manico Resistente
-item.tconstruct.MetalPattern.toughbinding.name=Stampo per Legatura Resistente
-item.tconstruct.MetalPattern.largeplate.name=Stampo per Piastra Grande
-item.tconstruct.MetalPattern.broadaxe.name=Stampo per Testa d'Ascia Larga
-item.tconstruct.MetalPattern.scythe.name=Stampo per Testa di Falce
-item.tconstruct.MetalPattern.excavator.name=Stampo per Testa di Scavatore
-item.tconstruct.MetalPattern.largeblade.name=Stampo per Grande Lama di Spada
-item.tconstruct.MetalPattern.hammerhead.name=Stampo per Testa di Martello
-item.tconstruct.MetalPattern.fullguard.name=Stampo per Guardia Piena
-item.tconstruct.MetalPattern.bowstring.name=Stampo per Corda d'Arco
-item.tconstruct.MetalPattern.fletching.name=Stampo per Testa di Freccia
-item.tconstruct.MetalPattern.arrowhead.name=Stampo per Impennaggio
-item.tconstruct.MetalPattern.ingot.name=Stampo per Lingotti
-item.tconstruct.MetalPattern.gem.name=Stampo per Gemma
-
-item.tconstruct.Materials.PaperStack.name=Pila di Carta
-item.tconstruct.Materials.SlimeCrystal.name=Cristallo di Slime
-item.tconstruct.Materials.SearedBrick.name=Mattone Bruciato
-item.tconstruct.Materials.CobaltIngot.name=Lingotto di Cobalto
-item.tconstruct.Materials.ArditeIngot.name=Lingotto di Ardite
-item.tconstruct.Materials.ManyullynIngot.name=Lingotto di Manyullyn
-item.tconstruct.Materials.Mossball.name=Palla di Muschio
-item.tconstruct.Materials.LavaCrystal.name=Cristallo di Lava
-item.tconstruct.Materials.NecroticBone.name=Osso Necrotico
-item.tconstruct.Materials.CopperIngot.name=Lingotto di Rame
-item.tconstruct.Materials.TinIngot.name=Lingotto di Stagno
-item.tconstruct.Materials.AluminumIngot.name=Lingotto di Alluminio
-item.tconstruct.Materials.RawAluminum.name=Alluminio Puro
-item.tconstruct.Materials.BronzeIngot.name=Lingotto di Bronzo
-item.tconstruct.Materials.AluBrassIngot.name=Lingotto di Ottone
-item.tconstruct.Materials.AlumiteIngot.name=Lingotto di Alumite
-item.tconstruct.Materials.SteelIngot.name=Lingotto d'Acciaio
-item.tconstruct.Materials.BlueSlimeCrystal.name=Cristallo di Slime
-item.tconstruct.Materials.ObsidianIngot.name=Lingotto di Ossidiana
-item.tconstruct.Materials.IronNugget.name=Pepita di Ferro
-item.tconstruct.Materials.CopperNugget.name=Pepita di Rame
-item.tconstruct.Materials.TinNugget.name=Pepita di Stagno
-item.tconstruct.Materials.AluminumNugget.name=Pepita di Alluminio
-item.tconstruct.Materials.EssenceCrystal.name=Cristallo Falsa di Essenza
-item.tconstruct.Materials.AluBrassNugget.name=Pepita di Ottone
-item.tconstruct.Materials.SilkyCloth.name=Stoffa Vellutata
-item.tconstruct.Materials.SilkyJewel.name=Gioiello Vellutato
-item.tconstruct.Materials.ObsidianNugget.name=Pepita di Ossidiana
-item.tconstruct.Materials.CobaltNugget.name=Pepita di Cobalto
-item.tconstruct.Materials.ArditeNugget.name=Pepita di Ardite
-item.tconstruct.Materials.ManyullynNugget.name=Pepita di Manyullyn
-item.tconstruct.Materials.BronzeNugget.name=Pepita di Bronzo
-item.tconstruct.Materials.AlumiteNugget.name=Pepita di Alumite
-item.tconstruct.Materials.SteelNugget.name=Pepita d'Acciaio
-item.tconstruct.Materials.PigIronIngot.name=Lingotto di Ferro Suino
-item.tconstruct.Materials.PigIronNugget.name=Piatto di Ferro Suino
-item.tconstruct.Materials.GlueIngot.name=Lingotto di Colla
-
-item.tconstruct.helmetWood.name=Elmo di Legno
-item.tconstruct.chestplateWood.name=Corazza di Legno
-item.tconstruct.leggingsWood.name=Gambali di Legno
-item.tconstruct.bootsWood.name=Stivali di Legno
-
-item.tconstruct.ArmorPattern.helmet.name=Stampo per Elmo
-item.tconstruct.ArmorPattern.chestplate.name=Stampo per Corazza
-item.tconstruct.ArmorPattern.leggings.name=Stampo per Gambali
-item.tconstruct.ArmorPattern.boots.name=Stampo per Stivali
-
-item.tconstruct.exoGoggles.name=Exo-Occhiali
-item.tconstruct.exoChest.name=Exo-Corazza
-item.tconstruct.exoPants.name=Exo-Gambali
-item.tconstruct.exoShoes.name=Exo-Stivali
-
-item.tconstruct.jerky.beef.name=Bisteccha Essicata
-item.tconstruct.jerky.pig.name=Pancetta Essicata
-item.tconstruct.jerky.chicken.name=Pollo Essicato
-item.tconstruct.jerky.sheep.name=Montone Essicato
-item.tconstruct.jerky.fish.name=Pesce Essicato
-item.tconstruct.jerky.zombie.name=Carne Marcia Essicata
-item.tconstruct.jerky.blueslime.name=Goccia di Slime Gelatinoso
-item.tconstruct.jerky.blood.name=Goccia di Sangue Coagulato
-
-Smeltery.Controller.name=Pannello di Controllo della Fonderia
-Smeltery.Drain.name=Scarico della Fonderia
-Smeltery.Brick.name=Mattoni Bruciati
-Smeltery.Stone.name=Pietra Bruciata
-Smeltery.Cobblestone.name=Pietrisco Bruciato
-Smeltery.Paver.name=Lastra Bruciata
-Smeltery.Brick.Cracked.name=Pietra Bruciata Rotta
-Smeltery.Road.name=Strada di Pietra Bruciata
-Smeltery.Brick.Fancy.name=Mattoni Bruciati Decorativi
-Smeltery.Brick.Square.name=Mattoni Bruciati Cesellati
-Smeltery.Brick.Creeper.name=Mattoni Bruciati Cesellati
-Smeltery.Channel.name=Canale della Fonderia
-block.slime.soil.dirt.name=Terreno di Slime
-
-LavaTank.Tank.name=Serbatoio della Fonderia
-LavaTank.Gague.name=Vetro di Mattoni Bruciati
-LavaTank.Window.name=Finestra di Mattoni Bruciati
-
-tile.landmine.name=Mina
-
-tile.trap.punji.name=Bastone Punji
-tile.trap.barricade.oak.name=Barricata di Quercia
-tile.trap.barricade.spruce.name=Barricata di Abete
-tile.trap.barricade.birch.name=Barricata di Betulla
-tile.trap.barricade.jungle.name=Barricata di Legno della Giungla
-tile.explosive.slime.name=SDX
-
-StorageMetals.Cobalt.name=Blocco di Cobalto
-StorageMetals.Ardite.name=Blocco di Ardite
-StorageMetals.Manyullyn.name=Blocco di Manyullyn
-StorageMetals.Copper.name=Blocco di Rame
-StorageMetals.Bronze.name=Blocco di Bronzo
-StorageMetals.Tin.name=Blocco di Stagno
-StorageMetals.Aluminum.name=Blocco di Alluminio
-StorageMetals.AlBrass.name=Blocco di Ottone
-StorageMetals.Alumite.name=Blocco di Alumite
-StorageMetals.Steel.name=Blocco d'Acciaio
-StorageMetals.Ender.name=Blocco di Ender Solido
-
-tile.decoration.stonetorch.name=Torcia
-tile.decoration.stoneladder.name=Scala a Pioli
-tile.CraftingStation.name=Tavolo da Lavoro
-
-block.glass.pure.name=Vetro Chiaro
-block.glass.soul.name=Vetro Spirituale
-block.glass.soul.pure.name=Vetro Chiaro Spirituale
-
-block.glass.pure.pane.name=Pannello Chiaro
-block.glass.soul.pane.name=Pannello Spirituale
-block.glass.soul.pane.pure.name=Pannello Chiaro Spirituale
-
-block.stainedglass.white.name=Vetrata Bianca
-block.stainedglass.orange.name=Vetrata Arancione
-block.stainedglass.magenta.name=Vetrata Magenta
-block.stainedglass.lightblue.name=Vetrata Blu Chiaro
-block.stainedglass.yellow.name=Vetrata Gialla
-block.stainedglass.lime.name=Vetrata Lime
-block.stainedglass.pink.name=Vetrata Rosa
-block.stainedglass.gray.name=Vetrata Grigia
-block.stainedglass.lightgray.name=Vetrata Grigio Chiaro
-block.stainedglass.cyan.name=Vetrata Ciano
-block.stainedglass.purple.name=Vetrata Viola
-block.stainedglass.blue.name=Vetrata Blu
-block.stainedglass.brown.name=Vetrata Marrone
-block.stainedglass.green.name=Vetrata Verde
-block.stainedglass.red.name=Vetrata Rossa
-block.stainedglass.black.name=Vetrata Nera
-
-block.stainedglass.white.pane.name=Pannello Bianco
-block.stainedglass.orange.pane.name=Pannello Arancione
-block.stainedglass.magenta.pane.name=Pannello Magenta
-block.stainedglass.lightblue.pane.name=Pannello Blu Chiaro
-block.stainedglass.yellow.pane.name=Pannello Giallo
-block.stainedglass.lime.pane.name=Pannello Lime
-block.stainedglass.pink.pane.name=Pannello Rossa
-block.stainedglass.gray.pane.name=Pannello Grigio
-block.stainedglass.lightgray.pane.name=Pannello Grigio Chiaro
-block.stainedglass.cyan.pane.name=Pannello Ciano
-block.stainedglass.purple.pane.name=Pannello Viola
-block.stainedglass.blue.pane.name=Pannello Blu
-block.stainedglass.brown.pane.name=Pannello Marrone
-block.stainedglass.green.pane.name=Pannello Verde
-block.stainedglass.red.pane.name=Pannello Rosso
-block.stainedglass.black.pane.name=Pannello Nero
-
-block.searedstone.slab.brick.name=Lastra di Mattoni Bruciati
-block.searedstone.slab.stone.name=Lastra di Pietra Bruciata
-block.searedstone.slab.cobble.name=Lastra di Pietrisco Bruciato
-block.searedstone.slab.paver.name=Lastra di Piastra Bruciata
-block.searedstone.slab.road.name=Lastra di Strada di Pietra Bruciata
-block.searedstone.slab.fancy.name=Lastra di Mattoni Decorativi Bruciati
-block.searedstone.slab.square.name=Lastra di Mattoni Cesellati Bruciati
-block.searedstone.slab.creeper.name=Lastra di Mattoni Cesellati Bruciati
-
-block.soil.slab.dirt.name=Lastra di Terra
-block.soil.slab.mycelium.name=Lastra di Micelio
-block.soil.slab.slime.name=Lastra di Fango Viscido
-block.soil.slab.grout.name=Lastra di Malta
-block.soil.slab.blueslime.name=Lastra di Fango Viscido
-block.soil.slab.graveyardsoil.name=Lastra di Terra del Cimitero
-block.soil.slab.consecratedsoil.name=Lastra di Terra Consacrata
-
-block.slime.soil.blue.name=Terra Viscida Blu
-block.slime.leaves.blue.name=Foglie Viscide
-block.slime.sapling.bluegreen.name=Alberello Viscido
-block.slime.grass.blue.name=Erba Viscida
-block.slime.grass.dirt.name=Erba Viscida
-block.slime.tallgrass.name=Erba Viscida
-block.slime.congealed.blue.name=Slime Blu Solidificato
-block.slime.congealed.green.name=Slime Verde Solidificato
-
-item.tconstruct.storage.knapsack.name=Zaino
-item.tconstruct.blankpattern.pattern.name=Modello
-item.tconstruct.blankpattern.cast.name=Stampo
-
-item.tconstruct.Bowstring.string.name=Corda d'Arco
-item.tconstruct.Bowstring.enchantedfabric.name=Corda d'Arco Incantato
-item.tconstruct.Bowstring.flamestring.name=Corda d'Arco Ardente
-item.tconstruct.Fletching.feather.name=Impennaggio di Piume
-item.tconstruct.Fletching.leaf.name=Impennaggio di Foglie
-item.tconstruct.Fletching.slime.name=Impennaggio di Slime
-item.tconstruct.Fletching.blueslime.name=Impennaggio di Slime
-
-item.tconstruct.manual.beginner.name=Materiali e Tu
-item.tconstruct.manual.toolstation.name=Materiali e Tu
-item.tconstruct.manual.smeltery.name=Fonderia e Leghe
-item.tconstruct.manual.diary.name=Diario di un Armeggiatore
-
-item.tconstruct.bucket.Iron.name=Secchio di Ferro Fuso
-item.tconstruct.bucket.Gold.name=Secchio d'Oro Fuso
-item.tconstruct.bucket.Copper.name=Secchio di Rame Fuso
-item.tconstruct.bucket.Tin.name=Secchio di Stagno Fuso
-item.tconstruct.bucket.Aluminum.name=Secchio di Alluminio Fuso
-item.tconstruct.bucket.Cobalt.name=Secchio di Cobalto Fuso
-item.tconstruct.bucket.Ardite.name=Secchio di Ardite Fusa
-item.tconstruct.bucket.Bronze.name=Secchio di Bronzo Fuso
-item.tconstruct.bucket.AluBrass.name=Secchio di Ottone Fuso
-item.tconstruct.bucket.Manyullyn.name=Secchio di Manyullyn Fuso
-item.tconstruct.bucket.Alumite.name=Secchio di Alumite Fusa
-item.tconstruct.bucket.Obsidian.name=Secchio di Ossidiana Fusa
-item.tconstruct.bucket.Steel.name=Secchio d'Acciaio Fuso
-item.tconstruct.bucket.Glass.name=Secchio di Vetro Fuso
-item.tconstruct.bucket.Stone.name=Secchio di Pietra Bruciata Fusa
-item.tconstruct.bucket.Villager.name=Secchio di Smeraldo Liquefatto
-item.tconstruct.bucket.Cow.name=Secchio di Sangue
-item.tconstruct.bucket.Nickel.name=Secchio di Nichel Fuso
-item.tconstruct.bucket.Lead.name=Secchio di Piombo Fuso
-item.tconstruct.bucket.Silver.name=Secchio d'Argento Fuso
-item.tconstruct.bucket.Shiny.name=Secchio di Platino Fuso
-item.tconstruct.bucket.Invar.name=Secchio di Invaro Fuso
-item.tconstruct.bucket.Electrum.name=Secchio di Elettro Fuso
-item.tconstruct.bucket.Ender.name=Secchio di Ender Liquefatto
-item.tconstruct.bucket.Slime.name=Secchio di Slime Liquido
-item.tconstruct.bucket.PigIron.name=Secchio di Ferro Suino Fuso
-item.tconstruct.bucket.Glue.name=Secchio di Colla Appiccicosa
-
-item.tconstruct.bowstring.string.name=Corda d'Arco
-item.tconstruct.bowstring.enchantedfabriI donc.name=Corda d'Arco Incantato
-
-tile.metal.molten.iron.name=Ferro Fuso
-tile.metal.molten.gold.name=Oro Fuso
-tile.metal.molten.copper.name=Rame Fuso
-tile.metal.molten.tin.name=Stagno Fuso
-tile.metal.molten.aluminum.name=Alluminio Fuso
-tile.metal.molten.cobalt.name=Cobalto Fuso
-tile.metal.molten.ardite.name=Ardite Fusa
-tile.metal.molten.bronze.name=Bronzo Fuso
-tile.metal.molten.alubrass.name=Ottone Fuso
-tile.metal.molten.manyullyn.name=Manyullyn Fuso
-tile.metal.molten.alumite.name=Alumite Fusa
-tile.metal.molten.obsidian.name=Ossidiana Fusa
-tile.metal.molten.steel.name=Acciaio Fuso
-tile.metal.molten.glass.name=Vetro Fuso
-tile.molten.stone.name=Pietra Bruciata Fusa
-tile.molten.emerald.name=Smeraldo Liquefatto
-tile.liquid.blood.name=Sangue
-tile.metal.molten.nickel.name=Nichel Fuso
-tile.metal.molten.silver.name=Argento Fuso
-tile.metal.molten.lead.name=Piombo Fuso
-tile.metal.molten.shiny.name=Platino Fuso
-tile.metal.molten.invar.name=Invaro Fuso
-tile.metal.molten.electrum.name=Elettro Fuso
-tile.fluid.ender.name=Ender Liquefatto
-tile.liquid.slime.name=Slime Liquefatto
-
-LiquidMetal.Iron.name=Ferro Fuso
-LiquidMetal.Gold.name=Oro Fuso
-LiquidMetal.Copper.name=Rame Fuso
-LiquidMetal.Tin.name=Stagno Fuso
-LiquidMetal.Aluminum.name=Alluminio Fuso
-LiquidMetal.Cobalt.name=Cobalto Fuso
-LiquidMetal.Ardite.name=Ardite Fusa
-LiquidMetal.Bronze.name=Bronzo Fuso
-LiquidMetal.AluBrass.name=Ottone Fuso
-LiquidMetal.Manyullyn.name=Manyullyn Fuso
-LiquidMetal.Alumite.name=Alumite Fusa
-LiquidMetal.Obsidian.name=Ossidiana Fusa
-LiquidMetal.Steel.name=Acciaio Fuso
-LiquidMetal.Glass.name=Secchio di Vetro
-LiquidMetal.Stone.name=Pietra Bruciata Fusa
-LiquidMetal.Villager.name=Smeraldo Liquefatto
-LiquidMetal.Cow.name=Sangue
-LiquidMetal.Nickel.name=Nichel Fuso
-LiquidMetal.Silver.name=Argento Fuso
-LiquidMetal.Lead.name=Piombo Fuso
-LiquidMetal.Shiny.name=Platino Fuso
-LiquidMetal.Invar.name=Invaro Fuso
-LiquidMetal.Electrum.name=Elettro Fuso
-LiquidMetal.Ender.name=Ender Liquefatto
-
-item.food.apple.diamond.name=Mela Diamantata
-item.tconstruct.strangefood.edibleslime.name=Slime Gelatinoso
-item.tconstruct.strangefood.edibleblood.name=Sangue Coagulato
-item.tconstruct.canister.empty.name=Contenitore Vuoto
-item.tconstruct.canister.miniheart.red.name=Cuore Rosso Miniaturizzato
-item.tconstruct.canister.heart.name=Contenitore di Cuori
-item.tconstruct.glove.name=Guanti dello Scavatore
-
-SearedBlock.Table.name=Tavolo della Fonderia
-SearedBlock.Faucet.name=Rubinetto della Fonderia
-SearedBlock.Basin.name=Vasca della Fonderia
-
-entity.TConstruct.EdibleSlime.name=Slime Blu
-entity.TConstruct.KingSlime.name=Re Slime
-entity.TConstruct.Gardeslime.name=Slime Guardiani
-entity.TConstruct.MiniGardy.name=Slime Guardiani
-
-key.tarmor=Gui dell'Armatura
-key.tcapes.reload=Ricarica Mantelli
-
-death.one.smeltery=%1$s è trasformato in una massa di proteine
-death.two.smeltery=%1$s è fuso nella la Fonderia
-death.three.smeltery=%1$s sarà una pietra miliare per la nostra rivoluzione!
-death.four.smeltery=%1$s pensò che nuotare in liquidi bollenti fosse una buona idea
-
-death.attack.Landmine=Le gambe di %1$s sono state spazzate via da una mina
-death.attack.FireworkExplode=%1$s è stato fatto a pezzi da un fuoco d'artificio
-
-parttype.wood=di Legno
-parttype.stone=di Pietra
-parttype.iron=di Ferro
-parttype.flint=di Selce
-parttype.cactus=di Cactus
-parttype.bone=d'Osso
-parttype.obsidian=di Ossidiana
-parttype.slime=di Slime
-parttype.paper=di Carta
-parttype.netherrack=di Netherrack
-parttype.cobalt=di Cobalto
-parttype.ardite=di Ardite
-parttype.manyullyn=di Manyullyn
-parttype.copper=di Rame
-parttype.bronze=di Bronzo
-parttype.alumite=di Alumite
-parttype.steel=d'Acciaio
-parttype.blueslime=di Slime
-parttype.thaumium=di Taumio
-parttype.pigiron=di Ferro Suino
-
-toolpart.ToolRod=Manico %%material
-toolpart.PickHead=Testa di Piccone %%material
-toolpart.ShovelHead=Testa di Pala %%material
-toolpart.AxeHead=Testa d'Ascia %%material
-toolpart.Binding=Legatura %%material
-toolpart.ToughBind=Legatura Resistente %%material
-toolpart.ToughRod=Manico Resistente %%material
-toolpart.LargePlate=Piastra Grande %%material
-toolpart.SwordBlade=Lama di Spada %%material
-toolpart.LargeGuard=Guardia Larga %%material
-toolpart.MediumGuard=Guardia Media %%material
-toolpart.Crossbar=Guardia Traversa %%material
-toolpart.KnifeBlade=Lama di Coltello %%material
-toolpart.FullGuard=Guardia Piena %%material
-toolpart.FrypanHead=Padella %%material
-toolpart.SignHead=Testa di Cartello %%material
-toolpart.ChiselHead=Testa di Cesellatore %%material
-toolpart.ScytheHead=Testa di Falce %%material
-toolpart.LumberHead=Testa d'Ascia Larga %%material
-toolpart.ExcavatorHead=Testa di Scavatore %%material
-toolpart.ToolShard=Frammento %%material
-toolpart.LargeSwordBlade=Grande Lama di Spada %%material
-toolpart.HammerHead=Testa di Martello %%material
-toolpart.Bowstring=Corda d'Arco %%material
-toolpart.ArrowHead=Testa di Freccia %%material
-toolpart.Fletching=Impennaggio %%material
-
-fluid.iron.molten=Ferro Fuso
-fluid.gold.molten=Oro Fuso
-fluid.copper.molten=Rame Fuso
-fluid.tin.molten=Stagno Fuso
-fluid.aluminum.molten=Alluminio Fuso
-fluid.cobalt.molten=Cobalto Fuso
-fluid.ardite.molten=Ardite Fusa
-fluid.bronze.molten=Bronzo Fuso
-fluid.aluminumbrass.molten=Ottone Fuso
-fluid.manyullyn.molten=Manyullyn Fuso
-fluid.alumite.molten=Alumite Fusa
-fluid.obsidian.molten=Ossidiana Fusa
-fluid.steel.molten=Acciaio Fuso
-fluid.glass.molten=Vetro Fuso
-fluid.stone.seared=Pietra Bruciata Fusa
-fluid.emerald.liquid=Smeraldo Liquefatto
-fluid.blood=Sangue
-fluid.nickel.molten=Nichel Fuso
-fluid.lead.molten=Piombo Fuso
-fluid.silver.molten=Argento Fuso
-fluid.shiny.molten=Platino Fuso
-fluid.invar.molten=Invaro Fuso
-fluid.electrum.molten=Elettro Fuso
-fluid.ender=Ender Liquido
-fluid.slime.blue=Slime Blu Liquido
-fluid.pigiron.molten=Ferro Suino Fuso
-fluid.glue=Colla
-
-tconstruct.achievementPage.name=TConstruct
-achievement.tconstruct.beginner=Imparare a Armeggiare
-achievement.tconstruct.pattern=Costruttore di Modelli
-achievement.tconstruct.tinkerer=Armeggiatore
-achievement.tconstruct.proTinkerer=Armeggiatore Pro
-achievement.tconstruct.smelteryMaker=Creatore di una Fonderia
-achievement.tconstruct.preparedFight=Preparato a Combattere
-achievement.tconstruct.enemySlayer=Uccisore di Nemici
-achievement.tconstruct.dualConvenience=Duo Conveniente
-
-achievement.tconstruct.beginner.desc=Apri il tuo manuale "Materiali e Tu"
-achievement.tconstruct.pattern.desc=Crea il tuo primo modello
-achievement.tconstruct.tinkerer.desc=Crea il tuo primo attrezzo
-achievement.tconstruct.proTinkerer.desc=Crea il tuo primo attrezzo di livello 2
-achievement.tconstruct.smelteryMaker.desc=Crea un componente della fonderia
-achievement.tconstruct.preparedFight.desc=Crea la tua prima arma
-achievement.tconstruct.enemySlayer.desc=Uccidi un mob
-achievement.tconstruct.convenientDuo=Uccidi un mob con una padella, e cuoci la sua carne in questa
-
-armortype.ExoArmor=Exo-Armatura
-
-knapsack.tooltip=Uno Zaino per tenere le tue cose.
-strangefood1.tooltip=Puzza terribilmente, ma se non
-strangefood2.tooltip=hai nient'altro da mangiare...
-hambone1.tooltip=Prosciutto!
-hambone2.tooltip=Usabile come base per il Faro
-strangefood3.tooltip=Sembra commestibile, ma per qualche
-strangefood4.tooltip=motivo non sembra appetibile.
-strangefood5.tooltip=Cibo elastico!
-strangefood6.tooltip=Un aperitivo vampirico
-metalblock.tooltip=Usabile come base per il Faro
-craftedsoil1.tooltip=Cura i non-morti
-craftedsoil2.tooltip=Danneggia i non-morti
-fancybrick1.tooltip=Abbastanza costoso
-fancybrick2.tooltip=Molto costoso
-fancybrick3.tooltip=Emette un segnale di pietrarossa
-fancybrick4.tooltip=fino a 4 blocchi
-fancybrick5.tooltip=Rimbalzante!
-brick1.tooltip=Abbastanza costoso
-brick2.tooltip=Molto costoso
-brick3.tooltip=Emette un segnale di pietrarossa
-brick4.tooltip=fino a 4 blocchi
-brick5.tooltip=Rimbalzante!
-craftedsoil.slab1.tooltip=Cura i non-morti
-craftedsoil.slab2.tooltip=Doloroso per i non-morti
-speedblock1.tooltip=Corri abbastanza veloce su questo
-speedblock2.tooltip=Corri un po' più veloce su questo
-speedblock.slab1.tooltip=Corri abbastanza veloce su questo
-speedblock.slab2.tooltip=Corri un po' più veloce su questo
-manual1.tooltip=Di: Skyla
-manual2.tooltip=Di: Skyla
-manual3.tooltip=Di: Thruul M'gon
-searedtank1.tooltip=Contiene
-searedtank2.tooltip=Contiene il fluido quando raccolto
-oreberries1.tooltip=Dolce Ironia
-oreberries2.tooltip=Puro Lustro
-oreberries3.tooltip=Ha lo stesso sapore del metallo
-oreberries4.tooltip=Uomo di Latta
-oreberries5.tooltip=Cioccolato Bianco
-oreberries6.tooltip=Ha il gusto di un Creeper
-hearthcanister1.tooltip=Oggetto per Crafting
-hearthcanister2.tooltip=Oggetto per Crafting
-hearthcanister3.tooltip=Parte di un Contenitore di Cuori di basso livello
-hearthcanister4.tooltip=Accessorio
-hearthcanister5.tooltip=Aumento di vita permamente
-landmine1.tooltip=tutto
-landmine2.tooltip=mob, giocatori e pietrarossa
-landmine3.tooltip=giocatori e pietrarossa
-landmine4.tooltip=solo pietrarossa
-landmine5.tooltip=Interagisce con:
-goldenhead1.tooltip=Qualcuno dice che mangiare la testa di
-goldenhead2.tooltip=un nemico caduto rinforza il sangue
-oreberrybush1.tooltip=Dolce Ironia
-oreberrybush2.tooltip=Puro Lustro
-oreberrybush3.tooltip=Ha lo stesso sapore del metallo
-oreberrybush4.tooltip=Uomo di Latta
-oreberrybush5.tooltip=Cioccolato Bianco
-oreberrybush6.tooltip=Ha il gusto di un Creeper
-barricade.tooltip=Puoi usarne 4 alla volta
-pattern1.tooltip=Costo di Materiale:
-pattern2.tooltip=Costo di Materiale:
-potionlauncher.tooltip=Oggetto di prova
-smeltery.controller.tooltip=Il cervello della Fonderia
-smeltery.drain.tooltip1=Funziona sia come entrata che come
-smeltery.drain.tooltip2=uscita per fluidi nella Fonderia
-smeltery.brick.tooltip1=Blocco per la Fonderia
-smeltery.brick.tooltip2=(Usabile anche come decorazione)
-
-gui.smeltery1=Carburante
-gui.landmine=Mina
-gui.partcrafter1=Costruire Parti
-gui.partcrafter2=Costruire Parti
-gui.partcrafter3=Per incominciare metti un modello e un materiale sulla sinistra.
-gui.partcrafter4=Resistenza Base:
-gui.partcrafter5=Modifica del Manico:
-gui.partcrafter6=Velocità dell'Attrezzo:
-gui.partcrafter7=Livello dell'Attrezzo:
-gui.partcrafter8= Cuore
-gui.partcrafter9= Cuori
-gui.partcrafter10=Attacco:
-gui.partcrafter.mining1=Pietra
-gui.partcrafter.mining2=Ferro
-gui.partcrafter.mining3=Pietrarossa
-gui.partcrafter.mining4=Ossidiana
-gui.partcrafter.mining5=Cobalto
-gui.partcrafter.mining6=Manyullyn
-gui.stenciltable1=Modello Seguente
-gui.stenciltable2=Modello Precedente
-gui.toolforge1=Riparare e Modificare
-gui.toolforge2=Qui puoi riparare o modificare i tuoi attrezzi. Per incominciare metti un attrezzo e un materiale sulla sinistra.
-gui.toolstation1=Resistenza:
-gui.toolstation2=Resistenza:
-gui.toolstation3=Attacco:
-gui.toolstation4=Bonus:
-gui.toolstation5=Perdità:
-gui.toolstation6=Velocità di Tensione:
-gui.toolstation7=Velocità della Freccia:
-gui.toolstation8=Peso:
-gui.toolstation9=Precisione:
-gui.toolstation10=Danno Base:
-gui.toolstation11=Danno con Arco Corto:
-gui.toolstation12=Velocità dell'Attrezzo:
-gui.toolstation13=Livello di Mietitura:
-gui.toolstation14=Velocità dell'Attrezzo:
-gui.toolstation15=Livello dell'Attrezzo:
-gui.toolstation16=Velocità dell'Uso:
-gui.toolstation17=Modificatori
-gui.toolstation18=Modificatori Rimanenti:
-
-tconstruct.waila.empty=Vuoto
-tconstruct.waila.liquidtag=Liquido:
-tconstruct.waila.amounttag=Quantità:
-tconstruct.waila.invalidstructure=Struttura Invalida
diff --git a/resources/assets/tinker/lang/pl_PL.lang b/resources/assets/tinker/lang/pl_PL.lang
deleted file mode 100644
index 0b42950a..00000000
--- a/resources/assets/tinker/lang/pl_PL.lang
+++ /dev/null
@@ -1,387 +0,0 @@
-itemGroup.TConstructTools=Narzędzia TConstruct
-itemGroup.TConstructMaterials=Materiały TConstruct
-itemGroup.TConstructBlocks=Bloki TConstruct
-
-crafters.ToolStation=Stół do łączenia narzędzi
-crafters.ToolForge=Kuźnia do łączenia narzędzi
-crafters.PartBuilder=Stół do tworzenia części
-crafters.PatternShaper=Stół do odciskania szablonów
-inventory.PatternChest=Skrzynia na szablony
-crafters.Smeltery=Formiernia
-crafters.Frypan=Patelnia
-inventory.knapsack=Plecak
-
-ToolStation.Crafter.name=Łączenie narzędzi
-ToolStation.Parts.name=Tworzenie części
-ToolStation.PatternChest.name=Skrzynia na szablony
-ToolStation.PatternShaper.name=Odciskanie szablonów
-ToolStation.CastingTable.name=Odlewanie
-
-tile.ToolForge.name=Tool Forge
-tile.CraftingStation.name=Crafting Station
-tile.Armor.DryingRack.name=Suszarka
-CraftedSoil.Slime.name=Szlamowate błoto
-CraftedSoil.Grout.name=Cement
-CraftedSoil.BlueSlime.name=Szlamowate błoto
-CraftedSoil.GraveyardSoil.name=Cmenterna gleba
-CraftedSoil.ConsecratedSoil.name=Zakonna gleba
-
-MetalOre.NetherSlag.name=Netherack Slag
-MetalOre.Cobalt.name=Ruda kobaltu
-MetalOre.Ardite.name=Ruda ardytu
-MetalOre.Copper.name=Ruda miedzi
-MetalOre.Tin.name=Ruda cyny
-MetalOre.Aluminum.name=Ruda aluminium
-MetalOre.Slag.name=Stone Slag
-
-block.oreberry.iron.name=Krzak żelaznych jagód
-block.oreberry.gold.name=Krzak złotych jagód
-block.oreberry.copper.name=Krzak miedzianych jagód
-block.oreberry.tin.name=Krzak cynowych jagód
-block.oreberry.aluminum.name=Krzak aluminiowych jagód
-block.oreberry.essence.name=Krzak esencji
-
-block.ore.gravel.iron.name=Żwirowa ruda żelaza
-block.ore.gravel.gold.name=Żwirowa ruda złota
-block.ore.gravel.copper.name=Żwirowa ruda miedzi
-block.ore.gravel.tin.name=Żwirowa ruda cyny
-block.ore.gravel.aluminum.name=Żwirowa ruda aluminium
-block.ore.gravel.cobalt.name=Żwirowa ruda kobaltu
-
-block.brownstone.rough.name=Surowy brunatny piaskowiec
-block.brownstone.rough.road.name=Droga z surowego brunatnego piaskowca
-block.brownstone.smooth.name=Brunatny piaskowiec
-block.brownstone.smooth.brick.name=Blok cegieł z brunatnego piaskowca
-block.brownstone.smooth.road.name=Droga z brunatnego piaskowca
-block.brownstone.smooth.fancy.name=Ozdobny brunatny piaskowiec
-block.brownstone.smooth.chiseled.name=Rzeźbiony brunatny piaskowiec
-
-block.brownstone.rough.slab.name=Płyta z surowego brunatnego piaskowca
-block.brownstone.rough.road.slab.name=Płyta z drogi z surowego brunatnego piaskowca
-block.brownstone.smooth.slab.name=Płyta z brunatnego piaskowca
-block.brownstone.smooth.brick.slab.name=Płyta z bloku cegieł z brunatnego piaskowca
-block.brownstone.smooth.road.slab.name=Płyta z drogi z brunatnego piaskowca
-block.brownstone.smooth.fancy.slab.name=Płyta z ozdobnego brunatnego piaskowca
-block.brownstone.smooth.chiseled.slab.name=Płyta z rzeźbionego brunatnego piaskowca
-
-block.brick.obsidian.name=Blok cegieł z obsydianu
-block.brick.sandstone.name=Blok cegieł z piaskowca
-block.brick.netherrack.name=Blok cegieł z netherracku
-block.brick.iron.name=Blok cegieł z żelaza
-block.brick.gold.name=Blok cegieł ze złota
-block.brick.diamond.name=Blok cegieł z diamentu
-block.brick.lapis.name=Blok cegieł z lazurytu
-block.brick.stone.refined.name=Blok cegieł z polerowanego kamienia
-block.brick.redstone.name=Blok cegieł z czerwonego kamienia
-block.brick.bone.name=Blok cegieł z kości
-block.brick.slime.name=Blok cegieł ze szlamu
-block.brick.blueslime.name=Blok cegieł ze szlamu
-block.brick.endstone.name=Blok cegieł z kamienia kresu
-block.brick.obsidian.ingot.name=Blok cegieł z obsydianu
-
-block.fancybrick.obsidian.name=Ozdobna obsydianowy blok cegieł
-block.fancybrick.sandstone.name=Ozdobny blok cegieł z piaskowca
-block.fancybrick.netherrack.name=Ozdobny blok cegieł z netherracku
-block.fancybrick.iron.name=Ozdobny blok cegieł z żelaza
-block.fancybrick.gold.name=Ozdobny blok cegieł ze złota
-block.fancybrick.diamond.name=Ozdobny blok cegieł z diamentu
-block.fancybrick.lapis.name=Ozdobny blok cegieł z lazurytu
-block.fancybrick.stone.refined.name=Ozdobny blok cegieł z polerowanego kamienia
-block.fancybrick.redstone.name=Ozdobny blok cegieł z czerwonego kamienia
-block.fancybrick.bone.name=Ozdobny blok cegieł z kości
-block.fancybrick.slime.name=Ozdobny blok cegieł ze szlamu
-block.fancybrick.blueslime.name=Ozdobny blok cegieł ze szlamu
-block.fancybrick.endstone.name=Ozdobny blok cegieł z kamienia kresu
-block.fancybrick.obsidian.ingot.name=Ozdobny blok cegieł z obsydianu
-block.fancybrick.stone.road.name=Kamienna droga
-block.fancybrick.stone.name=Ozdobny kamienny blok cegieł
-
-item.oreberry.iron.name=Żelazne jagody
-item.oreberry.gold.name=Złote jagody
-item.oreberry.copper.name=Miedziane jagody
-item.oreberry.tin.name=Cynowe jagody
-item.oreberry.aluminum.name=Aluminiowe jagody
-item.oreberry.essence.name=Jagoda skoncentrowanej esencji
-
-item.goldenhead.name=Złota głowa
-item.tconstruct.titleicon.name=Spawn:
-
-item.tconstruct.Materials.PaperStack.name=Stos papieru
-item.tconstruct.Materials.SlimeCrystal.name=Kryształ szlamu
-item.tconstruct.Materials.SearedBrick.name=Hartowana cegła
-item.tconstruct.Materials.CobaltIngot.name=Sztabka kobaltu
-item.tconstruct.Materials.ArditeIngot.name=Sztabka ardytu
-item.tconstruct.Materials.ManyullynIngot.name=Sztabka manialanu
-item.tconstruct.Materials.Mossball.name=Kula mchu
-item.tconstruct.Materials.LavaCrystal.name=Kryształ lawy
-item.tconstruct.Materials.NecroticBone.name=Nekrotyczna kość
-item.tconstruct.Materials.CopperIngot.name=Sztabka miedzit
-item.tconstruct.Materials.TinIngot.name=Sztabka cyny
-item.tconstruct.Materials.AluminumIngot.name=Sztabka aluminium
-item.tconstruct.Materials.RawAluminum.name=Surowe aluminium
-item.tconstruct.Materials.BronzeIngot.name=Sztabka bronzu
-item.tconstruct.Materials.AluBrassIngot.name=Sztabka mosiądzu aluminiowego
-item.tconstruct.Materials.AlumiteIngot.name=Sztabka alumitu
-item.tconstruct.Materials.SteelIngot.name=Sztabka stali
-item.tconstruct.Materials.BlueSlimeCrystal.name=Kryształ szlamu
-item.tconstruct.Materials.ObsidianIngot.name=Sztabka obsydianu
-item.tconstruct.Materials.IronNugget.name=Samorodek żelaza
-item.tconstruct.Materials.CopperNugget.name=Samorodek miedzi
-item.tconstruct.Materials.TinNugget.name=Samorodek cyny
-item.tconstruct.Materials.AluminumNugget.name=Samorodek aluminium
-item.tconstruct.Materials.EssenceCrystal.name=Kryształ esencji
-item.tconstruct.Materials.AluBrassNugget.name=Samorodek mosiądzu aluminiowego
-item.tconstruct.Materials.ObsidianNugget.name=Samorodek obsydianu
-item.tconstruct.Materials.CobaltNugget.name=Samorodek kobaltu
-item.tconstruct.Materials.ArditeNugget.name=Samorodek ardytu
-item.tconstruct.Materials.ManyullynNugget.name=Samorodek manialinu
-item.tconstruct.Materials.BronzeNugget.name=Samorodek brązu
-item.tconstruct.Materials.AlumiteNugget.name=Samorodek alumitu
-item.tconstruct.Materials.SteelNugget.name=Samorodek stali
-
-item.tconstruct.crystal.essence.name=Kryształ esencji
-
-Smeltery.Controller.name=Kontroler formierni
-Smeltery.Drain.name=Odpływ formierni
-Smeltery.Brick.name=Hartowany blok cegieł
-Smeltery.Stone.name=Hartowany kamień
-Smeltery.Cobblestone.name=Hartowany bruk
-Smeltery.Paver.name=Hartowany chodnik
-Smeltery.Brick.Cracked.name=Pęknięty hartowany blok cegieł
-Smeltery.Road.name=Hartowana droga
-Smeltery.Brick.Fancy.name=Ozdobny hartowany blok cegieł
-Smeltery.Brick.Square.name=Rzeźbiony hartowany blok cegieł
-Smeltery.Brick.Creeper.name=Rzeźbiony hartowany blok cegieł
-
-LavaTank.Tank.name=Hartowany zbiornik
-LavaTank.Gague.name=Hartowane szkło
-LavaTank.Window.name=Hartowane okno
-
-tile.landmine.name=Mina lądowa
-tile.trap.punji.name=Kolce punji
-tile.trap.barricade.oak.name=Dębowa barykada
-tile.trap.barricade.spruce.name=Świerkowa barykada
-tile.trap.barricade.birch.name=Brzozowa barykada
-tile.trap.barricade.jungle.name=Tropikalna barykada
-tile.extractor.essence.name=Ekstraktor esencji
-
-StorageMetals.Cobalt.name=Blok kobaltu
-StorageMetals.Ardite.name=Blok ardytu
-StorageMetals.Manyullyn.name=Blok manialinu
-StorageMetals.Copper.name=Blok miedzi
-StorageMetals.Bronze.name=Blok brązu
-StorageMetals.Tin.name=Blok cyny
-StorageMetals.Aluminum.name=Blok aluminum
-StorageMetals.AlBrass.name=Blok mosiądzu aluminiowego
-StorageMetals.Alumite.name=Blok alumity
-StorageMetals.Steel.name=Blok stali
-StorageMetals.Ender.name=Blok kresu
-
-tile.decoration.stonetorch.name=Pochodnia
-tile.CraftingStation.name=Crafting Station
-
-block.glass.pure.name=Przejrzyste szkło
-block.glass.soul.name=Szkło duszy
-block.glass.soul.pure.name=Przejrzyste szkło duszy
-
-block.glass.pure.pane.name=Przejrzysta szyba
-block.glass.soul.pane.name=Szyba duszy
-block.glass.soul.pane.pure.name=Przejrzysta szyba duszy
-
-block.stainedglass.white.name=Białe barwione szkło
-block.stainedglass.orange.name=Pomarańczowe barwione szkło
-block.stainedglass.magenta.name=Karmazynowe barwione szkło
-block.stainedglass.lightblue.name=Jasnoniebieskie barwione szkło
-block.stainedglass.yellow.name=Żółte barwione szkło
-block.stainedglass.lime.name=Jasnozielone barwione szkło
-block.stainedglass.pink.name=Różowe barwione szkło
-block.stainedglass.gray.name=Szare barwione szkło
-block.stainedglass.lightgray.name=Jasnoszare barwione szkło
-block.stainedglass.cyan.name=Błękitne barwione szkło
-block.stainedglass.purple.name=Purpurowe barwione szkło
-block.stainedglass.blue.name=Niebieskie barwione szkło
-block.stainedglass.brown.name=Brązowe barwione szkło
-block.stainedglass.green.name=Zielone barwione szkło
-block.stainedglass.red.name=Czerwone barwione szkło
-block.stainedglass.black.name=Czarne barwione szkło
-
-block.stainedglass.white.pane.name=Biała barwiona szyba
-block.stainedglass.orange.pane.name=Pomarańczowa barwiona szyba
-block.stainedglass.magenta.pane.name=Karmazynowa barwiona szyba
-block.stainedglass.lightblue.pane.name=Jasnoniebieska barwiona szyba
-block.stainedglass.yellow.pane.name=Żółta barwiona szyba
-block.stainedglass.lime.pane.name=Jasnozielona barwiona szyba
-block.stainedglass.pink.pane.name=Różowa barwiona szyba
-block.stainedglass.gray.pane.name=Szara barwiona szyba
-block.stainedglass.lightgray.pane.name=Jasnoszara barwiona szyba
-block.stainedglass.cyan.pane.name=Błęknita barwiona szyba
-block.stainedglass.purple.pane.name=Purpurowa barwiona szyba
-block.stainedglass.blue.pane.name=Niebieska barwiona szyba
-block.stainedglass.brown.pane.name=Brązowa barwiona szyba
-block.stainedglass.green.pane.name=Zielona barwiona szyba
-block.stainedglass.red.pane.name=Czerwona barwiona szyba
-block.stainedglass.black.pane.name=Czarna barwiona szyba
-
-block.searedstone.slab.brick.name=Płyta z hartowanej cegły
-block.searedstone.slab.stone.name=Płyta z hartowanego kamienia
-block.searedstone.slab.cobble.name=Płyta z hartowanego bruku
-block.searedstone.slab.paver.name=Płyta z hartowanego chodnika
-block.searedstone.slab.road.name=Płyta z hartowanej drogi
-block.searedstone.slab.fancy.name=Ozdobna hartowana płyta
-block.searedstone.slab.square.name=Rzeźbiona hartowana płyta
-block.searedstone.slab.creeper.name=Rzeźbiona hartowana płyta
-
-block.soil.slab.dirt.name=Płyta z ziemii
-block.soil.slab.mycelium.name=Płyta z grzybni
-block.soil.slab.slime.name=Płyta ze szlamowatego błota
-block.soil.slab.grout.name=Płyta z cementu
-block.soil.slab.blueslime.name=Płyta ze szlamowatego błota
-block.soil.slab.graveyardsoil.name=Płyta z cmentarnej gleby
-block.soil.slab.consecratedsoil.name=Płyta z zakonnej gleby
-
-block.slime.soil.blue.name=Niebieska szlamziemia
-block.slime.leaves.blue.name=Szlamowate liście
-block.slime.sapling.bluegreen.name=Szlamowata sadzonka
-block.slime.grass.blue.name=Szlamowata trawa
-block.slime.grass.dirt.name=Szlamowata trawa
-block.slime.tallgrass.name=Szlamowata trawa
-block.slime.congealed.blue.name=Zakrzepły niebieski szlam
-block.slime.congealed.green.name=Zakrzepły zielony szlam
-
-item.tconstruct.storage.knapsack.name=Plecak
-item.tconstruct.blankpattern.pattern.name=Pusty szablon
-item.tconstruct.blankpattern.cast.name=Pusta forma
-
-item.tconstruct.Bowstring.string.name=Cięciwa
-item.tconstruct.Bowstring.enchantedfabric.name=Zaklęta cięciwa
-item.tconstruct.Fletching.feather.name=Lotka z pierza
-item.tconstruct.Fletching.leaf.name=Lotka z liścia
-item.tconstruct.Fletching.slime.name=Lotka ze szlamu
-item.tconstruct.Fletching.blueslime.name=Lotka ze szlamu
-
-item.tconstruct.manual.beginner.name=Materiały i Ty. Część 1
-item.tconstruct.manual.toolstation.name=Materiały i Ty. Część 2
-item.tconstruct.manual.smeltery.name=Potężne Wytopy
-
-item.tconstruct.bucket.Iron.name=Wiadro z ciekłym żelazem
-item.tconstruct.bucket.Gold.name=Wiadro z ciekłym złotem
-item.tconstruct.bucket.Copper.name=Wiadro z ciekłą miedzią
-item.tconstruct.bucket.Tin.name=Wiadro z ciekłą cyną
-item.tconstruct.bucket.Aluminum.name=Wiadro z ciekłym aluminium
-item.tconstruct.bucket.Cobalt.name=Wiadro z ciekłym kobaltem
-item.tconstruct.bucket.Ardite.name=Wiadro z ciekłym ardytem
-item.tconstruct.bucket.Bronze.name=Wiadro z ciekłym brązem
-item.tconstruct.bucket.AluBrass.name=Wiadro z ciekłym mosiędzem aluminiowym
-item.tconstruct.bucket.Manyullyn.name=Wiadro z ciekłym manialinem
-item.tconstruct.bucket.Alumite.name=Wiadro z ciekłym alumitem
-item.tconstruct.bucket.Obsidian.name=Wiadro z ciekłym obsydianem
-item.tconstruct.bucket.Steel.name=Wiadro z ciekłą stalą
-item.tconstruct.bucket.Glass.name=Wiadro z ciekłym szkłem
-item.tconstruct.bucket.Stone.name=Wiadro z hartowanym kamieniem
-item.tconstruct.bucket.Villager.name=Wiadro z ciekłym szmaragdem
-item.tconstruct.bucket.Cow.name=Wiadro z krwią
-item.tconstruct.bucket.Nickel.name=Wiadro z ciekłym niklem
-item.tconstruct.bucket.Lead.name=Wiadro z ciekłym ołowiem
-item.tconstruct.bucket.Silver.name=Wiadro z ciekłym srebrem
-item.tconstruct.bucket.Shiny.name=Wiadro z ciekłym świeciorem
-item.tconstruct.bucket.Invar.name=Wiadro z ciekłym inwarem
-item.tconstruct.bucket.Electrum.name=Wiadro z ciekłym elektronem
-item.tconstruct.bucket.Ender.name=Wiadro z ciekłym kresem
-
-item.tconstruct.bowstring.string.name=Cięciwa
-item.tconstruct.bowstring.enchantedfabric.name=Zaklęta cięciwa
-
-tile.metal.molten.iron.name=Ciekłe żelazo
-tile.metal.molten.gold.name=Ciekłe złoto
-tile.metal.molten.copper.name=Ciekła miedź
-tile.metal.molten.tin.name=Ciekła cyna
-tile.metal.molten.aluminum.name=Ciekłe aluminium
-tile.metal.molten.cobalt.name=Ciekły kobalt
-tile.metal.molten.ardite.name=Ciekły ardyt
-tile.metal.molten.bronze.name=Ciekły brąz
-tile.metal.molten.alubrass.name=Ciekły mosiądz aluminiowy
-tile.metal.molten.manyullyn.name=Ciekły manialin
-tile.metal.molten.alumite.name=Ciekły alumit
-tile.metal.molten.obsidian.name=Ciekły obsydian
-tile.metal.molten.steel.name=Ciekła stal
-tile.metal.molten.glass.name=Ciekłe szkło
-tile.molten.stone.name=Hartowany kamień
-tile.molten.emerald.name=Ciekły szmaragd
-tile.molten.blood.name=Krew
-tile.metal.molten.nickel.name=Ciekły nikiel
-tile.metal.molten.lead.name=Ciekły ołów
-tile.metal.molten.silver.name=Ciekłe srebro
-tile.metal.molten.shiny.name=Ciekły świecior
-tile.metal.molten.invar.name=Ciekły inwar
-tile.metal.molten.electrum.name=Ciekły elektron
-LiquidMetal.Ender.name=Ciekły kres
-
-item.food.apple.diamond.name=Wysadzane klejnotami jabłko
-item.tconstruct.strangefood.edibleslime.name=Galaretowaty szlam
-item.tconstruct.canister.empty.name=Pusty kanister
-item.tconstruct.canister.miniheart.red.name=Miniaturowe czerwone serce
-item.tconstruct.canister.heart.name=Kanister na serca
-item.tconstruct.glove.name=Dirtmover Gloves
-
-SearedBlock.Table.name=Odlewnia
-SearedBlock.Faucet.name=Hartowany kran
-SearedBlock.Basin.name=Basen do odlewów
-
-entity.TConstruct.EdibleSlime.name=Niebieski szlam
-entity.TConstruct.KingSlime.name=Król szlam
-entity.TConstruct.Gardeslime.name=Szlam ogrodowy
-
-key.tarmor=GUI zbroi
-
-death.one.smeltery=%1$s zamienił się w zieloną pożywkę
-death.two.smeltery=%1$s skondensował się w formierni
-death.three.smeltery=%1$s będziemy rzucać kaczki o taflę jeziora
-death.four.smeltery=%1$s sądził, że kąpiel w ciekłych złożach to świetny pomysł
-
-death.attack.Landmine=%1$s widział swoje kończyny lecące kilometry dalej
-death.fell.assist.Landmine=%1$s został skazany na upadek przez minę lądową
-death.attack.LandmineFireworkExplode=%1$s przeleciał się na fajerwerce
-
-parttype.Wood=Drewniana
-parttype.Stone=Kamienna
-parttype.Iron=Żelazna
-parttype.Flint=Krzemienna
-parttype.Cactus=Kaktusowa
-parttype.Bone=Kościowa
-parttype.Obsidian=Obsydianowa
-parttype.Slime=Szlamowa
-parttype.Paper=Papierowa
-parttype.Cobalt=Kobaltowa
-parttype.Ardite=Ardyrowa
-parttype.Manyullyn=Manialinowa
-parttype.Copper=Miedziana
-parttype.Bronze=Brązowa
-parttype.Alumite=Alumitowa
-parttype.Steel=Stalowa
-parttype.BlueSlime=Szlamowa
-
-fluid.iron.molten=Ciekłe żelazo
-fluid.gold.molten=Ciekłe złoto
-fluid.copper.molten=Ciekła miedź
-fluid.tin.molten=Ciekła cyna
-fluid.aluminum.molten=Ciekłe aluminium
-fluid.cobalt.molten=Ciekły kobalt
-fluid.ardite.molten=Ciekły ardyt
-fluid.bronze.molten=Ciekły brąz
-fluid.aluminumbrass.molten=Ciekły mosiądz aluminiowy
-fluid.manyullyn.molten=Ciekły manialin
-fluid.alumite.molten=Ciekły alumit
-fluid.obsidian.molten=Ciekły obsydian
-fluid.steel.molten=Ciekła stal
-fluid.glass.molten=Ciekłe szkło
-fluid.stone.seared=Hartowany kamień
-fluid.emerald.liquid=Ciekły szmaragd
-fluid.blood=Krew
-fluid.nickel.molten=Ciekły nikiel
-fluid.lead.molten=Ciekły ołów
-fluid.silver.molten=Ciekłe srebro
-fluid.platinum.molten=Ciekła platyna
-fluid.invar=Ciekły inwar
-fluid.shiny=Ciekły świecior
-fluid.ender=Ciekły kres
-
diff --git a/resources/assets/tinker/lang/ru_RU.lang b/resources/assets/tinker/lang/ru_RU.lang
deleted file mode 100644
index dbb10ce7..00000000
--- a/resources/assets/tinker/lang/ru_RU.lang
+++ /dev/null
@@ -1,643 +0,0 @@
-itemGroup.TConstructTools=TConstruct: Инструменты
-itemGroup.TConstructMaterials=TConstruct: Материалы
-itemGroup.TConstructBlocks=TConstruct: Блоки
-
-crafters.ToolStation=Инструментальная станция
-crafters.ToolForge=Инструментальная кузница
-crafters.PartBuilder=Создатель деталей
-crafters.PatternShaper=Трафаретный стол
-crafters.TinkerTable=Стол по лужению
-inventory.PatternChest=Сундук со схемами
-crafters.Smeltery=Плавильня
-crafters.Frypan=Сковорода
-inventory.knapsack=Ранец
-
-ToolStation.Crafter.name=Инструментальная станция
-ToolStation.Parts.name=Создатель деталей
-ToolStation.PatternChest.name=Сундук со схемами
-ToolStation.PatternShaper.name=Трафаретный стол
-ToolStation.CastingTable.name=Литейный стол
-tile.FurnaceSlab.name=Плита печки
-
-tile.ToolForge.name=Инструментальная кузница
-tile.Armor.DryingRack.name=Штатив для сушки
-CraftedSoil.Slime.name=Слизистая грязь
-CraftedSoil.Grout.name=Осадок
-CraftedSoil.BlueSlime.name=Слизистая грязь
-CraftedSoil.GraveyardSoil.name=Кладбищенская почва
-CraftedSoil.ConsecratedSoil.name=Священная почва
-tile.CastingChannel.name=Разливочный канал
-tile.slime.channel.name=Сточная слизь
-tile.slime.pad.name=Прыжковая панель
-
-MetalOre.NetherSlag.name=Окалина Нижнего мира
-MetalOre.Cobalt.name=Кобальтовая руда
-MetalOre.Ardite.name=Ардитовая руда
-MetalOre.Copper.name=Медная руда
-MetalOre.Tin.name=Оловянная руда
-MetalOre.Aluminum.name=Алюминиевая руда
-MetalOre.Slag.name=Каменная окалина
-
-block.oreberry.iron.name=Железный рудный куст
-block.oreberry.gold.name=Золотой рудный куст
-block.oreberry.copper.name=Медный рудный куст
-block.oreberry.tin.name=Оловянный рудный куст
-block.oreberry.aluminum.name=Алюминиевый рудный куст
-block.oreberry.essence.name=Куст рудной эссенции
-
-block.ore.gravel.iron.name=Железная гравиевая руда
-block.ore.gravel.gold.name=Золотая гравиевая руда
-block.ore.gravel.copper.name=Медная гравиевая руда
-block.ore.gravel.tin.name=Оловянная гравиевая руда
-block.ore.gravel.aluminum.name=Алюминиевая гравиевая руда
-block.ore.gravel.cobalt.name=Кобальтовая гравиевая руда
-
-block.brownstone.rough.name=Грубый бурый песчаник
-block.brownstone.rough.road.name=Дорога из грубого бурого песчаника
-block.brownstone.smooth.name=Бурый песчаник
-block.brownstone.smooth.brick.name=Кирпич из бурого песчаника
-block.brownstone.smooth.road.name=Дорога из бурого песчаника
-block.brownstone.smooth.fancy.name=Красивый бурый песчаник
-block.brownstone.smooth.chiseled.name=Резной бурый песчаник
-
-block.brownstone.rough.slab.name=Плита из грубого бурого песчаника
-block.brownstone.rough.road.slab.name=Плита из грубого дорожного бурого песчаника
-block.brownstone.smooth.slab.name=Плита из бурого песчаника
-block.brownstone.smooth.brick.slab.name=Плита из кирпича бурого песчаника
-block.brownstone.smooth.road.slab.name=Плита из дорожного бурого песчаника
-block.brownstone.smooth.fancy.slab.name=Плита из красивого бурого песчаника
-block.brownstone.smooth.chiseled.slab.name=Плита из резного бурого песчаника
-
-block.brick.obsidian.name=Обсидиановый кирпич
-block.brick.sandstone.name=Песчаный кирпич
-block.brick.netherrack.name=Кирпич Нижнего мира
-block.brick.iron.name=Железный кирпич
-block.brick.gold.name=Золотой кирпич
-block.brick.diamond.name=Алмазный кирпич
-block.brick.lapis.name=Лазуритовый кирпич
-block.brick.stone.refined.name=Кирпич из отполированного камня
-block.brick.redstone.name=Красный кирпич
-block.brick.bone.name=Костяной кирпич
-block.brick.slime.name=Слизистый кирпич
-block.brick.blueslime.name=Слизистый кирпич
-block.brick.endstone.name=Кирпич из камня Края
-block.brick.obsidian.ingot.name=Обсидиановый кирпич
-
-block.fancybrick.obsidian.name=Красивый обсидиановый кирпич
-block.fancybrick.sandstone.name=Красивый песчаный кирпич
-block.fancybrick.netherrack.name=Красивый адский кирпич
-block.fancybrick.iron.name=Красивый железный кирпич
-block.fancybrick.gold.name=Красивый золотой кирпич
-block.fancybrick.diamond.name=Красивый алмазный кирпич
-block.fancybrick.lapis.name=Красивый лазуритовый кирпич
-block.fancybrick.stone.refined.name=Кирпич из красивого отполированного камня
-block.fancybrick.redstone.name=Кирпич из красивого красного камня
-block.fancybrick.bone.name=Красивый костяной кирпич
-block.fancybrick.slime.name=Красивый слизистый кирпич
-block.fancybrick.blueslime.name=Красивый слизистый кирпич
-block.fancybrick.endstone.name=Кирпич из красивого камня края
-block.fancybrick.obsidian.ingot.name=Красивый обсидиановый кирпич
-block.fancybrick.stone.road.name=Каменная дорого
-block.fancybrick.stone.name=Кирпич из красивого камня
-
-tile.rail.wood.name=Деревянные рельсы
-
-tile.cloth.white.slab.name=Плита из шерсти
-tile.cloth.orange.slab.name=Плита из оранжевой шерсти
-tile.cloth.magenta.slab.name=Плита из сиреневой шерсти
-tile.cloth.lightBlue.slab.name=Плита из светло-синей шерсти
-tile.cloth.yellow.slab.name=Плита из жёлтой шерсти
-tile.cloth.lime.slab.name=Плита из лаймовой шерсти
-tile.cloth.pink.slab.name=Плита из розовой шерсти
-tile.cloth.gray.slab.name=Плита из серой шерсти
-tile.cloth.silver.slab.name=Плита светло-серой шерсти
-tile.cloth.cyan.slab.name=Плита из бирюзовой шерсти
-tile.cloth.purple.slab.name=Плита из фиолетовой шерсти
-tile.cloth.blue.slab.name=Плита из синей шерсти
-tile.cloth.brown.slab.name=Плита из коричневой шерсти
-tile.cloth.green.slab.name=Плита из зелёной шерсти
-tile.cloth.red.slab.name=Плита из красной шерсти
-tile.cloth.black.slab.name=Плита из чёрной шерсти
-
-tile.GlueBlock.name=Блок клея
-tile.liquid.glue.name=Клей
-
-item.oreberry.iron.name=Кусочки железа
-item.oreberry.gold.name=Кусочки золота
-item.oreberry.copper.name=Кусочки меди
-item.oreberry.tin.name=Кусочки олова
-item.oreberry.aluminum.name=Кусочки алюминия
-item.oreberry.essence.name=Кусочки концентрированной эссенции
-
-item.goldenhead.name=Золотистая голова
-item.tconstruct.titleicon.name=Призвать существо -
-
-item.tconstruct.Pattern.blank_pattern.name=Пустая схема
-item.tconstruct.Pattern.rod.name=Схема стержня инструмента
-item.tconstruct.Pattern.pickaxe.name=Схема головки кирки
-item.tconstruct.Pattern.shovel.name=Схема головки лопаты
-item.tconstruct.Pattern.axe.name=Схема головки топора
-item.tconstruct.Pattern.swordblade.name=Схема лезвия меча
-item.tconstruct.Pattern.largeguard.name=Wide Guard Pattern
-item.tconstruct.Pattern.mediumguard.name=Hand Guard Pattern
-item.tconstruct.Pattern.crossbar.name=Crossbar Pattern
-item.tconstruct.Pattern.binding.name=Схема связующего звена инструмента
-item.tconstruct.Pattern.frypan.name=Схема сковороды
-item.tconstruct.Pattern.sign.name=Wide Board Pattern
-item.tconstruct.Pattern.knifeblade.name=Схема лезвия ножа
-item.tconstruct.Pattern.chisel.name=Схема головки зубила
-item.tconstruct.Pattern.largerod.name=Схема прочного стержня
-item.tconstruct.Pattern.toughbinding.name=Схема прочного связующего звена
-item.tconstruct.Pattern.largeplate.name=Large Plate Pattern
-item.tconstruct.Pattern.broadaxe.name=Broadaxe Head Pattern
-item.tconstruct.Pattern.scythe.name=Схема головки косы
-item.tconstruct.Pattern.excavator.name=Схема головки землекопалки
-item.tconstruct.Pattern.largeblade.name=Схема большого лезвия
-item.tconstruct.Pattern.hammerhead.name=Схема головки молотка
-item.tconstruct.Pattern.fullguard.name=Full Guard Pattern
-item.tconstruct.Pattern.bowstring.name=Схема тетивы
-item.tconstruct.Pattern.fletching.name=Схема оперения
-item.tconstruct.Pattern.arrowhead.name=Схема наконечника
-
-item.tconstruct.Pattern.blank_cast.name=Пустой слепок
-item.tconstruct.MetalPattern.rod.name=Слепок стержня инструмента
-item.tconstruct.MetalPattern.pickaxe.name=Слепок головки кирки
-item.tconstruct.MetalPattern.shovel.name=Слепок головки лопаты
-item.tconstruct.MetalPattern.axe.name=Слепок головки топора
-item.tconstruct.MetalPattern.swordblade.name=Слепок лезвия меча
-item.tconstruct.MetalPattern.largeguard.name=Wide Guard Cast
-item.tconstruct.MetalPattern.mediumguard.name=Hand Guard Cast
-item.tconstruct.MetalPattern.crossbar.name=Crossbar Cast
-item.tconstruct.MetalPattern.binding.name=Слепок связующего звена инструмента
-item.tconstruct.MetalPattern.frypan.name=Слепок сковороды
-item.tconstruct.MetalPattern.sign.name=Wide Board Cast
-item.tconstruct.MetalPattern.knifeblade.name=Слепок лезвия ножа
-item.tconstruct.MetalPattern.chisel.name=Слепок головки зубила
-item.tconstruct.MetalPattern.largerod.name=Слепок прочного стержня
-item.tconstruct.MetalPattern.toughbinding.name=Слепок прочного связующего звена
-item.tconstruct.MetalPattern.largeplate.name=Large Plate Cast
-item.tconstruct.MetalPattern.broadaxe.name=Broadaxe Head Cast
-item.tconstruct.MetalPattern.scythe.name=Слепок головки косы
-item.tconstruct.MetalPattern.excavator.name=Слепок головки землекопалки
-item.tconstruct.MetalPattern.largeblade.name=Слепок большого лезвия
-item.tconstruct.MetalPattern.hammerhead.name=Слепок головки молотка
-item.tconstruct.MetalPattern.fullguard.name=Full Guard Cast
-item.tconstruct.MetalPattern.bowstring.name=Слепок тетивы
-item.tconstruct.MetalPattern.fletching.name=Слепок оперения
-item.tconstruct.MetalPattern.arrowhead.name=Слепок наконечника
-item.tconstruct.MetalPattern.ingot.name=Слепок слитка
-item.tconstruct.MetalPattern.gem.name=Слепок жемчужины
-
-item.tconstruct.Materials.PaperStack.name=Кучка бумаги
-item.tconstruct.Materials.SlimeCrystal.name=Слизистый кристалл
-item.tconstruct.Materials.SearedBrick.name=Обожжённый кирпич
-item.tconstruct.Materials.CobaltIngot.name=Кобальтовый слиток
-item.tconstruct.Materials.ArditeIngot.name=Ардитовый слиток
-item.tconstruct.Materials.ManyullynIngot.name=Мануллиновый слиток
-item.tconstruct.Materials.Mossball.name=Шарик мха
-item.tconstruct.Materials.LavaCrystal.name=Лавовый кристалл
-item.tconstruct.Materials.NecroticBone.name=Некротическая кость
-item.tconstruct.Materials.CopperIngot.name=Медный слиток
-item.tconstruct.Materials.TinIngot.name=Оловянный слиток
-item.tconstruct.Materials.AluminumIngot.name=Алюминиевый слиток
-item.tconstruct.Materials.RawAluminum.name=Необработанный алюминий
-item.tconstruct.Materials.BronzeIngot.name=Бронзовый слиток
-item.tconstruct.Materials.AluBrassIngot.name=Слиток алюминиевой латуни
-item.tconstruct.Materials.AlumiteIngot.name=Алюмитовый слиток
-item.tconstruct.Materials.SteelIngot.name=Стальной слиток
-item.tconstruct.Materials.BlueSlimeCrystal.name=Слизистый кристалл
-item.tconstruct.Materials.ObsidianIngot.name=Обсидиановый слиток
-item.tconstruct.Materials.IronNugget.name=Железный самородок
-item.tconstruct.Materials.CopperNugget.name=Медный самородок
-item.tconstruct.Materials.TinNugget.name=Оловянный самородок
-item.tconstruct.Materials.AluminumNugget.name=Алюминиевый самородок
-item.tconstruct.Materials.EssenceCrystal.name=Кристалл эссенции
-item.tconstruct.Materials.AluBrassNugget.name=Самородок алюминиевой латуни
-item.tconstruct.Materials.SilkyCloth.name=Шёлковистая ткань
-item.tconstruct.Materials.SilkyJewel.name=Шёлковистая драгоценность
-item.tconstruct.Materials.ObsidianNugget.name=Обсидиановый самородок
-item.tconstruct.Materials.CobaltNugget.name=Кобальтовый самородок
-item.tconstruct.Materials.ArditeNugget.name=Ардитовый самородок
-item.tconstruct.Materials.ManyullynNugget.name=Мануллиновый самородок
-item.tconstruct.Materials.BronzeNugget.name=Бронзовый самородок
-item.tconstruct.Materials.AlumiteNugget.name=Алюмитовый самородок
-item.tconstruct.Materials.SteelNugget.name=Кусочек стали
-item.tconstruct.Materials.PigIronIngot.name=Слиток свиного железа
-item.tconstruct.Materials.PigIronNugget.name=Тарелка свиного железа
-item.tconstruct.Materials.GlueBall.name=Шарик клея
-
-item.tconstruct.ArmorPattern.helmet.name=Слепок шлема
-item.tconstruct.ArmorPattern.chestplate.name=Слепок кирасы
-item.tconstruct.ArmorPattern.leggings.name=Слепок понож
-item.tconstruct.ArmorPattern.boots.name=Слепок ботинок
-
-item.tconstruct.helmetWood.name=Деревянный шлем
-item.tconstruct.chestplateWood.name=Деревянная кираса
-item.tconstruct.leggingsWood.name=Деревянные поножи
-item.tconstruct.bootsWood.name=Деревянные ботинки
-
-item.tconstruct.exoGoggles.name=Экзо-очки
-item.tconstruct.exoChest.name=Экзо-кираса
-item.tconstruct.exoPants.name=Экзо-поножи
-item.tconstruct.exoShoes.name=Экзо-обувь
-
-item.tconstruct.jerky.beef.name=Вяленая говядина
-item.tconstruct.jerky.pig.name=Вяленый бекон
-item.tconstruct.jerky.chicken.name=Вяленая курятина
-item.tconstruct.jerky.sheep.name=Вяленая баранина
-item.tconstruct.jerky.fish.name=Вяленая рыбка
-item.tconstruct.jerky.zombie.name=Вяленое мясо монстра
-
-Smeltery.Controller.name=Контроллер плавильни
-Smeltery.Drain.name=Водосток плавильни
-Smeltery.Brick.name=Обожжённые кирпичи
-Smeltery.Stone.name=Обожжённый камень
-Smeltery.Cobblestone.name=Обожжённый булыжник
-Smeltery.Paver.name=Обожжённая брусчатка
-Smeltery.Brick.Cracked.name=Потресканные обожжённые кирпичи
-Smeltery.Road.name=Обожжённая дорога
-Smeltery.Brick.Fancy.name=Красивые обожжённые кирпичи
-Smeltery.Brick.Square.name=Резные обожжённые кирпичи
-Smeltery.Brick.Creeper.name=Резные обожжённые кирпичи
-Smeltery.Channel.name=Разливочный канал
-
-LavaTank.Tank.name=Обожжённый резервуар
-LavaTank.Gague.name=Обожжённое стекло
-LavaTank.Window.name=Обожжённое окно
-
-tile.landmine.name=Мина
-
-tile.trap.punji.name=Колышек
-tile.trap.barricade.oak.name=Баррикада из дуба
-tile.trap.barricade.spruce.name=Баррикада из ели
-tile.trap.barricade.birch.name=Баррикада из берёзы
-tile.trap.barricade.jungle.name=Баррикада из тропического дерева
-tile.explosive.slime.name=SDX
-
-StorageMetals.Cobalt.name=Кобальтовый блок
-StorageMetals.Ardite.name=Ардитовый блок
-StorageMetals.Manyullyn.name=Мануллиновый блок
-StorageMetals.Copper.name=Медный блок
-StorageMetals.Bronze.name=Бронзовый блок
-StorageMetals.Tin.name=Оловянный блок
-StorageMetals.Aluminum.name=Алюминиевый блок
-StorageMetals.AlBrass.name=Блок алюминиевой латуни
-StorageMetals.Alumite.name=Алюмитовый блок
-StorageMetals.Steel.name=Стальной блок
-StorageMetals.Ender.name=Блок твёрдого камня Края
-
-tile.decoration.stonetorch.name=Факел
-tile.decoration.stoneladder.name=Лестница
-tile.CraftingStation.name=Станция создания
-
-block.glass.pure.name=Чистое стекло
-block.glass.soul.name=Душевное стекло
-block.glass.soul.pure.name=Чистое душевное стекло
-
-block.glass.pure.pane.name=Чистая стеклянная панель
-block.glass.soul.pane.name=Душевная стеклянная панель
-block.glass.soul.pane.pure.name=Чистая душевная стеклянная панель
-
-block.stainedglass.white.name=Белое стекло
-block.stainedglass.orange.name=Оранжевое стекло
-block.stainedglass.magenta.name=Сиреневое стекло
-block.stainedglass.lightblue.name=Светло-синее стекло
-block.stainedglass.yellow.name=Жёлтое стекло
-block.stainedglass.lime.name=Лаймовое стекло
-block.stainedglass.pink.name=Розовое стекло
-block.stainedglass.gray.name=Серое стекло
-block.stainedglass.lightgray.name=Светло-серое стекло
-block.stainedglass.cyan.name=Бирюзовое стекло
-block.stainedglass.purple.name=Фиолетовое стекло
-block.stainedglass.blue.name=Синее стекло
-block.stainedglass.brown.name=Коричневое стекло
-block.stainedglass.green.name=Зелёное стекло
-block.stainedglass.red.name=Красное стекло
-block.stainedglass.black.name=Чёрное стекло
-
-block.stainedglass.white.pane.name=Белая стеклянная панель
-block.stainedglass.orange.pane.name=Оранжевая стеклянная панель
-block.stainedglass.magenta.pane.name=Сиреневая стеклянная панель
-block.stainedglass.lightblue.pane.name=Светло-синяя стеклянная панель
-block.stainedglass.yellow.pane.name=Жёлтая стеклянная панель
-block.stainedglass.lime.pane.name=Лаймовая стеклянная панель
-block.stainedglass.pink.pane.name=Розовая стеклянная панель
-block.stainedglass.gray.pane.name=Серая стеклянная панель
-block.stainedglass.lightgray.pane.name=Светло-серая стеклянная панель
-block.stainedglass.cyan.pane.name=Бирюзовая стеклянная панель
-block.stainedglass.purple.pane.name=Фиолетовая стеклянная панель
-block.stainedglass.blue.pane.name=Синяя стеклянная панель
-block.stainedglass.brown.pane.name=Коричневая стеклянная панель
-block.stainedglass.green.pane.name=Зелёная стеклянная панель
-block.stainedglass.red.pane.name=Красная стеклянная панель
-block.stainedglass.black.pane.name=Чёрная стеклянная панель
-
-block.searedstone.slab.brick.name=Плита из обожжённого кирпича
-block.searedstone.slab.stone.name=Плита из обожжённого камня
-block.searedstone.slab.cobble.name=Плита из обожжённого булыжника
-block.searedstone.slab.paver.name=Плита из обожжённой брусчатки
-block.searedstone.slab.road.name=Плита из обожжённой дороги
-block.searedstone.slab.fancy.name=Красивая обожжённая плита
-block.searedstone.slab.square.name=Резная обожжённая плита
-block.searedstone.slab.creeper.name=Резная обожжённая плита
-
-block.soil.slab.dirt.name=Земляная плита
-block.soil.slab.mycelium.name=Плита из широкого мицелия
-block.soil.slab.slime.name=Плита из слизистой грязи
-block.soil.slab.grout.name=Плита из осадка
-block.soil.slab.blueslime.name=Плита из слизистой грязи
-block.soil.slab.graveyardsoil.name=Плита из кладбищенской почвы
-block.soil.slab.consecratedsoil.name=Плита из священной почвы
-
-block.slime.soil.blue.name=Земля из синей слизи
-block.slime.leaves.blue.name=Слизистая листва
-block.slime.sapling.bluegreen.name=Слизистый саженец
-block.slime.grass.blue.name=Слизистая трава
-block.slime.grass.dirt.name=Слизистая трава
-block.slime.tallgrass.name=Слизистая трава
-block.slime.congealed.blue.name=Застывшая синяя слизь
-block.slime.congealed.green.name=Застывшая зелёная слизь
-
-item.tconstruct.storage.knapsack.name=Ранец
-item.tconstruct.blankpattern.pattern.name=Пустая схема
-item.tconstruct.blankpattern.cast.name=Пустой слепок
-
-item.tconstruct.Bowstring.string.name=Тетива
-item.tconstruct.Bowstring.enchantedfabric.name=Зачарованная тетива
-item.tconstruct.Bowstring.flamestring.name=Огненная тетива
-item.tconstruct.Fletching.feather.name=Перьевое оперение
-item.tconstruct.Fletching.leaf.name=Листовое оперение
-item.tconstruct.Fletching.slime.name=Слизистое оперение
-item.tconstruct.Fletching.blueslime.name=Слизистое оперение
-
-item.tconstruct.manual.beginner.name=Материалы и Вы
-item.tconstruct.manual.toolstation.name=Материалы и Вы
-item.tconstruct.manual.smeltery.name=Могучая металлургия
-
-item.tconstruct.bucket.Iron.name=Ведро расплавленного железа
-item.tconstruct.bucket.Gold.name=Ведро расплавленного золота
-item.tconstruct.bucket.Copper.name=Ведро расплавленной меди
-item.tconstruct.bucket.Tin.name=Ведро расплавленного олова
-item.tconstruct.bucket.Aluminum.name=Ведро расплавленного алюминия
-item.tconstruct.bucket.Cobalt.name=Ведро расплавленного кобальта
-item.tconstruct.bucket.Ardite.name=Ведро расплавленного ардита
-item.tconstruct.bucket.Bronze.name=Ведро расплавленной бронзы
-item.tconstruct.bucket.AluBrass.name=Ведро расплавленной алюминиевой латуни
-item.tconstruct.bucket.Manyullyn.name=Ведро расплавленного мануллина
-item.tconstruct.bucket.Alumite.name=Ведро расплавленного алюмита
-item.tconstruct.bucket.Obsidian.name=Ведро расплавленного обсидиана
-item.tconstruct.bucket.Steel.name=Ведро расплавленной стали
-item.tconstruct.bucket.Glass.name=Ведро расплавленного стекла
-item.tconstruct.bucket.Stone.name=Ведро расплавленного обожжённого камня
-item.tconstruct.bucket.Villager.name=Ведро сжиженного изумруда
-item.tconstruct.bucket.Cow.name=Ведро крови
-item.tconstruct.bucket.Nickel.name=Ведро расплавленного никеля
-item.tconstruct.bucket.Lead.name=Ведро расплавленного свинца
-item.tconstruct.bucket.Silver.name=Ведро расплавленного серебра
-item.tconstruct.bucket.Shiny.name=Ведро расплавленного блеска
-item.tconstruct.bucket.Invar.name=Ведро расплавленного инвара
-item.tconstruct.bucket.Electrum.name=Ведро расплавленного электрума
-item.tconstruct.bucket.Ender.name=Ведро жидкости Края
-item.tconstruct.bucket.Slime.name=Ведро жидкой слизи
-item.tconstruct.bucket.PigIron.name=Ведро расплавленного свиного железа
-item.tconstruct.bucket.Glue.name=Ведро липкого клея
-
-item.tconstruct.bowstring.string.name=Тетива
-item.tconstruct.bowstring.enchantedfabriI donc.name=Зачарованная тетива
-
-tile.metal.molten.iron.name=Расплавленное железо
-tile.metal.molten.gold.name=Расплавленное золото
-tile.metal.molten.copper.name=Расплавленная медь
-tile.metal.molten.tin.name=Жидкое олово
-tile.metal.molten.aluminum.name=Расплавленной алюминий
-tile.metal.molten.cobalt.name=Расплавленный кобальт
-tile.metal.molten.ardite.name=Расплавленный ардит
-tile.metal.molten.bronze.name=Расплавленная бронза
-tile.metal.molten.alubrass.name=Расплавленная алюминиевая латунь
-tile.metal.molten.manyullyn.name=Расплавленный мануллин
-tile.metal.molten.alumite.name=Расплавленный алюмит
-tile.metal.molten.obsidian.name=Расплавленный обсидиан
-tile.metal.molten.steel.name=Расплавленная сталь
-tile.metal.molten.glass.name=Расплавленное стекло
-tile.molten.stone.name=Расплавленный обожжённый камень
-tile.molten.emerald.name=Сжиженный изумруд
-tile.liquid.blood.name=Кровь
-tile.metal.molten.nickel.name=Расплавленный никель
-tile.metal.molten.silver.name=Расплавленное серебро
-tile.metal.molten.lead.name=Расплавленный свинец
-tile.metal.molten.shiny.name=Расплавленный блеск
-tile.metal.molten.invar.name=Расплавленный инвар
-tile.metal.molten.Electrum.name=Расплавленный электрум
-tile.fluid.ender.name=Жидкость Края
-tile.liquid.slime.name=Сжиженная слизь
-
-LiquidMetal.Iron.name=Расплавленное железо
-LiquidMetal.Gold.name=Расплавленное золото
-LiquidMetal.Copper.name=Расплавленная медь
-LiquidMetal.Tin.name=Жидкое олово
-LiquidMetal.Aluminum.name=Расплавленной алюминий
-LiquidMetal.Cobalt.name=Расплавленный кобальт
-LiquidMetal.Ardite.name=Расплавленный ардит
-LiquidMetal.Bronze.name=Расплавленная бронза
-LiquidMetal.AluBrass.name=Расплавленная алюминиевая латунь
-LiquidMetal.Manyullyn.name=Расплавленный мануллин
-LiquidMetal.Alumite.name=Расплавленный алюмит
-LiquidMetal.Obsidian.name=Расплавленный обсидиан
-LiquidMetal.Steel.name=Расплавленная сталь
-LiquidMetal.Glass.name=Расплавленное стекло
-LiquidMetal.Stone.name=Расплавленный обожжённый камень
-LiquidMetal.Villager.name=Сжиженный изумруд
-LiquidMetal.Cow.name=Кровь
-LiquidMetal.Nickel.name=Расплавленный никель
-LiquidMetal.Silver.name=Расплавленное серебро
-LiquidMetal.Lead.name=Расплавленный свинец
-LiquidMetal.Shiny.name=Расплавленный блеск
-LiquidMetal.Invar.name=Расплавленный инвар
-LiquidMetal.Electrum.name=Расплавленный электрум
-LiquidMetal.Ender.name=Жидкость Края
-
-item.food.apple.diamond.name=Драгоценное яблоко
-item.tconstruct.strangefood.edibleslime.name=Желатиновая слизь
-item.tconstruct.canister.empty.name=Пустая жестяная коробка
-item.tconstruct.canister.miniheart.red.name=Миниатюрное красное сердце
-item.tconstruct.canister.heart.name=Лечащая жестяная коробка
-item.tconstruct.glove.name=Перчатки для перемещения земли
-
-SearedBlock.Table.name=Литейный стол
-SearedBlock.Faucet.name=Seared Faucet
-SearedBlock.Basin.name=Литейный резервуар
-
-entity.TConstruct.EdibleSlime.name=Синий слизень
-entity.TConstruct.KingSlime.name=Король слизней
-entity.TConstruct.Gardeslime.name=Слизень охраник
-entity.TConstruct.MiniGardy.name=Слизень охраник
-
-key.tarmor=Gui брони
-key.tcapes.reload=Перезагрузить плащи
-
-death.one.smeltery=%1$s превратился в зелёный сойлент
-death.two.smeltery=%1$s сплавился с плавильней
-death.three.smeltery=%1$s станет ступенькой в нашей революции!
-death.four.smeltery=%1$s думал, что купание в горячих жидкостях хорошая идея
-
-death.attack.Landmine=%1$s наблюдал как его ноги взорвались на мине
-death.attack.FireworkExplode=%1$s был разорван диким взрывом фейерверка
-
-fluid.iron.molten=Расплавленное железо
-fluid.gold.molten=Расплавленное золото
-fluid.copper.molten=Расплавленная медь
-fluid.tin.molten=Расплавленное олово
-fluid.aluminum.molten=Расплавленный алюминий
-fluid.cobalt.molten=Расплавленный кобальт
-fluid.ardite.molten=Расплавленный ардит
-fluid.bronze.molten=Расплавленная бронза
-fluid.aluminumbrass.molten=Расплавленная алюминиевая латунь
-fluid.manyullyn.molten=Расплавленный мануллин
-fluid.alumite.molten=Расплавленный алюмит
-fluid.obsidian.molten=Расплавленный обсидиан
-fluid.steel.molten=Расплавленная сталь
-fluid.glass.molten=Расплавленное стекло
-fluid.stone.seared=Обожжённый камень
-fluid.emerald.liquid=Сжиженный изумруд
-fluid.blood=Кровь
-fluid.nickel.molten=Расплавленный никель
-fluid.lead.molten=Расплавленный свинец
-fluid.silver.molten=Расплавленное серебро
-fluid.shiny=Расплавленный блеск
-fluid.invar.molten=Расплавленный инвар
-fluid.electrum.molten=Расплавленный электрум
-fluid.ender=Жидкость Края
-fluid.slime.blue=Жидкая синяя слизь
-fluid.pigiron.molten=Свиное железо
-fluid.glue=Клей
-
-tconstruct.achievementPage.name=TConstruct
-achievement.tconstruct.beginner=Учимся лужению
-achievement.tconstruct.pattern=Работник по трафарету
-achievement.tconstruct.tinkerer=Лудильщик
-achievement.tconstruct.proTinkerer=Профессиональный лудильщик
-achievement.tconstruct.smelteryMaker=Создатель плавильни
-achievement.tconstruct.preparedFight=К бою готов
-achievement.tconstruct.enemySlayer=Убийца врагов
-achievement.tconstruct.dualConvenience=Двойное удобство
-
-achievement.tconstruct.beginner.desc=Откройте руководство "Материалы и Вы"
-achievement.tconstruct.pattern.desc=Создайте свой первый пустой шаблон
-achievement.tconstruct.tinkerer.desc=Создайте свой первый инструмент
-achievement.tconstruct.proTinkerer.desc=Создайте свой первый "tier 2" инструмент
-achievement.tconstruct.smelteryMaker.desc=Создайте компонент плавильни
-achievement.tconstruct.preparedFight.desc=Создайте своё первое оружие
-achievement.tconstruct.enemySlayer.desc=Убейте моба
-achievement.tconstruct.dualConvenience.desc=Убейте моба сковородой, а затем приготовьте его мясо на ней
-
-armortype.ExoArmor=Экзокостюм
-
-knapsack.tooltip=Ранец для хранения ваших вещей.
-strangefood1.tooltip=Пахнет ужасно, но если вам
-strangefood2.tooltip=больше нечего поесть...
-hambone1.tooltip=Hambone!
-hambone2.tooltip=Подходит для основания маяка
-metalblock.tooltip=Подходит для основания маяка
-craftedsoil1.tooltip=Лечит нежить
-craftedsoil2.tooltip=Губительно для нежити
-fancybrick1.tooltip=Несколько дорогой
-fancybrick2.tooltip=Довольно дорогой
-fancybrick3.tooltip=Излучает сигнал красн. камня до
-fancybrick4.tooltip=4 блоков
-fancybrick5.tooltip=Упругий!
-brick1.tooltip=Несколько дорогой
-brick2.tooltip=Довольно дорогой
-brick3.tooltip=Излучает сигнал красн. камня до
-brick4.tooltip=4 блоков
-brick5.tooltip=Упругий!
-craftedsoil.slab1.tooltip=Лечит нежить
-craftedsoil.slab2.tooltip=Губительно для нежити
-speedblock1.tooltip=Вы бегаете довольно быстро на этом
-speedblock2.tooltip=Вы бегаете немного быстрее на этом
-speedblock.slab1.tooltip=Вы бегаете довольно быстро на этом
-speedblock.slab2.tooltip=Вы бегаете немного быстрее на этом
-manual1.tooltip=Автор: Skyla
-manual2.tooltip=Автор: Skyla
-manual3.tooltip=Автор: Thruul M'gon
-searedtank1.tooltip=Содержит
-searedtank2.tooltip=Сохраняет любые имеющиеся жидкости, когда собирает их
-oreberries1.tooltip=Сладкое железо
-oreberries2.tooltip=Чистый блеск
-oreberries3.tooltip=На вкус как металл
-oreberries4.tooltip=Оловянный человек
-oreberries5.tooltip=Белый шоколад
-oreberries6.tooltip=На вкус как крипер
-hearthcanister1.tooltip=Crafting Item
-hearthcanister2.tooltip=Crafting Item
-hearthcanister3.tooltip=Часть низкоуровневых лечащих жестяных коробок
-hearthcanister4.tooltip=Аксессуар
-hearthcanister5.tooltip=Постоянное увеличение здоровья
-landmine1.tooltip=со всем
-landmine2.tooltip=мобами, игроками и красным камнем
-landmine3.tooltip=игроками и красным камнем
-landmine4.tooltip=только с красным камнем
-landmine5.tooltip=Взаимодействует с:
-goldenhead1.tooltip=Некоторые говорят, что употребление головы
-goldenhead2.tooltip=павшего врага укрепляет кровь
-oreberrybush1.tooltip=Сладкое железо
-oreberrybush2.tooltip=Чистый блеск
-oreberrybush3.tooltip=На вкус как металл
-oreberrybush4.tooltip=Оловянный человек
-oreberrybush5.tooltip=Белый шоколад
-oreberrybush6.tooltip=На вкус как крипер
-barricade.tooltip=Stacks up to 4 times
-pattern1.tooltip=Material Cost:
-pattern2.tooltip=Material Cost:
-potionlauncher.tooltip=Тестовый предмет
-smeltery.controller.tooltip=Мозг плавильни
-smeltery.drain.tooltip1=Работает в качестве входа и выхода для
-smeltery.drain.tooltip2=жидкостей в плавильне
-smeltery.brick.tooltip1=Структурный блок плавильни
-smeltery.brick.tooltip2=(Безопасен для декораций)
-
-gui.smeltery1=Топливо
-gui.landmine=Мина
-gui.partcrafter1=Tool Part Crafting
-gui.partcrafter2=Tool Part Building
-gui.partcrafter3=Поместите схему и материал слева, чтобы начать.
-gui.partcrafter4=Базовая прочность:
-gui.partcrafter5=Handle Modifier:
-gui.partcrafter6=Скорость добычи:
-gui.partcrafter7=Уровень добычи:
-gui.partcrafter8=Уровень добычи:
-gui.partcrafter9= Сердце
-gui.partcrafter10= Сердца
-gui.partcrafter11=Attack:
-gui.partcrafter.mining1=Камень
-gui.partcrafter.mining2=Железо
-gui.partcrafter.mining3=Красный камень
-gui.partcrafter.mining4=Обсидиан
-gui.partcrafter.mining5=Кобальт
-gui.partcrafter.mining6=Мануллин
-gui.stenciltable1=След. схема
-gui.stenciltable2=Пред. схема
-gui.toolforge1=Ремонт и модификация
-gui.toolforge2=Основной способ починить или изменить Ваши инструменты. Поместите инструмент и материал слева, чтобы начать.
-gui.toolstation1=Прочность:
-gui.toolstation2=Прочность:
-gui.toolstation3=Attack:
-gui.toolstation4=Бонус:
-gui.toolstation5=Loss:
-gui.toolstation6=Draw Speed:
-gui.toolstation7=Скорость стрелы:
-gui.toolstation8=Вес:
-gui.toolstation9=Точность:
-gui.toolstation10=Base Attack:
-gui.toolstation11=Shortbow Attack:
-gui.toolstation12=Скорости добычи:
-gui.toolstation13=Уровни сбора:
-gui.toolstation14=Скорость добычи:
-gui.toolstation15=Уровень добычи:
-gui.toolstation16=Скорость использования:
-gui.toolstation17=Modifiers
-gui.toolstation18=Modifiers remaining:
-
-tconstruct.waila.empty=Пусто
-tconstruct.waila.liquidtag=Жидкость:
-tconstruct.waila.amounttag=Количество:
-tconstruct.waila.invalidstructure=Неверная cтруктура
diff --git a/resources/assets/tinker/lang/zh_CN.lang b/resources/assets/tinker/lang/zh_CN.lang
deleted file mode 100644
index cfa83714..00000000
--- a/resources/assets/tinker/lang/zh_CN.lang
+++ /dev/null
@@ -1,657 +0,0 @@
-itemGroup.TConstructTools=匠魂|工具
-itemGroup.TConstructMaterials=匠魂|材料
-itemGroup.TConstructBlocks=匠魂|方块
-
-crafters.ToolStation=工具组装台
-crafters.ToolForge=工具装配站
-crafters.PartBuilder=零件加工台
-crafters.PatternShaper=模具加工台
-inventory.PatternChest=模具箱
-crafters.Smeltery=冶炼厂
-crafters.Frypan=煎锅
-inventory.knapsack=背包
-
-ToolStation.Crafter.name=工具组装台
-ToolStation.Parts.name=零件加工台
-ToolStation.PatternChest.name=模具箱
-ToolStation.PatternShaper.name=模具桌
-ToolStation.CastingTable.name=浇铸台
-
-tile.ToolForge.name=工具装配站
-tile.Armor.DryingRack.name=晾干架
-CraftedSoil.Slime.name=黏滑泥泞
-CraftedSoil.Grout.name=水泥
-CraftedSoil.BlueSlime.name=黏滑蓝泥泞
-CraftedSoil.GraveyardSoil.name=黄泉土
-CraftedSoil.ConsecratedSoil.name=神圣土
-tile.CastingChannel.name=浇注道
-tile.slime.channel.name=史莱姆通道
-tile.slime.pad.name=弹跳板
-
-MetalOre.NetherSlag.name=下界岩碎渣
-MetalOre.Cobalt.name=钴矿石
-MetalOre.Ardite.name=阿迪特矿石
-MetalOre.Copper.name=铜矿石
-MetalOre.Tin.name=锡矿石
-MetalOre.Aluminum.name=铝矿石
-MetalOre.Slag.name=石渣
-
-block.oreberry.iron.name=铁矿莓丛
-block.oreberry.gold.name=金矿莓丛
-block.oreberry.copper.name=铜矿莓丛
-block.oreberry.tin.name=锡矿莓丛
-block.oreberry.aluminum.name=铝矿莓丛
-block.oreberry.essence.name=精华莓丛
-
-block.ore.gravel.iron.name=铁矿砂砾
-block.ore.gravel.gold.name=金矿砂砾
-block.ore.gravel.copper.name=铜矿砂砾
-block.ore.gravel.tin.name=锡矿砂砾
-block.ore.gravel.aluminum.name=铝矿砂砾
-block.ore.gravel.cobalt.name=钴矿砂砾
-
-block.brownstone.rough.name=光滑褐岩
-block.brownstone.rough.road.name=光滑褐岩铺路石
-block.brownstone.smooth.name=褐岩
-block.brownstone.smooth.brick.name=褐岩砖
-block.brownstone.smooth.road.name=褐岩铺路石
-block.brownstone.smooth.fancy.name=平滑褐岩砖
-block.brownstone.smooth.chiseled.name=錾制褐岩砖
-
-block.brownstone.rough.slab.name=光滑褐岩台阶
-block.brownstone.rough.road.slab.name=光滑褐岩铺路台阶
-block.brownstone.smooth.slab.name=褐岩台阶
-block.brownstone.smooth.brick.slab.name=褐岩砖台阶
-block.brownstone.smooth.road.slab.name=褐岩铺路石台阶
-block.brownstone.smooth.fancy.slab.name=平滑褐岩砖台阶
-block.brownstone.smooth.chiseled.slab.name=錾制褐岩砖台阶
-
-ock.brick.obsidian.name=黑曜石砖块
-block.brick.sandstone.name=沙石砖块
-block.brick.netherrack.name=平滑下界岩砖块
-block.brick.iron.name=铁砖块
-block.brick.gold.name=金砖块
-block.brick.diamond.name=钻石砖块
-block.brick.lapis.name=青金石砖块
-block.brick.stone.refined.name=抛光石砖块
-block.brick.redstone.name=红石砖块
-block.brick.bone.name=白骨砖块
-block.brick.slime.name=史莱姆砖块
-block.brick.blueslime.name=蓝色史莱姆砖快
-block.brick.endstone.name=末地石砖块
-block.brick.obsidian.ingot.name=黑曜石锭砖
-
-block.fancybrick.obsidian.name=平滑黑曜石砖
-block.fancybrick.sandstone.name=平滑沙石砖
-block.fancybrick.netherrack.name=平滑下界岩砖
-block.fancybrick.iron.name=平滑铁砖
-block.fancybrick.gold.name=平滑金砖
-block.fancybrick.diamond.name=平滑钻石砖
-block.fancybrick.lapis.name=平滑青金石砖
-block.fancybrick.stone.refined.name=平滑抛光石砖
-block.fancybrick.redstone.name=平滑红石砖
-block.fancybrick.bone.name=平滑骨砖
-block.fancybrick.slime.name=平滑史莱姆砖
-block.fancybrick.blueslime.name=平滑蓝史莱姆砖
-block.fancybrick.endstone.name=平滑末地石砖
-block.fancybrick.obsidian.ingot.name=平滑黑曜石锭砖
-block.fancybrick.stone.road.name=铺路石
-block.fancybrick.stone.name=平滑石砖
-
-tile.cloth.white.slab.name=羊毛台阶
-tile.cloth.orange.slab.name=橙色羊毛台阶
-tile.cloth.magenta.slab.name=品红色羊毛台阶
-tile.cloth.lightBlue.slab.name=浅蓝色羊毛台阶
-tile.cloth.yellow.slab.name=黄色羊毛台阶
-tile.cloth.lime.slab.name=柠檬色羊毛台阶
-tile.cloth.pink.slab.name=粉色羊毛台阶
-tile.cloth.gray.slab.name=灰色羊毛台阶
-tile.cloth.silver.slab.name=浅灰色羊毛台阶
-tile.cloth.cyan.slab.name=青色羊毛台阶
-tile.cloth.purple.slab.name=紫色羊毛台阶
-tile.cloth.blue.slab.name=蓝色羊毛台阶
-tile.cloth.brown.slab.name=棕色羊毛台阶
-tile.cloth.green.slab.name=绿色羊毛台阶
-tile.cloth.red.slab.name=红色羊毛台阶
-tile.cloth.black.slab.name=黑色羊毛台阶
-
-tile.GlueBlock.name=凝胶方块
-tile.liquid.glue.name=凝胶
-
-item.oreberry.iron.name=铁矿莓
-item.oreberry.gold.name=金矿莓
-item.oreberry.copper.name=锡矿莓
-item.oreberry.tin.name=锡矿莓
-item.oreberry.aluminum.name=铝矿莓
-item.oreberry.essence.name=精华莓
-
-item.goldenhead.name=黄金头颅
-item.tconstruct.titleicon.name=生成
-
-item.InfiTool.Pickaxe.name=镐
-item.InfiTool.Shovel.name=铲
-item.InfiTool.Axe.name=手斧
-item.InfiTool.Broadsword.name=大剑
-item.InfiTool.Longsword.name=长剑
-item.InfiTool.Rapier.name=西洋剑
-item.InfiTool.FryPan.name=煎锅
-item.InfiTool.Battlesign.name=战斗牌子
-item.InfiTool.Dagger.name=匕首
-item.InfiTool.Chisel.name=凿子
-item.InfiTool.Scythe.name=镰刀
-item.InfiTool.LumberAxe.name=伐木斧
-item.InfiTool.Cleaver.name=劈刀
-item.InfiTool.Excavator.name=挖掘工具
-item.InfiTool.Hammer.name=锤
-item.InfiTool.Battleaxe.name=战斧
-item.InfiTool.Cutlass.name=弯刀
-item.InfiTool.Shortbow.name=短弓
-item.InfiTool.Arrow.name=箭矢
-item.InfiTool.PotionLauncher.name=药水枪
-item.InfiTool.Mattock.name=鹤嘴锄
-
-item.tconstruct.Pattern.blank_pattern.name=空白模具
-item.tconstruct.Pattern.rod.name=手柄模具
-item.tconstruct.Pattern.pickaxe.name=镐头模具
-item.tconstruct.Pattern.shovel.name=铲头模具
-item.tconstruct.Pattern.axe.name=斧刃模具
-item.tconstruct.Pattern.swordblade.name=剑刃模具
-item.tconstruct.Pattern.largeguard.name=大型护手模具
-item.tconstruct.Pattern.mediumguard.name=中型护手模具
-item.tconstruct.Pattern.crossbar.name=十字柄模具
-item.tconstruct.Pattern.binding.name=绑定结模具
-item.tconstruct.Pattern.frypan.name=盘模具
-item.tconstruct.Pattern.sign.name=牌板模具
-item.tconstruct.Pattern.knifeblade.name=刀刃模具
-item.tconstruct.Pattern.chisel.name=凿刃模具
-item.tconstruct.Pattern.largerod.name=坚韧手柄模具
-item.tconstruct.Pattern.toughbinding.name=坚韧绑定结模具
-item.tconstruct.Pattern.largeplate.name=大板模具
-item.tconstruct.Pattern.broadaxe.name=宽斧刃模具
-item.tconstruct.Pattern.scythe.name=镰刀刀刃模具
-item.tconstruct.Pattern.excavator.name=挖掘工具刃部模具
-item.tconstruct.Pattern.largeblade.name=大剑刃模具
-item.tconstruct.Pattern.hammerhead.name=锤子头模具
-item.tconstruct.Pattern.fullguard.name=宽护手模具
-item.tconstruct.Pattern.bowstring.name=弓弦模具
-item.tconstruct.Pattern.fletching.name=箭羽模具
-item.tconstruct.Pattern.arrowhead.name=箭头模具
-
-item.tconstruct.Pattern.blank_cast.name=空白铸形
-item.tconstruct.MetalPattern.rod.name=手柄铸形
-item.tconstruct.MetalPattern.pickaxe.name=镐头铸形
-item.tconstruct.MetalPattern.shovel.name=铲头铸形
-item.tconstruct.MetalPattern.axe.name=斧刃铸形
-item.tconstruct.MetalPattern.swordblade.name=剑刃铸形
-item.tconstruct.MetalPattern.largeguard.name=大型护手铸形
-item.tconstruct.MetalPattern.mediumguard.name=中型护手铸形
-item.tconstruct.MetalPattern.crossbar.name=十字柄铸形
-item.tconstruct.MetalPattern.binding.name=绑定结铸形
-item.tconstruct.MetalPattern.frypan.name=盘铸形
-item.tconstruct.MetalPattern.sign.name=牌板铸形
-item.tconstruct.MetalPattern.knifeblade.name=刀刃铸形
-item.tconstruct.MetalPattern.chisel.name=凿刃铸形
-item.tconstruct.MetalPattern.largerod.name=坚韧手柄铸形
-item.tconstruct.MetalPattern.toughbinding.name=坚韧绑定结铸形
-item.tconstruct.MetalPattern.largeplate.name=大板铸形
-item.tconstruct.MetalPattern.broadaxe.name=宽斧刃铸形
-item.tconstruct.MetalPattern.scythe.name=镰刀刀刃铸形
-item.tconstruct.MetalPattern.excavator.name=挖掘工具刃部铸形
-item.tconstruct.MetalPattern.largeblade.name=大剑刃铸形
-item.tconstruct.MetalPattern.hammerhead.name=锤子头铸形
-item.tconstruct.MetalPattern.fullguard.name=宽护手铸形
-item.tconstruct.MetalPattern.bowstring.name=弓弦铸形
-item.tconstruct.MetalPattern.fletching.name=箭羽铸形
-item.tconstruct.MetalPattern.arrowhead.name=箭头铸形
-item.tconstruct.MetalPattern.ingot.name=锭铸形
-item.tconstruct.MetalPattern.gem.name=宝石铸形
-
-item.tconstruct.Materials.PaperStack.name=纸叠
-item.tconstruct.Materials.SlimeCrystal.name=粘液球水晶
-item.tconstruct.Materials.SearedBrick.name=焦黑砖
-item.tconstruct.Materials.CobaltIngot.name=钴锭
-item.tconstruct.Materials.ArditeIngot.name=阿迪特锭
-item.tconstruct.Materials.ManyullynIngot.name=玛玉灵锭
-item.tconstruct.Materials.Mossball.name=苔藓球
-item.tconstruct.Materials.LavaCrystal.name=熔岩水晶
-item.tconstruct.Materials.NecroticBone.name=坏死之骨
-item.tconstruct.Materials.CopperIngot.name=铜锭
-item.tconstruct.Materials.TinIngot.name=锡锭
-item.tconstruct.Materials.AluminumIngot.name=铝锭
-item.tconstruct.Materials.RawAluminum.name=生铝
-item.tconstruct.Materials.BronzeIngot.name=青铜锭
-item.tconstruct.Materials.AluBrassIngot.name=含铝黄铜锭
-item.tconstruct.Materials.AlumiteIngot.name=耐酸铝锭
-item.tconstruct.Materials.SteelIngot.name=钢锭
-item.tconstruct.Materials.PigIronIngot.name=生铁锭
-item.tconstruct.Materials.GlueBall.name=凝胶球
-item.tconstruct.Materials.BlueSlimeCrystal.name=蓝色史莱姆水晶
-item.tconstruct.Materials.ObsidianIngot.name=黑曜石锭
-item.tconstruct.Materials.IronNugget.name=铁粒
-item.tconstruct.Materials.CopperNugget.name=铜粒
-item.tconstruct.Materials.TinNugget.name=锡粒
-item.tconstruct.Materials.AluminumNugget.name=铝粒
-item.tconstruct.Materials.EssenceCrystal.name=赝品精华水晶
-item.tconstruct.Materials.AluBrassNugget.name=含铝黄铜粒
-item.tconstruct.Materials.SilkyCloth.name=绢布
-item.tconstruct.Materials.SilkyJewel.name=精致珠宝
-item.tconstruct.Materials.ObsidianNugget.name=黑曜石粒
-item.tconstruct.Materials.CobaltNugget.name=钴粒
-item.tconstruct.Materials.ArditeNugget.name=阿迪特粒
-item.tconstruct.Materials.ManyullynNugget.name=玛玉灵粒
-item.tconstruct.Materials.BronzeNugget.name=青铜粒
-item.tconstruct.Materials.AlumiteNugget.name=耐酸铝粒
-item.tconstruct.Materials.SteelNugget.name=钢粒
-item.tconstruct.Materials.PigIronNugget.name=生铁粒
-
-item.tconstruct.ArmorPattern.helmet.name=头盔铸形
-item.tconstruct.ArmorPattern.chestplate.name=胸甲铸形
-item.tconstruct.ArmorPattern.leggings.name=护腿铸形
-item.tconstruct.ArmorPattern.boots.name=靴子铸形
-
-item.tconstruct.helmetWood.name=木头盔
-item.tconstruct.chestplateWood.name=木胸甲
-item.tconstruct.leggingsWood.name=木护腿
-item.tconstruct.bootsWood.name=木靴子
-
-item.tconstruct.jerky.beef.name=牛肉干
-item.tconstruct.jerky.pig.name=猪肉干
-item.tconstruct.jerky.chicken.name=鸡肉干
-item.tconstruct.jerky.sheep.name=羊肉干
-item.tconstruct.jerky.fish.name=鱼干
-item.tconstruct.jerky.zombie.name=怪物肉干
-
-item.tconstruct.crystal.essence.name=精华水晶
-
-Smeltery.Controller.name=冶炼厂填料仓
-Smeltery.Drain.name=排液口
-Smeltery.Brick.name=冶炼炉砖
-Smeltery.Stone.name=焦黑石头
-Smeltery.Cobblestone.name=焦黑圆石
-Smeltery.Paver.name=焦黑盖板石
-Smeltery.Brick.Cracked.name=裂纹焦黑石砖
-Smeltery.Road.name=焦黑铺路石
-Smeltery.Brick.Fancy.name=平滑焦黑石砖
-Smeltery.Brick.Square.name=裂纹焦黑石砖
-Smeltery.Brick.Creeper.name=雕琢焦黑石砖
-Smeltery.Channel.name=浇注道
-
-LavaTank.Tank.name=冶炼槽
-LavaTank.Gague.name=冶炼炉玻璃
-LavaTank.Window.name=冶炼炉视窗
-
-tile.landmine.name=地雷
-
-tile.trap.punji.name=铁蒺藜
-tile.trap.barricade.oak.name=橡树篱笆
-tile.trap.barricade.spruce.name=云杉篱笆
-tile.trap.barricade.birch.name=白桦篱笆
-tile.trap.barricade.jungle.name=丛林篱笆
-tile.extractor.essence.name=精华萃取机
-tile.explosive.slime.name=SDX粘性炸药
-
-StorageMetals.Cobalt.name=钴方块
-StorageMetals.Ardite.name=阿迪特方块
-StorageMetals.Manyullyn.name=玛玉灵方块
-StorageMetals.Copper.name=铜方块
-StorageMetals.Bronze.name=青铜方块
-StorageMetals.Tin.name=锡方块
-StorageMetals.Aluminum.name=铝方块
-StorageMetals.AlBrass.name=含铝黄铜方块
-StorageMetals.Alumite.name=耐酸铝方块
-StorageMetals.Steel.name=钢方块
-StorageMetals.Ender.name=末影块
-
-tile.decoration.stonetorch.name=石柄火把
-tile.decoration.stoneladder.name=石头梯子
-tile.CraftingStation.name=合成站
-
-block.glass.pure.name=澄澈玻璃
-block.glass.soul.name=灵魂玻璃
-block.glass.soul.pure.name=澄澈灵魂玻璃
-
-block.glass.pure.pane.name=澄澈玻璃板
-block.glass.soul.pane.name=灵魂玻璃板
-block.glass.soul.pane.pure.name=澄澈灵魂玻璃板
-
-block.stainedglass.white.name=白色强化玻璃
-block.stainedglass.orange.name=橙色强化玻璃
-block.stainedglass.magenta.name=品红色强化玻璃
-block.stainedglass.lightblue.name=浅蓝色强化玻璃
-block.stainedglass.yellow.name=黄色强化玻璃
-block.stainedglass.lime.name=柠檬色强化玻璃
-block.stainedglass.pink.name=粉色强化玻璃
-block.stainedglass.gray.name=灰色强化玻璃
-block.stainedglass.lightgray.name=浅灰色强化玻璃
-block.stainedglass.cyan.name=青色强化玻璃
-block.stainedglass.purple.name=紫色强化玻璃
-block.stainedglass.blue.name=蓝色强化玻璃
-block.stainedglass.brown.name=棕色强化玻璃
-block.stainedglass.green.name=绿色强化玻璃
-block.stainedglass.red.name=红色强化玻璃
-block.stainedglass.black.name=黑色强化玻璃
-
-block.stainedglass.white.pane.name=白色强化玻璃板
-block.stainedglass.orange.pane.name=橙色强化玻璃板
-block.stainedglass.magenta.pane.name=品红色强化玻璃板
-block.stainedglass.lightblue.pane.name=浅蓝色强化玻璃板
-block.stainedglass.yellow.pane.name=黄色强化玻璃板
-block.stainedglass.lime.pane.name=柠檬色强化玻璃板
-block.stainedglass.pink.pane.name=粉色强化玻璃板
-block.stainedglass.gray.pane.name=灰色强化玻璃板
-block.stainedglass.lightgray.pane.name=浅灰色强化玻璃板
-block.stainedglass.cyan.pane.name=青色强化玻璃板
-block.stainedglass.purple.pane.name=紫色强化玻璃板
-block.stainedglass.blue.pane.name=蓝色强化玻璃板
-block.stainedglass.brown.pane.name=棕色强化玻璃板
-block.stainedglass.green.pane.name=绿色强化玻璃板
-block.stainedglass.red.pane.name=红色强化玻璃板
-block.stainedglass.black.pane.name=黑色强化玻璃板
-
-block.searedstone.slab.brick.name=焦黑石砖台阶
-block.searedstone.slab.stone.name=焦黑石头台阶
-block.searedstone.slab.cobble.name=焦黑圆石台阶
-block.searedstone.slab.paver.name=焦黑垫脚石台阶
-block.searedstone.slab.road.name=焦黑铺路石台阶
-block.searedstone.slab.fancy.name=平滑焦黑石头台阶
-block.searedstone.slab.square.name=裂纹焦黑石头台阶
-block.searedstone.slab.creeper.name=雕琢焦黑石头台阶
-
-block.soil.slab.dirt.name=泥土台阶
-block.soil.slab.mycelium.name=菌丝台阶
-block.soil.slab.slime.name=史莱姆台阶
-block.soil.slab.grout.name=水泥台阶
-block.soil.slab.blueslime.name=蓝史莱姆台阶
-block.soil.slab.graveyardsoil.name=黄泉土台阶
-block.soil.slab.consecratedsoil.name=混凝土台阶
-
-block.slime.soil.blue.name=蓝色史莱姆泥
-block.slime.leaves.blue.name=史莱姆树叶
-block.slime.sapling.bluegreen.name=史莱姆树苗
-block.slime.grass.blue.name=史莱姆草地
-block.slime.grass.dirt.name=史莱姆草地
-block.slime.tallgrass.name=史莱姆草
-block.slime.congealed.blue.name=神圣土蓝色史莱姆方块
-block.slime.congealed.green.name=神圣土绿色史莱姆方块
-
-item.tconstruct.storage.knapsack.name=背包
-item.tconstruct.blankpattern.pattern.name=空白模具
-item.tconstruct.blankpattern.cast.name=空白铸形
-
-item.tconstruct.Bowstring.string.name=弓弦
-item.tconstruct.Bowstring.enchantedfabric.name=附魔弓弦
-item.tconstruct.Bowstring.flamestring.name=火焰弓弦
-item.tconstruct.Fletching.feather.name=羽毛箭羽
-item.tconstruct.Fletching.leaf.name=树叶箭羽
-item.tconstruct.Fletching.slime.name=史莱姆箭羽
-item.tconstruct.Fletching.blueslime.name=蓝史莱姆箭羽
-
-item.tconstruct.manual.beginner.name=匠魂宝典Ⅰ
-item.tconstruct.manual.toolstation.name=匠魂宝典Ⅱ
-item.tconstruct.manual.smeltery.name=冶炼秘术
-
-item.tconstruct.bucket.Iron.name=桶装液态铁
-item.tconstruct.bucket.Gold.name=桶装液态金
-item.tconstruct.bucket.Copper.name=桶装液态铜
-item.tconstruct.bucket.Tin.name=桶装液态锡
-item.tconstruct.bucket.Aluminum.name=桶装液态铝
-item.tconstruct.bucket.Cobalt.name=桶装液态钴
-item.tconstruct.bucket.Ardite.name=桶装液态阿迪特
-item.tconstruct.bucket.Bronze.name=桶装液态青铜
-item.tconstruct.bucket.AluBrass.name=桶装液态含铝黄铜
-item.tconstruct.bucket.Manyullyn.name=桶装液态玛玉灵
-item.tconstruct.bucket.Alumite.name=桶装液态耐酸铝
-item.tconstruct.bucket.Obsidian.name=桶装液态黑曜石
-item.tconstruct.bucket.Steel.name=桶装液态钢
-item.tconstruct.bucket.Glass.name=桶装液态玻璃
-item.tconstruct.bucket.Stone.name=桶装熔融石头
-item.tconstruct.bucket.Villager.name=桶装液态绿宝石
-item.tconstruct.bucket.Cow.name=血桶
-item.tconstruct.bucket.Nickel.name=桶装液态镍
-item.tconstruct.bucket.Lead.name=桶装液态铅
-item.tconstruct.bucket.Silver.name=桶装液态银
-item.tconstruct.bucket.Shiny.name=桶装液态铂
-item.tconstruct.bucket.Invar.name=桶装液态因瓦合金
-item.tconstruct.bucket.Electrum.name=桶装液态琥珀金
-item.tconstruct.bucket.Ender.name=桶装液态末影珍珠
-item.tconstruct.bucket.Slime.name=桶装史莱姆粘液
-item.tconstruct.bucket.PigIron.name=桶装液态生铁
-item.tconstruct.bucket.Glue.name=桶装粘性凝胶
-
-item.tconstruct.bowstring.string.name=弓弦
-item.tconstruct.bowstring.enchantedfabriI donc.name=附魔弓弦
-
-tile.metal.molten.iron.name=液态铁
-tile.metal.molten.gold.name=液态金
-tile.metal.molten.copper.name=液态铜
-tile.metal.molten.tin.name=液态锡
-tile.metal.molten.aluminum.name=液态铝
-tile.metal.molten.cobalt.name=液态钴
-tile.metal.molten.ardite.name=液态阿迪特
-tile.metal.molten.bronze.name=液态青铜
-tile.metal.molten.aluBrass.name=液态含铝黄铜
-tile.metal.molten.manyullyn.name=液态玛玉灵
-tile.metal.molten.alumite.name=液态耐酸铝
-tile.metal.molten.obsidian.name=液态黑曜石
-tile.metal.molten.steel.name=液态钢
-tile.metal.molten.glass.name=液态玻璃
-tile.metal.molten.stone.name=熔融石头
-tile.metal.molten.villager.name=液态绿宝石
-tile.metal.molten.cow.name=血
-tile.metal.molten.nickel.name=液态镍
-tile.metal.molten.silver.name=液态银
-tile.metal.molten.lead.name=液态铅
-tile.metal.molten.shiny.name=液态铂
-tile.metal.molten.invar.name=液态因瓦合金
-tile.metal.molten.electrum.name=液态琥珀金
-tile.metal.molten.ender.name=液态末影珍珠
-tile.liquid.slime.name=液态史莱姆
-
-LiquidMetal.Iron.name=液态铁
-LiquidMetal.Gold.name=液态金
-LiquidMetal.Copper.name=液态铜
-LiquidMetal.Tin.name=液态锡
-LiquidMetal.Aluminum.name=液态铝
-LiquidMetal.Cobalt.name=液态钴
-LiquidMetal.Ardite.name=液态阿迪特
-LiquidMetal.Bronze.name=液态青铜
-LiquidMetal.AluBrass.name=液态含铝黄铜
-LiquidMetal.Manyullyn.name=液态玛玉灵
-LiquidMetal.Alumite.name=液态耐酸铝
-LiquidMetal.Obsidian.name=液态黑曜石
-LiquidMetal.Steel.name=液态钢
-LiquidMetal.Glass.name=液态玻璃
-LiquidMetal.Stone.name=熔融石头
-LiquidMetal.Villager.name=液态绿宝石
-LiquidMetal.Cow.name=血
-LiquidMetal.Nickel.name=液态镍
-LiquidMetal.Silver.name=液态银
-LiquidMetal.Lead.name=液态铅
-LiquidMetal.Shiny.name=液态铂
-LiquidMetal.Invar.name=液态因瓦合金
-LiquidMetal.Electrum.name=液态琥珀金
-LiquidMetal.Ender.name=液态末影珍珠
-
-item.food.apple.diamond.name=宝石苹果
-item.tconstruct.strangefood.edibleslime.name=胶状黏液
-item.tconstruct.canister.empty.name=心之容器(空)
-item.tconstruct.canister.miniheart.red.name=微型红心
-item.tconstruct.canister.heart.name=心之容器
-item.tconstruct.glove.name=鼹鼠手套
-
-SearedBlock.Table.name=浇铸台
-SearedBlock.Faucet.name=浇注道
-SearedBlock.Basin.name=铸造盆
-
-entity.TConstruct.EdibleSlime.name=蓝色史莱姆
-entity.TConstruct.KingSlime.name=史莱姆王
-entity.TConstruct.Gardeslime.name=史莱姆护卫
-entity.TConstruct.MiniGardy.name=迷你史莱姆护卫
-
-key.tarmor=装备界面
-key.tcapes.reload=重载披风
-
-death.one.smeltery=%1$s被加工成了"绿色食品"!
-death.two.smeltery=%1$s被冶炼炉融化了!
-death.three.smeltery=%1$s将成为我们革命的垫脚石!
-death.four.smeltery=%1$s认为在炽热的液体中游泳是个不错的注意!
-
-death.attack.Landmine=%1$s眼睁睁看着他们的腿被地雷炸飞!
-death.attack.FireworkExplode=%1$s在意外的烟火爆炸中炸得四分五裂!
-
-parttype.wood=木
-parttype.stone=石
-parttype.iron=铁
-parttype.flint=燧石
-parttype.cactus=仙人掌
-parttype.bone=骨头
-parttype.obsidian=黑曜石
-parttype.slime=史莱姆
-parttype.paper=纸
-parttype.netherrack=下界岩
-parttype.cobalt=钴
-parttype.ardite=阿迪特
-parttype.manyullyn=玛玉灵
-parttype.copper=铜
-parttype.bronze=青铜
-parttype.alumite=耐酸铝
-parttype.steel=钢
-parttype.blueslime=史莱姆
-parttype.thaumium=神秘
-parttype.pigiron=生铁
-
-toolpart.ToolRod=%%material手柄
-toolpart.PickHead=%%material镐头
-toolpart.ShovelHead=%%material铲头
-toolpart.AxeHead=%%material斧刃
-toolpart.Binding=%%material绑定结
-toolpart.ToughBind=%%material坚韧绑定结
-toolpart.ToughRod=%%material坚韧手柄
-toolpart.LargePlate=%%material大板
-toolpart.SwordBlade=%%material剑刃
-toolpart.LargeGuard=%%material大型护手
-toolpart.MediumGuard=%%material中型护手
-toolpart.Crossbar=%%material十字柄
-toolpart.KnifeBlade=%%material刀刃
-toolpart.FullGuard=%%material宽护手
-toolpart.FrypanHead=%%material盘
-toolpart.SignHead=%%material牌板
-toolpart.ChiselHead=%%material凿刃
-toolpart.ScytheHead=%%material镰刀刀刃
-toolpart.LumberHead=%%material宽斧刃
-toolpart.ExcavatorHead=%%material挖掘工具刃部
-toolpart.ToolShard=%%material碎片
-toolpart.LargeSwordBlade=%%material大剑刃
-toolpart.HammerHead=%%material锤子头
-toolpart.Bowstring=%%material弓弦
-toolpart.ArrowHead=%%material箭头
-toolpart.Fletching=%%material箭羽
-
-fluid.iron.molten=液态铁
-fluid.gold.molten=液态金
-fluid.copper.molten=液态铜
-fluid.tin.molten=液态锡
-fluid.aluminum.molten=液态铝
-fluid.cobalt.molten=液态钴
-fluid.ardite.molten=液态阿迪特
-fluid.bronze.molten=液态青铜
-fluid.aluminumbrass.molten=液态含铝黄铜
-fluid.manyullyn.molten=液态玛玉灵
-fluid.alumite.molten=液态耐酸铝
-fluid.obsidian.molten=液态黑曜石
-fluid.steel.molten=液态钢
-fluid.glass.molten=液态玻璃
-fluid.stone.seared=熔融石头
-fluid.emerald.liquid=液态绿宝石
-fluid.blood=血
-fluid.nickel.molten=液态镍
-fluid.lead.molten=液态铅
-fluid.silver.molten=液态银
-fluid.platinum.molten=液态铂
-fluid.invar=液态因瓦合金
-fluid.electrum.molten=液态琥珀金
-fluid.shiny=液态铂金
-fluid.ender=液态末影珍珠
-fluid.slime.blue=液态史莱姆
-fluid.pigiron.molten=生铁
-
-tconstruct.achievementPage.name=匠魂
-achievement.tconstruct.beginner=初学手艺
-achievement.tconstruct.pattern=模具工人
-achievement.tconstruct.tinkerer=匠师
-achievement.tconstruct.proTinkerer=匠魂小成
-achievement.tconstruct.smelteryMaker=冶炼炉工
-achievement.tconstruct.preparedFight=准备战斗
-achievement.tconstruct.enemySlayer=杀敌
-achievement.tconstruct.dualConvenience=双重便利
-
-achievement.tconstruct.beginner.desc=翻开《匠魂宝典Ⅰ》
-achievement.tconstruct.pattern.desc=合成出第一块模具
-achievement.tconstruct.tinkerer.desc=打造出第一柄工具
-achievement.tconstruct.proTinkerer.desc=打造出第一柄二阶工具
-achievement.tconstruct.smelteryMaker.desc=合成出冶炼炉组件
-achievement.tconstruct.preparedFight.desc=打造出第一柄武器
-achievement.tconstruct.enemySlayer.desc=杀死生物
-achievement.tconstruct.dualConvenience.desc=使用煎锅杀死生物后烹煮它们的肉
-
-knapsack.tooltip=装东西用的背包.
-strangefood1.tooltip=闻起来糟透了,但是万一
-strangefood2.tooltip=你真找不到其它吃的...
-hambone1.tooltip=Hambone!
-hambone2.tooltip=用作建筑信标
-metalblock.tooltip=用作建筑信标
-craftedsoil1.tooltip=治愈不死生物
-craftedsoil2.tooltip=伤害不死生物
-fancybrick1.tooltip=造价略高
-fancybrick2.tooltip=相当贵重
-fancybrick3.tooltip=能够发出红石信号,最多延伸
-fancybrick4.tooltip=4格远
-fancybrick4.tooltip=弹性!
-brick1.tooltip=造价略高
-brick2.tooltip=相当贵重
-brick3.tooltip=能够发出红石信号,最多延伸
-brick4.tooltip=4格远
-brick4.tooltip=Bouncy!
-craftedsoil.slab1.tooltip=治愈不死生物
-craftedsoil.slab2.tooltip=伤害不死生物
-speedblock1.tooltip=踩着它健步如飞
-speedblock2.tooltip=踩着它走得稍快
-speedblock.slab1.tooltip=踩着它健步如飞
-speedblock.slab2.tooltip=踩着它走得稍快
-manual1.tooltip=Skyla 著
-manual2.tooltip=Skyla 著
-manual3.tooltip=Thruul M'gon 著
-searedtank1.tooltip=容纳
-searedtank2.tooltip=保存获得的流体
-oreberries1.tooltip=甜甜铁
-oreberries2.tooltip=纯净光泽
-oreberries3.tooltip=金属的味道
-oreberries4.tooltip=锡皮人
-oreberries5.tooltip=白巧克力
-oreberries6.tooltip=爬行者的味道
-hearthcanister1.tooltip=用以合成物品
-hearthcanister2.tooltip=用以合成物品
-hearthcanister3.tooltip=低级心之容器部件
-hearthcanister4.tooltip=首饰
-hearthcanister5.tooltip=永久增加生命上限
-landmine1.tooltip=皆可触发
-landmine2.tooltip=生物,玩家和红石触发
-landmine3.tooltip=玩家和红石触发
-landmine4.tooltip=仅限红石触发
-goldenhead1.tooltip=有人说让我们吃了这个倒下敌人
-goldenhead2.tooltip=的头颅来强化自身的血脉
-oreberrybush1.tooltip=甜甜铁
-oreberrybush2.tooltip=纯净光泽
-oreberrybush3.tooltip=金属的味道
-oreberrybush4.tooltip=锡皮人
-oreberrybush5.tooltip=白巧克力
-oreberrybush6.tooltip=爬行者的味道
-barricade.tooltip=堆叠数X4
-pattern1.tooltip=材料耗费:
-pattern2.tooltip=材料耗费:
-potionlauncher.tooltip=测试物品
-smeltery.controller.tooltip=相当于冶炼炉的大脑
-smeltery.drain.tooltip1=可以用作向冶炼炉
-smeltery.drain.tooltip2=输入或输出流体
-smeltery.brick.tooltip1=冶炼炉构筑方块
-smeltery.brick.tooltip2=(可安全地用作装饰方块)
diff --git a/resources/assets/tinker/manuals/casting.png b/resources/assets/tinker/manuals/casting.png
deleted file mode 100644
index e39da794..00000000
Binary files a/resources/assets/tinker/manuals/casting.png and /dev/null differ
diff --git a/resources/assets/tinker/manuals/diary.xml b/resources/assets/tinker/manuals/diary.xml
deleted file mode 100644
index 639fadb3..00000000
--- a/resources/assets/tinker/manuals/diary.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-Tinker's Log #1:
-
-Today is a new day. I finally left home and decided to wander around in the wilderness until I find a good place to call my home.
-
-Tinker's Log #2:
-
-I've decided to keep a log of my creations and machinations, as well as some insights into what I'm doing. I haven't actually built anything yet. There is a small cave I can board up for the night. I created a stone pickaxe affectionately called "Betsy".
-
-
-
-Tinker's Log #3:
-
-The night is scary. Creepers are everywhere, the zombies are banging on my door, bats block out the sky... it is not fun being alone out here. I want to hide in the corner and cry until they leave. This log doesn't help take my mind off of anything.
-
-Tinker's Log #4:
-
-Betsy didn't last long. She just crumpled into dust suddenly and the handle shattered. My parents told me this would happen and this was normal, but it still seems so wrong. If I could make the pickaxe a little better perhaps, maybe I could repair it.
-
-
-
-Tinker's Log #5:
-
-I've spent the past three days looking for paper and ink. Squids were easy enough to find, but the sugar cane was buried deep in a ravine next to a creeper nest. Eventually I dropped rocks on the creepers and watched them explode out of surprise. My eyebrow will grow back in time.
-
-Tinker's Log #6:
-
-Waiting on sugar cane to grow. Not much else today.
-
-
-
-Tinker's Log #7:
-
-I've sketched out plans for a new workbench. It's a little strange. The center of the workbench is missing, but sturdy, and there are grooves in the top for supplies. I think I will call it a "table".
-
-Tinker's Log #8:
-
-I made a few more tables with different patterns in them. They look useful for different things, so I put different materials and tools by each one. Perhaps I will come up with a use for them in time.
-
-
-
-Tinker's Log #9:
-
-To make tools, you need to know what you're making. The pickaxe and shovel are easy enough to make with practice, the best crafters in my village told me, but I can't seem to make any good ones. Out of frustration I punched a hole in a wooden board. And another. And a few more. By the end I had something that resembled an axe, and that gave me a few ideas...
-
-
-
-Tinker's Log #10:
-
-I punched holes in a few boards carefully in different shapes. I spent a lot of time making them, so they look really good. They all resemble the parts of tools that I can remember: heads, handles, bindings, pieces, and some others. They look really useful, so I placed them by a table for later.
-
-
-
-Tinker's Log #11:
-
-I grabbed a few of the boards and started to make tool parts using them as an outline. The parts themselves feel sturdy, and when I put them together the end result felt a lot better than Betsy did. They're made completely out of stone, something even the finest crafters could never manage. This feels like a great accomplishment.
-
-Tinker's Log #12:
-
-Perhaps making a tool completely out of stone wasn't the best idea. It didn't last very long. On the upside, instead of shattering into dust only the tip scratched off. I glued a new tip on the head and it seemed good as new.
-
-
-
-Tinker's Log #13:
-
-I wanted to make a few more tools, but the boards with tool shapes in them went everywhere! I ended up breaking a few out of frustration. They don't fit very well in my chest either. I took a few of them, added a few slots to the bottom of the chest, placed it by my table and called it good.
-
-I also named them "Patterns", the chest a "Pattern Chest". I'm still angry at them, and it took so long to make new ones...
-
-
-
-Tinker's Log #14
-
-Today I learned just how hard it was to shape iron. First you have to dig it out of the earth. A wooden pickaxe will shatter the ore; this I found out the hard way. Once you do get that ore there isn't much to do with it besides throw it in the furnace. Melting the iron and the stone seems inefficient, but I do need the metal more than I care about the waste.
-
-I shaped a few of the bars into tools, and they felt strong. Much stronger, in fact, than the ones back at the village. I've named the pickaxe "Krug" after some of the stories Nana used to tell me at night. How I miss her...
-
-
-
-Tinker's Log #15:
-
-This place holds little for me now. I've packed up my things, grabbed what resources I can carry, and set off. The tables and patterns will have to stay behind. I can't possibly carry them with all the food I have.
-
-Tinker's Log #16:
-
-A week later and I've finally found some others to visit. Some of them seem nice, most don't look like me. A few of them have things I never could have dreamed of. They've pointed me at a patch of land that was quiet and secluded. There I should be able to work, for I have ideas from the journey.
-
-
-
-Tinker's Log #17:
-
-After three days and nights of fending off zombies, I've finally created a house. It has a few rooms, a basement, but most importantly a workshop. All of the tables and patterns I had before are here, as well as a few others I wanted to try out from the trip.
-
-There's a round one I can cook food with and one that's just as good as any hoe, but can chop trees or actually dig the ground up. The villagers tell me these are named "Frying Pan" and "Mattock". The Frying Pan seems heavy enough to smack creepers with. I have a sword named "Shimmer" that I want to alter somehow.
-
-
-
-Tinker's Log #18:
-
-One of the villagers was kind enough to give me some random things. Each one looks useful in their own right. I was lucky enough to find a few diamonds earlier, and I have a few more tools in storage. This should be fun.
-
-
-
-Tinker's Log #19:
-
-After some heavy experimentation, I've ended up with some things that look amazing and others that look less useful than they actually are. A diamond tip on a pickaxe makes for a wondefully hard mining tool, and an emerald on a sword hilt somehow makes it stay together longer, but some things don't do anything.
-
-Adding flowers to a tool does nothing; they don't even stay on the thing. Mushrooms have a similar effect, and adding more material to a tool just makes it heavier. You wouldn't think redstone would do anything. I've coated a shovel so much that it looks deep red. However, it slides through dirt as if the dirt wasn't there.
-
-
-
-Moss is also a strange one. Somehow it seems to be healing the tool, even to the point where it looks like new.
-
-Tinker's Log #20:
-
-I tried to make some tools out of gold, like the crafters in my village used to, but instead it broke the table. Some of the villages laughed at me for such an idea... if only they knew.
-
-
-
-Tinker's Log #21:
-
-Some of these tools are more useful than I thought. Adding blaze powder to a weapon seems to give it some kind of burning effect. Lapis has this strange quality of being able to find more materials in the same area, even if I know exactly what I'm looking at.
-
-Tinker's Log #22:
-
-I have some ideas for creating tools, but for that I need a large place to create them. The furnace is inadequate, and I need a lot of stone. Combining lava with coal and netherrack seems to instantly cook stone as I mine it, up to the point where I can bypass the furnace entirely.
-
-
-
-Tinker's Log #23:
-
-Today I made something strange. It's round, wooden, and doesn't look like anything I've ever seen. Someone came by and said it was a "wheel" and that they were great fun to roll around. I wonder what else it could be used for?
-
-Tinker's Log #24:
-
-I made a few more of the wheels to get some practice in. I had some fun rolling them around, rolling them in pairs, and then one ended up beside my boat. It just looked so natural I had to start putting them together.
-
-
-
-Tinker's Log #25:
-
-I think I'm on to something here. Combining the boat with the wheel made it work something like a minecart, only I can pull it around places. It feels a little small though.
-
-Tinker's Log #26:
-
-I have all these tools laying around with little notes on what each one does. Instead of leaving them scattered about, I think I will create one place to store them.
-
-
-Tinker's Log #27:
-
-I went exploring and found some new ores today. They're colors I've never seen before, and they don't shatter on impact like iron does. I wonder what I can do with these?
-
-Tinker's Log #28:
-
-The normal furnace is nice for keeping warm, but it leaves something to be desired for processing metal. I've dug a pit and lined it with some clay, gathered lava nearby, and put ore in the center in an attempt to improve on the design. The results were quite interesting.
-
-
-The more lava I fed into the pit the hotter the material became. Eventually the whole thing liquified. I broke open the side of the pit with a cauldron in an attempt to catch the material, but it went everywhere. There were some remnants left in the pit as well.
-
-Raw ore still has parts of stone in it. There must be a way to remove the excess.
-
-
\ No newline at end of file
diff --git a/resources/assets/tinker/manuals/firstday.xml b/resources/assets/tinker/manuals/firstday.xml
deleted file mode 100644
index 38d4af18..00000000
--- a/resources/assets/tinker/manuals/firstday.xml
+++ /dev/null
@@ -1,222 +0,0 @@
-
-
-
-
-Materials and You
-Surviving the first day and beyond
-
-Volume 1
-By Skyla
-
-
-
-Table of Contents
-
- Getting Started
- sapling
- 3
-
-
- Recipes
- workbench
- 5
-
-
-
-
-Welcome to the first edition of Materials and You: Surviving the first day and beyond. Within these pages you will find the first steps to making the tools and materials you need to survive.
-
-This book is a magic copy; it updates whenever the original has been modified. Check back occasionally for information on new things.
-
-
-
-The first step in making tools is crafting a blank pattern. It is a blank slate to stamp a shape into, providing a reference for future creations. The patterns are shaped on the Stencil Table or are used as tabletops.
-
-You can then shape a material in a part builder with the pattern, then combine parts in the tool station. Patterns can be stored and accessed in the pattern chest.
-
-Together these make the Tool Workshop. It is recommended you keep all of these nearby when using any of them.
-
-
-
-Blank Pattern
-
- blankpattern
- two
-
-
-
-
-Stencil Table
-
- stenciltable
- two
-
-
-
-
-Part Crafter
-
- partcrafter
- two
-
-
-
-
-Pattern Chest
-
- patternchest
- two
-
-
-
-
-Tool Station
-
- toolstation
- two
-
-
-
-
-Tool Forge
-
- toolforge
- three
-
-
-
-
-Drying Rack
-
- dryingrack
- three
-
-
-
-
-Oreberry Bushes
-
-Sometime in your travels you will happen upon the bush known as the Oreberry. They grow underground in dark areas, and require close to complete darkness to produce anything.
-
-The berries can be melted down into nuggets and ingots, making them an invaluable source of metals.
-
-
-
-Oreberries in their natural environment
-tinker:manuals/oreberries.png
-
-
-
-Slime Channels
-
-Slime channels are useful for moving items or entities around. They are used as a sort of easily placeable water and can be paired with bounce pads for best effect.
-
-
-
-Slime Channel
-
- slimechannel
- two
-
-
-
-
-Bounce Pad
-
- bouncepad
- two
-
-
-
-
-A few traps or blockades may help with your early survival experience
-
-
-
-Punji Stick
-
- punji
- three
-
-
-
-
-Barricade
-
- barricade
- two
-
-
-
-
-Once you're well established, you can begin to process metals in a more efficient manner. The scope of the smeltery is beyond this volume, but a few recipes will help you get started.
-
-Note: The Smeltery is required to process all metals, including iron.
-
-
-
-Grout
-
- grout
- two
-
-
-
-
-Seared Brick
-searedbrick
-
-
-
-Seared Bricks
-
- searedbricks
- two
-
-
-
-
-Smeltery Controller
-
- smelterycontroller
- three
-
-
-
-
-If you ever find yourself without this book, a new one is simple to make. Other books can be made from this one as well.
-
-
-
-Book
-
- alternatebook
- three
-
-
-
-
-Materials and You: v1
-
- patternbook1
- two
-
-
-
-
-Materials and You: v2
-
- patternbook2
- two
-
-
-
-
-Mighty Smelting
-
- patternbook3
- two
-
-
-
-
\ No newline at end of file
diff --git a/resources/assets/tinker/manuals/materials.xml b/resources/assets/tinker/manuals/materials.xml
deleted file mode 100644
index 8717d313..00000000
--- a/resources/assets/tinker/manuals/materials.xml
+++ /dev/null
@@ -1,1068 +0,0 @@
-
-
-
-
-Materials and You
-A Guide to Tools and Abilities
-
-Volume 2
-By Skyla
-
-
-
-Table of Contents
-
- Tools
- ironpick
- 2
-
-
- Materials
- woodplanks
- 4
-
-
- Modifiers
- lavacrystal
- 4
-
-
-
-
-Welcome to the second edition of Materials and You: A Guide to Tools and Abilities. Within these pages you will details on every known tool, modifier, and material. A detailed breakdown of everything known, and a few unknowns, lie here.
-
-This book is a magic copy; it updates whenever the original has been modified. Check back occasionally for information on new things.
-
-
-
-Pickaxe
-The Pickaxe is a basic mining tool. It is the simplest method of chewing through rock and harvesting ores.
-Class: Precision Tool
-Effective on: Stone or rock, ores, and metal.
-pickicon
--
- Pickaxe Head
- pickhead
-
--
- Tool Rod
- toolrod
-
--
- Tool Binding
- binding
-
-
-
-
-Shovel
-The Shovel is a basic digging tool. It is the most common way of moving earth around.
-Class: Precision Tool
-Effective on: Dirt, sand, gravel, and snow.
-shovelicon
--
- Shovel Head
- shovelhead
-
--
- Tool Rod
- toolrod
-
-
-
-
-Hatchet
-The Hatchet is a basic chopping tool. It is the simplest way to shape lumber.
-Class: Precision Tool
-Effective on: Wood, Leaves, and Trees.
-axeicon
--
- Hatchet Head
- axehead
-
--
- Tool Rod
- toolrod
-
-
-
-
-Mattock
-The Cutter Mattock is a versatile farming tool. Its primary purpose is to till soil. It also works somewhat like an axe and a shovel, but is not a replacement for either.
-Class: Multitool
-Effective on: Wood, dirt, and plants.
-mattockicon
--
- Axe Head
- axehead
-
--
- Tool Rod
- toolrod
-
--
- Shovel Head
- shovelhead
-
-
-
-
-Broadsword
-The Broadsword is a defensive weapon. It is a favorite of many Tinkers and is useful in a wide variety of situations.
-Right-click: Block
-- Blocking cuts a wide variety of damage types in half.
-
-Class: Melee Weapon
-Effective on webs.
-swordicon
--
- Sword Blade
- swordblade
-
--
- Tool Rod
- toolrod
-
--
- Wide Guard
- wideguard
-
-
-
-
-Longsword
-The Longsword is an offensive weapon. It is used for full-speed charges and plowing through enemy lines
-Right-click: Lunge
-- When released, it sends you careening forward at breakneck speed.
-
-Natural Abilities:
-- Charge Boost, does 1.5x damage and knockback while sprinting
-
-Class: Melee Weapon
-Effective on webs.
-longswordicon
--
- Sword Blade
- swordblade
-
--
- Tool Rod
- toolrod
-
--
- Hand Guard
- handguard
-
-
-
-
-Rapier
-The Rapier is a special weapon. The dancing swordplay lets you get in and out of battle quickly. While the Rapier's damage is low, it makes up for this with its other abilities.
-Right-click: Backpedal
-- Take a small hop backwards
-
-Natural Abilities:
-- Charge Boost, does 1.5x damage and knockback while sprinting.
-- Armor Pierce, ignores armor and blocking.
-- Quick Strike, the enemy is stunned for less time.
-
-Class: Melee Weapon
-rapiericon
--
- Sword Blade
- swordblade
-
--
- Tool Rod
- toolrod
-
--
- Crossbar
- crossbar
-
-
-
-
-Dagger
-The Dagger is a short weapon. It is light and usable as both a striking and throwing weapon.
-Right-click: Throw Dagger
-- Toss the item for a ranged attack
-
-Class: Ranged/Melee Weapon
-daggerIcon
--
- Knife Blade
- knifeblade
-
--
- Tool Rod
- toolrod
-
--
- Crossbar
- crossbar
-
-
-
-
-Frying Pan
-The Frying is a heavy weapon that uses sheer weight to stun foes or a place to cook your food. It is common to hunt pigs and cook them with the same pan.
-Right-click: Block
-- Blocking cuts a wide variety of damage types in half.
-
-Shift+Right-click: Place Item
-- The frying pan cooks a large amount of food at a time.
-
-Natural Abilities:
-- Bash, does extra knockback and stuns the foe.
-frypanicon
--
- Pan
- pan
-
--
- Tool Rod
- toolrod
-
-
-
-
-Battlesign
-The Battlesign is an advance in weapon technology worthy of Zombie Pigmen everywhere.
-Right-click: Block
-- Blocking cuts a wide variety of damage types in half.
-
-Class: Lethal Joke Weapon
-battlesignicon
--
- Board
- board
-
--
- Tool Rod
- toolrod
-
-
-
-
-Chisel
-The Chisel is an advanced detailing tool for carving shapes into blocks.
-Right-click: Chisel
-- Transforms various blocks into bricks.
-Crafting grid: Chisel
-- Some items can only be chiseled in the crafting grid.
-
-Class: Utility Tool
-chiselicon
--
- Chisel Head
- chiselhead
-
--
- Tool Rod
- toolrod
-
-
-
-
-Hammer
-The Hammer is a heavy mining tool meant for digging out large areas. It is also effective on undead.
-Natural Abilities:
-- Area of Effect, Mines a 3x3 area. The direction depends on which face is pounded.
-- Smite II, Does 2-4 extra hearts of damage against undead.
-- Huge Durability, this tool has very high durability to make up for the constant beating it will recieve.
-
-Class: Broad Mining Tool
-hammericon
--
- Hammer Head
- hammerhead
-
--
- Large Plate
- largeplate
-
--
- Tough Rod
- toughrod
-
--
- Large Plate
- largeplate
-
-
-
-
-Lumber Axe
-The Lumber Axe is capable of bringing down whole trees or clearing large swaths of food in a single swing.
-Natural Abilities:
-Fell Trees
-- Harvests entire trees. It has a max height of 30. Trees are defined as Leaves on top of Logs.
-Area of Effect
-- Mines a 3x3x3 area. This is a fallback if a tree is not found.
-
-Class: Broad Mining Tool
-lumbericon
--
- Broad Axe Head
- broadaxehead
-
--
- Large Plate
- largeplate
-
--
- Tough Rod
- toughrod
-
--
- Tough Binding
- toughbinding
-
-
-
-
-Excavator
-The Excavator is a large digging tool used for clearing out large swaths of land, gravel, or snow.
-Natural Abilities:
-Area of Effect
-- Mines a 3x3 area. The direction depends on which face is scooped.
-
-Class: Broad Mining Tool
-excavatoricon
--
- Excavator Head
- excavatorhead
-
--
- Large Plate
- largeplate
-
--
- Tough Rod
- toughrod
-
--
- Tough Binding
- toughbinding
-
-
-
-
-Scythe
-The Scythe is well known for its large swinging area. It can be used to harvest crops, leaves, and is a decent weapon.
-Natural Abilities:
-Area of Effect
-- Attacks mobs in a 3x3x3.
-- Harvests a 3x3x3 area.
-
-Class: Broad Melee Weapon
-scytheicon
--
- Scythe Head
- scythehead
-
--
- Tough Rod
- toughrod
-
--
- Tough Binding
- toughbinding
-
--
- Tough Rod
- toughrod
-
-
-
-
-Cleaver
-The Cleaver is a heavy defensive weapon. The sword is unwieldly, but the sheer weight of the tool crushes foes.
-Right-click: Block
-- Blocking cuts a wide variety of damage types in half.
-
-Natural Abilities:
-- Beheading II, Beheads mobs. Their head is dropped as loot.
-- Heavy, Base attack is increased at the cost of swing time
-
-Class: Heavy Melee Weapon
-cleavericon
--
- Large Sword Blade
- largeswordblade
-
--
- Large Plate
- largeplate
-
--
- Tough Rod
- toughrod
-
--
- Tough Rod
- toughrod
-
-
-
-
-Battleaxe
-The battleaxe is an offensive melee weapon that can also bring down small trees.
-Right-click: TBD
-- This ability is incomplete
-
-Natural Abilities:
-- Area of Effect, harvests wood blocks in a 1x9 tower.
-- Bash, knocks the enemy further away than normal.
-
-Class: Heavy Melee Weapon
-battleaxeicon
--
- Broad Axe Head
- broadaxehead
-
--
- Broad Axe Head
- broadaxehead
-
--
- Tough Rod
- toughrod
-
--
- Tough Binding
- toughbinding
-
-
-
-
-Shortbow
-The Shortbow is a weapon used to fire arrows. It has a quick, short range.
-Right-click: Draw bow
-- The further a bow is drawn, the further an arrow flies and the more damage it does.
-
-Class: Ranged Projectile Launcher
-shortbowIcon
--
- Tool Rod
- toolrod
-
--
- Bowstring
- bowstring
-
--
- Tool Rod
- toolrod
-
-
-
-
-Arrow
-Arrows are fired from bows as projectiles. They can also be used as stabbing weapons in a pinch.
-Class: Ammunition
-arrowIcon
--
- Arrowhead
- arrowhead
-
--
- Tool Rod
- toolrod
-
--
- Fletching
- fletching
-
-
-
-
-Material Traits
-Some materials have traits that augment their natural uses.
-
-- Reinforced: 10% chance per level of not using durability
-- Stonebound: The tool mines faster as it wears out, but does less damage
-- Jagged: The tool attacks with does more damage as it wears out, but mines slower
-- Writable: One extra modifier per piece
-
-
-
-Wood
-woodaxe
-It seems to grow everywhere.
-
- woodplanks
-
-
-
-
-Stone
-stonepick
-One of the most common materials in the world.
-
- stoneblock
-
-
-
-
-Iron
-ironpick
-A staple for tools, it can be refined and processed.
-- Requires the Smeltery
-
- ironingot
-
-
-
-
-Flint
-flintshovel
-More durable than stone. The material of choice for cavemen.
-
- flint
-
-
-
-
-Cactus
-cactussword
-A form of wood found only in the desert.
-
- cactus
-
-
-
-
-Bone
-bonerapier
-A material with many uses, dead or alive.
-
- bone
-
-
-
-
-Obsidian
-bonefrypan
-Tough as nails, but fragile when shaped.
-
- obsidian
-
-
-
-
-Alumite
-alumitepick
-An uncommon alloy. It seems to be quite durable.
-- Requires the Smeltery
-
- alumiteingot
-
-
-
-
-Netherrack
-netherrackmattock
-This is made of what?!
-
- netherrack
-
-
-
-
-Blue Slime
-blueslimebattlesign
-Converting it from food has made it stronger.
-BlueSlime
-
- blueslimecrystal
-
-
-
-
-Green Slime
-slimebattlesign
-Soft and springy, it seems to last forever.
-Slime
-
- slimecrystal
-
-
-
-
-Slimy Mud
-
- slimymud
- three
-
-
-
-
-Slime Crystal
-slimecrystal
-
-
-
-Paper
-paperpick
-It's very weak, but can take a lot of modification.
-
- paperstack
-
-
-
-
-Paper Stack
-
- paperstack
- two
-
-
-
-
-Cobalt
-cobaltlongsword
-One of the nether materials. It's bright blue.
-- Requires the Smeltery
-
- cobaltingot
-
-
-
-
-Ardite
-arditelongsword
-One of the nether materials. It seems to mine faster as it wears out.
-- Requires the Smeltery
-
- arditeingot
-
-
-
-
-Manyullyn
-manyullynlongsword
-The nether alloy. It's stronger than diamond.
-- Requires the Smeltery
-
- manyullyningot
-
-
-
-
-Copper
-copperaxe
-A common metal found in the ground.
-- Requires the Smeltery
-
- copperingot
-
-
-
-
-Bronze
-bronzeaxe
-A common alloy. It's a bit better than iron.
-- Requires the Smeltery
-
- bronzeingot
-
-
-
-
-Steel
-steelsword
-An Iron alloy. The method for obtaining this is unknown.
-- Requires the Smeltery
-
- steelingot
-
-
-
-
-Pig Iron
-pigironsword
-PigIron
-An Iron alloy. It seems to be made of blood, iron, and emeralds.
-- Requires the Smeltery
-
- pigironingot
-
-
-
-
-
-
-
-Diamond
-Adding a diamond to the edge of a tool seems to make it more resilient.
-
-Effects:
-- 500 extra durability
-- Mining level increased to level 3
-
-Type: Single-use
-Stackable: No
-
-
-
-tool
-diamondmod
-
-
-
-Emerald
-Affixing an emerald to a tool's weakest point appears to make it more resilient.
-
-Effects:
-- 50% more durability
-- Mining level increased to level 2
-
-Type: Single-use
-Stackable: No
-
-
-
-tool
-emeraldmod
-
-
-
-Speed
-Adding redstone to a tool seems to increase its mining speed.
-
-Effects:
-- Each redstone dust increases mining speed by 0.08.
-- At 50/50 the boost is 4.0, making a wood pickaxe equivalent in speed to iron.
-- Not useful on weapons
-
-Type: Multi-use
-Stackable: Yes
-
-
-
-tool
-redstonemod
-
-
-
-Auto-Repair
-Attaching moss to a tool infuses it with life. The tool appears to be capable of regenerating wear and tear.
-
-Effects:
-- The tool slowly repairs itself
-- Sunlight speeds up the process
-
-Type: Single-use
-Stackable: Yes
-
-
-
-tool
-mossmod
-
-
-
-Auto-Smelt
-Melting a lava crystal onto the end of a tool gives it the power of a furnace.
-
-Effects:
-- Smelts blocks as they're harvested
-- Sets mobs on fire for 3 seconds
-- Stacks with Luck
-- Not compatible with Silky
-
-Type: Multi-use
-Stackable: No
-
-
-
-tool
-lavacrystalmod
-
-
-
-Ball of Moss
-
- mossball
- three
-
-
-
-
-Lava Crystal
-
- lavacrystal
- three
-
-
-
-
-Luck
-Encrusting lapis on tools is a gift to the gods of luck. They will bless your tool with great fortune and loot.
-
-Effects:
-- Adds fortune or looting, depends on tool type
-- Increases level at a maximum threshold, but has a chance of increasing before
-- Sometimes adds extra luck to the tool
-- Not compatible with Silky
-
-Type: Single-use
-Stackable: No
-
-
-
-tool
-lapismod
-
-
-
-Sharpness
-Adding quartz to the edge of a tool seems to make it sharper.
-
-Effects:
-- Increases attack damage
-- Has less of an effect on tools with piercing properties
-
-Type: Multi-use
-Stackable: Yes
-
-
-
-weapon
-quartzmod
-
-
-
-Fiery
-Adding blaze powder to a tool gives it a fiery tinge.
-
-Effects:
-- Sets enemies on fire
-- Every 5 powder adds another second to the flame.
-
-Type: Multi-use
-Stackable: Yes
-
-
-
-weapon
-blazemod
-
-
-
-Necrotic
-Placing the bone of a Wither Skelton on a tool gives it nefarious life-stealing powers.
-
-Effects:
-- Heals the player every time a monster is attacked
-- Heals one heart per bone
-
-Type: Single-use
-Stackable: Yes
-
-
-
-weapon
-necroticmod
-
-
-
-Silky
-Adding a large glob of alunimum brass or gold and a bunch of string seems to give the tool silky-smooth properties.
-
-Effects:
-- Allows blocks to be harvested directly
-- Not compatible with Luck or Auto-Smelt
-
-Type: Single-use
-Stackable: No
-
-
-
-tool
-silkymod
-
-
-
-Silky Cloth
-
- silkycloth
- three
-
-
-
-
-Silky Jewel
-
- silkyjewel
- three
-
-
-
-
-Reinforced
-Adding an obsidian plate to the tool seems to help with its durability.
-
-Effects:
-- Adds the material trait Reinforced to the tool
-- Stacks with previous levels of Reinforced
-
-Type: Single-use
-Stackable: Yes
-
-
-
-tool
-reinforcedmod
-
-
-
-Knockback
-Attaching a piston to the tool and activating it at the right time seems to throw mobs further away.
-
-Effects:
-- Adds extra knockback to the tool.
-
-Type: Multi-use
-Stackable: Yes
-
-
-
-weapon
-pistonmod
-
-
-
-Beheading
-Working an ender pearl and some obsidian on a weapon has the curious effect of separating the target's head from its body.
-
-Effects:
-- Beheads mobs. Enemies drop their heads as a result.
-
-Type: Single-use
-Stackable: Yes
-
-
-
-weapon
-beheadingmod
-
-
-
-Bane of Arthropods
-Striking a spider with its own eyeball causes it to recoil in fear.
-
-Effects:
-- Does extra damage to spiders.
-- 1-2 hearts per level.
-
-Type: Multi-use
-Stackable: Yes
-
-
-
-weapon
-spidermod
-
-
-
-Smite
-The raw power of consecrated soil empowers your weapon, smiting enemies from on high.
-
-Effects:
-- Does extra damage to undead.
-- 1-2 hearts per level.
-
-Type: Multi-use
-Stackable: Yes
-
-
-
-weapon
-smitemod
-
-
-
-Graveyard Soil
-
- graveyardsoil
- two
-
-
-
-
-Consecrated Soil
-consecratedsoil
-
-
-
-Flux
-Adding a Hardened Flux Capacitor or Leadstone Energy Cell gives a tool energy. The tool still functions properly when the Cell/Capacitor has no charge.
-
-Effects:
-- Allows the tool to be charged with Redstone Flux
-- Uses energy instead of durability while charged
-- Available from Thermal Expansion 3
-
-Type: Single-use
-Stackable: No
-
-
-
-tool
-fluxmod
-
-
-
-Flux
-Adding a Hardened Flux Capacitor or Leadstone Energy Cell gives a tool energy. The tool still functions properly when the Cell/Capacitor has no charge.
-
-Effects:
-- Allows the tool to be charged with Redstone Flux
-- Uses energy instead of durability while charged
-- Available from Thermal Expansion 3
-
-Type: Single-use
-Stackable: No
-
-
-
-tool
-fluxmod2
-
-
-
-Additional Modifiers
-Working the tool with a block of gold and a diamond makes the tool more malleable, allowing for more modification.
-
-Effects:
-- Adds an additional modifier slot to the tool
-
-Type: Single-use
-Stackable: No
-
-
-
-tool
-tier1free
-
-
-
-Additional Modifiers
-Working the tool with a nether star gives it the ability to attach parts they would not otherwise stay.
-
-Effects:
-- Adds an additional modifier slot to the tool
-
-Type: Single-use
-Stackable: No
-
-
-
-tool
-tier2free
-
-
-
diff --git a/resources/assets/tinker/manuals/oreberries.png b/resources/assets/tinker/manuals/oreberries.png
deleted file mode 100644
index dc6a8e5b..00000000
Binary files a/resources/assets/tinker/manuals/oreberries.png and /dev/null differ
diff --git a/resources/assets/tinker/manuals/smeltery.xml b/resources/assets/tinker/manuals/smeltery.xml
deleted file mode 100644
index 659305d7..00000000
--- a/resources/assets/tinker/manuals/smeltery.xml
+++ /dev/null
@@ -1,296 +0,0 @@
-
-
-
-
-Mighty Smelting
-Make the most of your metals
-
-By Thruul M'gon
-
-
-
-Table of Contents
-
- Introduction
- smelterybook
- 3
-
-
- Casting
- castingtable
- 8
-
-
- Construction
- smeltery
- 5
-
-
- Alloys
- liquidiron
- 9
-
-
- Recipes
- blankcast
- 9
-
-
-
-
-Welcome to the world of metalcraft. Within these pages you will learn the secrets of crafting rare and precious metals into usable materials.
-
-You will learn how to cast everything from the softest Iron to the hardest Manyullyn into whatever shape you desire and create alloy mixes from obscure materials. As always, experimentation is key!
-
-The main structure for melting metals is called the Smeltery. It is larger than structures you may be familiar with, but the method for construction is relatively simple. It operates much like a furnace with a drain.
-
-
-
-When working with the Smeltery, there are a few things to keep in mind:
-
-* The Smeltery functions as a large liquid tank. It is capable of melting metals and mixing various things.
-
-* Drains function as input/output for the tank. If you need to get liquids back into the structure, simply pour them into a drain.
-
-* Ores naturally have more material than processed versions, such as ingots. The Smeltery will preserve the full value of the ores - roughly twice as much as a regular furnace would provide.
-
-
-
-* Mixing two or more metals in the Smeltery may result in an alloy. The process happens automatically.
-
-* If you need more space to process metal, add more layers.
-
-* Casts are made differently from Patterns. Details are found later.
-
-
-
-The Smeltery is a multi-block structure. You will need the following materials to get started.
--
- 1 Smeltery Controller
- smeltery
-
--
- 1 Seared Tank
- lavatank
-
--
- 9 Seared Bricks
- searedbrick
-
--
- Any combination of 10 Seared Bricks, Seared Tanks, or Drains
-
- drain
-
--
- 1 Faucet
- faucet
-
--
- 1 Casting Table
- castingtable
-
-
-
-
-Begin construction by laying a 3x3 bed of seared bricks. Leave any space above these bricks open; you will be constructing a shell around a 3x3 hollow inside.
-
-Place the Controller one layer up and the lava tank anywhere on the same level. Fill in the rest of the space with seared bricks, lava tanks, or drains as you like.
-
-The small end of drains should be facing the outside. If you're successful, the Controller will light up and start working. Fill the tank with lava, the Smeltery with metal, and watch it go.
-
-The structure must be a 5x5 shell due to the amount of heat lava gives off. There are no vertical restrictions to the size of the Smeltery.
-
-
-
-Larger Smelteries will hold more metal, of course, and the Controller can be on any level so long as there is a lava tank to match.
-
-When you are ready to pour liquid metal from the Smeltery, put a faucet on a drain and a casting table below it.
-
-Other liquid removal objects will work, but are frowned upon. An example picture is provided for your convienence.
-
-
-
-Figure 1a
-tinker:manuals/smelterysmall.png
-
-
-
-Alloys are made when two or more metals are mixed in precise proportions. Currently known alloys are:
--
- Bronze, made from Copper(3) and Tin(1)
- bronzeingot
-
--
- Aluminum Brass, made from Aluminum(3) and Copper(1)
- alubrassingot
-
--
- Manyullyn, made from Cobalt(2) and Ardite(2)
- manyullyningot
-
--
- Alumite, made from Aluminum(5), Iron(2), and Obsidian(2)
- alumiteingot
-
--
- Pig Iron, made from Iron(1), Blood(1), and Emeralds(1)
- pigironingot
-
-
-
-
-There exist a few liquids that are gained through strange means. Currently known liquids are:
--
- Blood, damaging entities in the Smeltery
- bloodbucket
-
--
- Liquified Emeralds, melting down emeralds or villagers
- emeraldbucket
-
--
- Glue, melting down horses in the Smeltery
- gluebucket
-
--
- Slime, found on slime islands. It functions as a spawner
- slimebucket
-
--
- Ender, either melting down ender pearls or endermen
- enderbucket
-
-
-
-
-Blank casts are made by pouring aluminum brass or gold into an empty casting table. These are used in crafting recipes and can be re-melted.
-
-Part casts must be created by pouring metal around existing parts, like a pickaxe head.
-
-
-
-Forming a Cast
-tinker:manuals/casting.png
-
-
-
-Grout
-
- grout
- two
-
-
-
-
-Seared Brick
-searedbrick
-
-
-
-Seared Bricks
-
- searedbricks
- two
-
-
-
-
-Smeltery Controller
-
- smelterycontroller
- three
-
-
-
-
-Smeltery Drain
-
- smelterydrain
- three
-
-
-
-
-Seared Tank
-
- smelterytank1
- three
-
-
-
-
-Seared Glass
-
- smelterytank2
- three
-
-
-
-
-Seared Window
-
- smelterytank3
- three
-
-
-
-
-Seared Faucet
-
- smelteryfaucet
- three
-
-
-
-
-Casting Channel
-
- castingchannel
- three
-
-
-
-
-Casting Table
-
- smelterytable
- three
-
-
-
-
-Casting Basin
-
- smelterybasin
- three
-
-
-
-
-Brownstone
-brownstone
-
-
-
-Clear Glass
-clearglass
-
-
-
-Seared Stone
-searedstone
-
-
-
-Endstone
-endstone
-
-
-
-Glueball
-glueball
-
-
-
-
diff --git a/resources/assets/tinker/manuals/smelterysmall.png b/resources/assets/tinker/manuals/smelterysmall.png
deleted file mode 100644
index 1dee2508..00000000
Binary files a/resources/assets/tinker/manuals/smelterysmall.png and /dev/null differ
diff --git a/resources/assets/tinker/sound/frypan_hit.ogg b/resources/assets/tinker/sound/frypan_hit.ogg
deleted file mode 100644
index e98a203a..00000000
Binary files a/resources/assets/tinker/sound/frypan_hit.ogg and /dev/null differ
diff --git a/resources/assets/tinker/sound/launcher_clank.ogg b/resources/assets/tinker/sound/launcher_clank.ogg
deleted file mode 100644
index 49b48027..00000000
Binary files a/resources/assets/tinker/sound/launcher_clank.ogg and /dev/null differ
diff --git a/resources/assets/tinker/sound/little_saw.ogg b/resources/assets/tinker/sound/little_saw.ogg
deleted file mode 100644
index d59d7d7e..00000000
Binary files a/resources/assets/tinker/sound/little_saw.ogg and /dev/null differ
diff --git a/resources/assets/tinker/textures/armor/exosuit_1.png b/resources/assets/tinker/textures/armor/exosuit_1.png
deleted file mode 100644
index cb47df04..00000000
Binary files a/resources/assets/tinker/textures/armor/exosuit_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/armor/exosuit_2.png b/resources/assets/tinker/textures/armor/exosuit_2.png
deleted file mode 100644
index 6eff0d9f..00000000
Binary files a/resources/assets/tinker/textures/armor/exosuit_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/armor/wood_1.png b/resources/assets/tinker/textures/armor/wood_1.png
deleted file mode 100644
index 5a0f9cfc..00000000
Binary files a/resources/assets/tinker/textures/armor/wood_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/armor/wood_2.png b/resources/assets/tinker/textures/armor/wood_2.png
deleted file mode 100644
index b84f1563..00000000
Binary files a/resources/assets/tinker/textures/armor/wood_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/Landmine.png b/resources/assets/tinker/textures/blocks/Landmine.png
deleted file mode 100644
index 7859155d..00000000
Binary files a/resources/assets/tinker/textures/blocks/Landmine.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/amber_crystal.png b/resources/assets/tinker/textures/blocks/amber_crystal.png
deleted file mode 100644
index 9c52443f..00000000
Binary files a/resources/assets/tinker/textures/blocks/amber_crystal.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/blank.png b/resources/assets/tinker/textures/blocks/blank.png
deleted file mode 100644
index 827bd32d..00000000
Binary files a/resources/assets/tinker/textures/blocks/blank.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/blockcast_bottom.png b/resources/assets/tinker/textures/blocks/blockcast_bottom.png
deleted file mode 100644
index 9e0b3c11..00000000
Binary files a/resources/assets/tinker/textures/blocks/blockcast_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/blockcast_side.png b/resources/assets/tinker/textures/blocks/blockcast_side.png
deleted file mode 100644
index d858c16f..00000000
Binary files a/resources/assets/tinker/textures/blocks/blockcast_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/blockcast_top.png b/resources/assets/tinker/textures/blocks/blockcast_top.png
deleted file mode 100644
index e296cc01..00000000
Binary files a/resources/assets/tinker/textures/blocks/blockcast_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/ancient_ice.png b/resources/assets/tinker/textures/blocks/bricks/ancient_ice.png
deleted file mode 100644
index dbf2bf7b..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/ancient_ice.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_blueslime.png b/resources/assets/tinker/textures/blocks/bricks/brick_blueslime.png
deleted file mode 100644
index a0ac9cd7..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_blueslime.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_bone.png b/resources/assets/tinker/textures/blocks/bricks/brick_bone.png
deleted file mode 100644
index d064110d..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_bone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_clay.png b/resources/assets/tinker/textures/blocks/bricks/brick_clay.png
deleted file mode 100644
index 1cefd653..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_clay.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_diamond.png b/resources/assets/tinker/textures/blocks/bricks/brick_diamond.png
deleted file mode 100644
index 4f7bb0c7..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_diamond.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_endstone.png b/resources/assets/tinker/textures/blocks/bricks/brick_endstone.png
deleted file mode 100644
index 5d304b85..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_endstone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_gold.png b/resources/assets/tinker/textures/blocks/bricks/brick_gold.png
deleted file mode 100644
index 31cec3d4..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_gold.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_ice.png b/resources/assets/tinker/textures/blocks/bricks/brick_ice.png
deleted file mode 100644
index 267cf6fc..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_ice.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_iron.png b/resources/assets/tinker/textures/blocks/bricks/brick_iron.png
deleted file mode 100644
index 0cf176c8..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_iron.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_lapis.png b/resources/assets/tinker/textures/blocks/bricks/brick_lapis.png
deleted file mode 100644
index b8137256..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_lapis.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_netherrack.png b/resources/assets/tinker/textures/blocks/bricks/brick_netherrack.png
deleted file mode 100644
index b83edb8a..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_netherrack.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_obsidian.png b/resources/assets/tinker/textures/blocks/bricks/brick_obsidian.png
deleted file mode 100644
index 355b2c2d..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_obsidian.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_obsidian_ingot.png b/resources/assets/tinker/textures/blocks/bricks/brick_obsidian_ingot.png
deleted file mode 100644
index 2e2ae1f5..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_obsidian_ingot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_redstone.png b/resources/assets/tinker/textures/blocks/bricks/brick_redstone.png
deleted file mode 100644
index 6e100436..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_redstone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_sandstone.png b/resources/assets/tinker/textures/blocks/bricks/brick_sandstone.png
deleted file mode 100644
index 7fd3e037..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_sandstone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_slime.png b/resources/assets/tinker/textures/blocks/bricks/brick_slime.png
deleted file mode 100644
index 142fe62b..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_slime.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_snow.png b/resources/assets/tinker/textures/blocks/bricks/brick_snow.png
deleted file mode 100644
index b7da9bfa..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_snow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/brick_stone_refined.png b/resources/assets/tinker/textures/blocks/bricks/brick_stone_refined.png
deleted file mode 100644
index 96aea220..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/brick_stone_refined.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_blueslime.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_blueslime.png
deleted file mode 100644
index ab684b35..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_blueslime.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_bone.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_bone.png
deleted file mode 100644
index 6a960bdd..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_bone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_clay.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_clay.png
deleted file mode 100644
index 16cc6597..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_clay.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_diamond.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_diamond.png
deleted file mode 100644
index 0aeb4806..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_diamond.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_endstone.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_endstone.png
deleted file mode 100644
index eeed886f..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_endstone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_gold.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_gold.png
deleted file mode 100644
index 3439f6e2..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_gold.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_ice.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_ice.png
deleted file mode 100644
index 89b824c0..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_ice.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_iron.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_iron.png
deleted file mode 100644
index 24cc45e5..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_iron.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_lapis.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_lapis.png
deleted file mode 100644
index 19afd0ef..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_lapis.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_netherrack.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_netherrack.png
deleted file mode 100644
index 73861772..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_netherrack.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_obsidian.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_obsidian.png
deleted file mode 100644
index cdd24f4f..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_obsidian.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_obsidian_ingot.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_obsidian_ingot.png
deleted file mode 100644
index 34a1c8f2..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_obsidian_ingot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_redstone.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_redstone.png
deleted file mode 100644
index 968739b3..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_redstone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_sandstone.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_sandstone.png
deleted file mode 100644
index 6e19caae..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_sandstone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_slime.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_slime.png
deleted file mode 100644
index 3b4f7889..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_slime.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_snow.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_snow.png
deleted file mode 100644
index 7ada7f39..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_snow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_stone.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_stone.png
deleted file mode 100644
index f2699ad7..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_stone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/fancybrick_stone_refined.png b/resources/assets/tinker/textures/blocks/bricks/fancybrick_stone_refined.png
deleted file mode 100644
index 4bd68094..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/fancybrick_stone_refined.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/paver_largeclay.png b/resources/assets/tinker/textures/blocks/bricks/paver_largeclay.png
deleted file mode 100644
index 51105e11..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/paver_largeclay.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/refined_largeclay.png b/resources/assets/tinker/textures/blocks/bricks/refined_largeclay.png
deleted file mode 100644
index f23fe9fd..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/refined_largeclay.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/refined_netherrack.png b/resources/assets/tinker/textures/blocks/bricks/refined_netherrack.png
deleted file mode 100644
index c906253f..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/refined_netherrack.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/refined_sandstone.png b/resources/assets/tinker/textures/blocks/bricks/refined_sandstone.png
deleted file mode 100644
index 74838777..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/refined_sandstone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/refined_stone.png b/resources/assets/tinker/textures/blocks/bricks/refined_stone.png
deleted file mode 100644
index 090657d3..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/refined_stone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/road_stone.png b/resources/assets/tinker/textures/blocks/bricks/road_stone.png
deleted file mode 100644
index 316b8fa0..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/road_stone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/road_stone_refined.png b/resources/assets/tinker/textures/blocks/bricks/road_stone_refined.png
deleted file mode 100644
index d18b193d..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/road_stone_refined.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/smallbrick_clay.png b/resources/assets/tinker/textures/blocks/bricks/smallbrick_clay.png
deleted file mode 100644
index bd11bf6a..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/smallbrick_clay.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/smallbrick_ice.png b/resources/assets/tinker/textures/blocks/bricks/smallbrick_ice.png
deleted file mode 100644
index 4bc1a998..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/smallbrick_ice.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/smooth_obsidian.png b/resources/assets/tinker/textures/blocks/bricks/smooth_obsidian.png
deleted file mode 100644
index 0221fad3..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/smooth_obsidian.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/squarebrick_iron.png b/resources/assets/tinker/textures/blocks/bricks/squarebrick_iron.png
deleted file mode 100644
index df7eb514..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/squarebrick_iron.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/bricks/squarebrick_stone_refined.png b/resources/assets/tinker/textures/blocks/bricks/squarebrick_stone_refined.png
deleted file mode 100644
index a0db5780..00000000
Binary files a/resources/assets/tinker/textures/blocks/bricks/squarebrick_stone_refined.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/brownstone_rough.png b/resources/assets/tinker/textures/blocks/brownstone_rough.png
deleted file mode 100644
index 2bf333f7..00000000
Binary files a/resources/assets/tinker/textures/blocks/brownstone_rough.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/brownstone_rough_road.png b/resources/assets/tinker/textures/blocks/brownstone_rough_road.png
deleted file mode 100644
index 95a591b8..00000000
Binary files a/resources/assets/tinker/textures/blocks/brownstone_rough_road.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/brownstone_smooth.png b/resources/assets/tinker/textures/blocks/brownstone_smooth.png
deleted file mode 100644
index da521a16..00000000
Binary files a/resources/assets/tinker/textures/blocks/brownstone_smooth.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/brownstone_smooth_brick.png b/resources/assets/tinker/textures/blocks/brownstone_smooth_brick.png
deleted file mode 100644
index cb37438b..00000000
Binary files a/resources/assets/tinker/textures/blocks/brownstone_smooth_brick.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/brownstone_smooth_chiseled.png b/resources/assets/tinker/textures/blocks/brownstone_smooth_chiseled.png
deleted file mode 100644
index b59bc1f4..00000000
Binary files a/resources/assets/tinker/textures/blocks/brownstone_smooth_chiseled.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/brownstone_smooth_fancy.png b/resources/assets/tinker/textures/blocks/brownstone_smooth_fancy.png
deleted file mode 100644
index 6f12a078..00000000
Binary files a/resources/assets/tinker/textures/blocks/brownstone_smooth_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/brownstone_smooth_road.png b/resources/assets/tinker/textures/blocks/brownstone_smooth_road.png
deleted file mode 100644
index 1b92dda4..00000000
Binary files a/resources/assets/tinker/textures/blocks/brownstone_smooth_road.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/castingtable_bottom.png b/resources/assets/tinker/textures/blocks/castingtable_bottom.png
deleted file mode 100644
index f6f554ad..00000000
Binary files a/resources/assets/tinker/textures/blocks/castingtable_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/castingtable_side.png b/resources/assets/tinker/textures/blocks/castingtable_side.png
deleted file mode 100644
index c428b648..00000000
Binary files a/resources/assets/tinker/textures/blocks/castingtable_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/castingtable_top.png b/resources/assets/tinker/textures/blocks/castingtable_top.png
deleted file mode 100644
index cd18bc66..00000000
Binary files a/resources/assets/tinker/textures/blocks/castingtable_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/chest_bottom.png b/resources/assets/tinker/textures/blocks/chest_bottom.png
deleted file mode 100644
index e700c604..00000000
Binary files a/resources/assets/tinker/textures/blocks/chest_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/chestslab_bottom.png b/resources/assets/tinker/textures/blocks/chestslab_bottom.png
deleted file mode 100644
index a65b9f52..00000000
Binary files a/resources/assets/tinker/textures/blocks/chestslab_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/chestslab_front.png b/resources/assets/tinker/textures/blocks/chestslab_front.png
deleted file mode 100644
index ffb2bffb..00000000
Binary files a/resources/assets/tinker/textures/blocks/chestslab_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/coal_block.png b/resources/assets/tinker/textures/blocks/coal_block.png
deleted file mode 100644
index 024404bc..00000000
Binary files a/resources/assets/tinker/textures/blocks/coal_block.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/compressed_alubrass.png b/resources/assets/tinker/textures/blocks/compressed_alubrass.png
deleted file mode 100644
index 90f0329e..00000000
Binary files a/resources/assets/tinker/textures/blocks/compressed_alubrass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/compressed_aluminum.png b/resources/assets/tinker/textures/blocks/compressed_aluminum.png
deleted file mode 100644
index 3907f123..00000000
Binary files a/resources/assets/tinker/textures/blocks/compressed_aluminum.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/compressed_alumite.png b/resources/assets/tinker/textures/blocks/compressed_alumite.png
deleted file mode 100644
index d01bb421..00000000
Binary files a/resources/assets/tinker/textures/blocks/compressed_alumite.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/compressed_ardite.png b/resources/assets/tinker/textures/blocks/compressed_ardite.png
deleted file mode 100644
index 4804615e..00000000
Binary files a/resources/assets/tinker/textures/blocks/compressed_ardite.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/compressed_bronze.png b/resources/assets/tinker/textures/blocks/compressed_bronze.png
deleted file mode 100644
index 4650be51..00000000
Binary files a/resources/assets/tinker/textures/blocks/compressed_bronze.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/compressed_cobalt.png b/resources/assets/tinker/textures/blocks/compressed_cobalt.png
deleted file mode 100644
index 1aa1e195..00000000
Binary files a/resources/assets/tinker/textures/blocks/compressed_cobalt.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/compressed_copper.png b/resources/assets/tinker/textures/blocks/compressed_copper.png
deleted file mode 100644
index 64fe9e0e..00000000
Binary files a/resources/assets/tinker/textures/blocks/compressed_copper.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/compressed_ender.png b/resources/assets/tinker/textures/blocks/compressed_ender.png
deleted file mode 100644
index ac36a3f0..00000000
Binary files a/resources/assets/tinker/textures/blocks/compressed_ender.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/compressed_manyullyn.png b/resources/assets/tinker/textures/blocks/compressed_manyullyn.png
deleted file mode 100644
index 5f54d305..00000000
Binary files a/resources/assets/tinker/textures/blocks/compressed_manyullyn.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/compressed_steel.png b/resources/assets/tinker/textures/blocks/compressed_steel.png
deleted file mode 100644
index 7ca3c4a3..00000000
Binary files a/resources/assets/tinker/textures/blocks/compressed_steel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/compressed_tin.png b/resources/assets/tinker/textures/blocks/compressed_tin.png
deleted file mode 100644
index e63702c8..00000000
Binary files a/resources/assets/tinker/textures/blocks/compressed_tin.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/consecratedsoil.png b/resources/assets/tinker/textures/blocks/consecratedsoil.png
deleted file mode 100644
index bd327380..00000000
Binary files a/resources/assets/tinker/textures/blocks/consecratedsoil.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/craftingstation_bottom.png b/resources/assets/tinker/textures/blocks/craftingstation_bottom.png
deleted file mode 100644
index 0d2abb0a..00000000
Binary files a/resources/assets/tinker/textures/blocks/craftingstation_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/craftingstation_side.png b/resources/assets/tinker/textures/blocks/craftingstation_side.png
deleted file mode 100644
index ca9429b8..00000000
Binary files a/resources/assets/tinker/textures/blocks/craftingstation_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/craftingstation_slab_side.png b/resources/assets/tinker/textures/blocks/craftingstation_slab_side.png
deleted file mode 100644
index a7b05200..00000000
Binary files a/resources/assets/tinker/textures/blocks/craftingstation_slab_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/craftingstation_top.png b/resources/assets/tinker/textures/blocks/craftingstation_top.png
deleted file mode 100644
index 8d6bccfd..00000000
Binary files a/resources/assets/tinker/textures/blocks/craftingstation_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_aluminum_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_aluminum_fancy.png
deleted file mode 100644
index 02bd2527..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_aluminum_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_aluminum_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_aluminum_fast.png
deleted file mode 100644
index 0578e67f..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_aluminum_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_aluminum_ripe_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_aluminum_ripe_fancy.png
deleted file mode 100644
index 573f5bfa..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_aluminum_ripe_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_aluminum_ripe_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_aluminum_ripe_fast.png
deleted file mode 100644
index 5792bbc4..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_aluminum_ripe_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_copper_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_copper_fancy.png
deleted file mode 100644
index 722d3601..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_copper_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_copper_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_copper_fast.png
deleted file mode 100644
index 850987be..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_copper_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_copper_ripe_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_copper_ripe_fancy.png
deleted file mode 100644
index f2bf68ea..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_copper_ripe_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_copper_ripe_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_copper_ripe_fast.png
deleted file mode 100644
index 7db486f7..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_copper_ripe_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_essence_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_essence_fancy.png
deleted file mode 100644
index 81986b9c..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_essence_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_essence_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_essence_fast.png
deleted file mode 100644
index fdcdf4f5..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_essence_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fancy.png
deleted file mode 100644
index 0615f5ea..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fancy.png.mcmeta b/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fancy.png.mcmeta
deleted file mode 100644
index 1d6239fb..00000000
--- a/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fancy.png.mcmeta
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fancy.txt b/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fancy.txt
deleted file mode 100644
index f31124a4..00000000
--- a/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fancy.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-0*2
-1*2
-2*2
-3*2
-4*2
-5*2
-6*2
-5*2
-4*2
-3*2
-2*2
-1*2
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fast.png
deleted file mode 100644
index efdb951f..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fast.png.mcmeta b/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fast.png.mcmeta
deleted file mode 100644
index 1d6239fb..00000000
--- a/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fast.png.mcmeta
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fast.txt b/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fast.txt
deleted file mode 100644
index f31124a4..00000000
--- a/resources/assets/tinker/textures/blocks/crops/berry_essence_ripe_fast.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-0*2
-1*2
-2*2
-3*2
-4*2
-5*2
-6*2
-5*2
-4*2
-3*2
-2*2
-1*2
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_gold_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_gold_fancy.png
deleted file mode 100644
index b6b6086e..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_gold_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_gold_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_gold_fast.png
deleted file mode 100644
index 4adf4ed3..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_gold_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_gold_ripe_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_gold_ripe_fancy.png
deleted file mode 100644
index 168563c5..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_gold_ripe_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_gold_ripe_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_gold_ripe_fast.png
deleted file mode 100644
index 6bc536e7..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_gold_ripe_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_iron_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_iron_fancy.png
deleted file mode 100644
index b08c2466..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_iron_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_iron_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_iron_fast.png
deleted file mode 100644
index c651d6a3..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_iron_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_iron_ripe_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_iron_ripe_fancy.png
deleted file mode 100644
index 8e0c9a30..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_iron_ripe_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_iron_ripe_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_iron_ripe_fast.png
deleted file mode 100644
index 9a23635a..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_iron_ripe_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_redstone_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_redstone_fancy.png
deleted file mode 100644
index 331e3fc1..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_redstone_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_redstone_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_redstone_fast.png
deleted file mode 100644
index a9068eb9..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_redstone_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_redstone_ripe_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_redstone_ripe_fancy.png
deleted file mode 100644
index 331e3fc1..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_redstone_ripe_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_redstone_ripe_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_redstone_ripe_fast.png
deleted file mode 100644
index a9068eb9..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_redstone_ripe_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_silver_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_silver_fancy.png
deleted file mode 100644
index f3f48375..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_silver_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_silver_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_silver_fast.png
deleted file mode 100644
index 03cb9499..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_silver_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_silver_ripe_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_silver_ripe_fancy.png
deleted file mode 100644
index f9a7913a..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_silver_ripe_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_silver_ripe_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_silver_ripe_fast.png
deleted file mode 100644
index 654c9dc4..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_silver_ripe_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_tin_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_tin_fancy.png
deleted file mode 100644
index 9e3d6cfc..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_tin_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_tin_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_tin_fast.png
deleted file mode 100644
index b9c4f997..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_tin_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_tin_ripe_fancy.png b/resources/assets/tinker/textures/blocks/crops/berry_tin_ripe_fancy.png
deleted file mode 100644
index af9f8d9c..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_tin_ripe_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/crops/berry_tin_ripe_fast.png b/resources/assets/tinker/textures/blocks/crops/berry_tin_ripe_fast.png
deleted file mode 100644
index 24f72674..00000000
Binary files a/resources/assets/tinker/textures/blocks/crops/berry_tin_ripe_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/drain_basin.png b/resources/assets/tinker/textures/blocks/drain_basin.png
deleted file mode 100644
index 3c58c524..00000000
Binary files a/resources/assets/tinker/textures/blocks/drain_basin.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/drain_out.png b/resources/assets/tinker/textures/blocks/drain_out.png
deleted file mode 100644
index e88291b8..00000000
Binary files a/resources/assets/tinker/textures/blocks/drain_out.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/drain_side.png b/resources/assets/tinker/textures/blocks/drain_side.png
deleted file mode 100644
index 6d4f857f..00000000
Binary files a/resources/assets/tinker/textures/blocks/drain_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/faucet.png b/resources/assets/tinker/textures/blocks/faucet.png
deleted file mode 100644
index 87be6362..00000000
Binary files a/resources/assets/tinker/textures/blocks/faucet.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/furnacechest_front.png b/resources/assets/tinker/textures/blocks/furnacechest_front.png
deleted file mode 100644
index 1112a3b2..00000000
Binary files a/resources/assets/tinker/textures/blocks/furnacechest_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/furnacechest_front_active.png b/resources/assets/tinker/textures/blocks/furnacechest_front_active.png
deleted file mode 100644
index cb21d858..00000000
Binary files a/resources/assets/tinker/textures/blocks/furnacechest_front_active.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/furnacechest_side.png b/resources/assets/tinker/textures/blocks/furnacechest_side.png
deleted file mode 100644
index 163fbc78..00000000
Binary files a/resources/assets/tinker/textures/blocks/furnacechest_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/furnaceslab_front.png b/resources/assets/tinker/textures/blocks/furnaceslab_front.png
deleted file mode 100644
index 1dad38f8..00000000
Binary files a/resources/assets/tinker/textures/blocks/furnaceslab_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/furnaceslab_front_active.png b/resources/assets/tinker/textures/blocks/furnaceslab_front_active.png
deleted file mode 100644
index d55de2ad..00000000
Binary files a/resources/assets/tinker/textures/blocks/furnaceslab_front_active.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/furnaceslab_side.png b/resources/assets/tinker/textures/blocks/furnaceslab_side.png
deleted file mode 100644
index d4517bff..00000000
Binary files a/resources/assets/tinker/textures/blocks/furnaceslab_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass.png b/resources/assets/tinker/textures/blocks/glass/clear/glass.png
deleted file mode 100644
index d19a2acb..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_1_d.png
deleted file mode 100644
index 5dec6de4..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_1_l.png
deleted file mode 100644
index 077aa122..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_1_r.png
deleted file mode 100644
index 0e856116..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_1_u.png
deleted file mode 100644
index 5dd6bc0d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_2_dl.png
deleted file mode 100644
index c3dc8478..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_2_dr.png
deleted file mode 100644
index bd95cc03..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_2_h.png
deleted file mode 100644
index 3f96317e..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_2_ul.png
deleted file mode 100644
index 0fc8b250..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_2_ur.png
deleted file mode 100644
index 78f01305..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_2_v.png
deleted file mode 100644
index 32b79772..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_3_d.png
deleted file mode 100644
index 437408a1..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_3_l.png
deleted file mode 100644
index 2751be8f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_3_r.png
deleted file mode 100644
index bf343351..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_3_u.png
deleted file mode 100644
index c572ca6a..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_4.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_4.png
deleted file mode 100644
index 86e8064b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/clear/glass_side.png b/resources/assets/tinker/textures/blocks/glass/clear/glass_side.png
deleted file mode 100644
index 9b92ba24..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/clear/glass_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/glass_clear.png b/resources/assets/tinker/textures/blocks/glass/glass_clear.png
deleted file mode 100644
index 722a02ef..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/glass_clear.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/glass_clear_side.png b/resources/assets/tinker/textures/blocks/glass/glass_clear_side.png
deleted file mode 100644
index ce444afb..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/glass_clear_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass.png
deleted file mode 100644
index 4aa7b3ff..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_1_d.png
deleted file mode 100644
index 53e237d9..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_1_l.png
deleted file mode 100644
index 1d23b871..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_1_r.png
deleted file mode 100644
index e5458cec..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_1_u.png
deleted file mode 100644
index 6f8f67bb..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_dl.png
deleted file mode 100644
index 6e146e00..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_dr.png
deleted file mode 100644
index 127db342..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_h.png
deleted file mode 100644
index ad2aefc0..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_ul.png
deleted file mode 100644
index 86d0d593..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_ur.png
deleted file mode 100644
index f62cc1ae..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_v.png
deleted file mode 100644
index f294245d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_3_d.png
deleted file mode 100644
index 425d2513..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_3_l.png
deleted file mode 100644
index 9c97772b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_3_r.png
deleted file mode 100644
index 42b4b712..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_3_u.png
deleted file mode 100644
index 8fa09e9d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_4.png b/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_4.png
deleted file mode 100644
index 86e8064b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soul_clear/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soulglass.png b/resources/assets/tinker/textures/blocks/glass/soulglass.png
deleted file mode 100644
index 7fb80873..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soulglass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soulglass_clear.png b/resources/assets/tinker/textures/blocks/glass/soulglass_clear.png
deleted file mode 100644
index 4aa7b3ff..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soulglass_clear.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soulglass_clear_side.png b/resources/assets/tinker/textures/blocks/glass/soulglass_clear_side.png
deleted file mode 100644
index c1b1747f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soulglass_clear_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/soulglass_side.png b/resources/assets/tinker/textures/blocks/glass/soulglass_side.png
deleted file mode 100644
index 3ead0871..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/soulglass_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass.png
deleted file mode 100644
index 2bfc485e..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_1_d.png
deleted file mode 100644
index 44421b94..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_1_l.png
deleted file mode 100644
index e0cc25d5..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_1_r.png
deleted file mode 100644
index 8b3a057b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_1_u.png
deleted file mode 100644
index 02271f06..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_dl.png
deleted file mode 100644
index f6145d8d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_dr.png
deleted file mode 100644
index af7a5a7f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_h.png
deleted file mode 100644
index 637734ee..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_ul.png
deleted file mode 100644
index d6bd1d86..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_ur.png
deleted file mode 100644
index 912e1923..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_v.png
deleted file mode 100644
index ff01b93a..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_3_d.png
deleted file mode 100644
index 554e613f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_3_l.png
deleted file mode 100644
index 6ca8b5b9..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_3_r.png
deleted file mode 100644
index 454035fb..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_3_u.png
deleted file mode 100644
index f8e7cd59..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/black/glass_4.png
deleted file mode 100644
index 4aca4a22..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/black/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass.png
deleted file mode 100644
index 9116a36d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_1_d.png
deleted file mode 100644
index fed627f9..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_1_l.png
deleted file mode 100644
index 13c04872..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_1_r.png
deleted file mode 100644
index 911e2537..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_1_u.png
deleted file mode 100644
index 7c557864..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_dl.png
deleted file mode 100644
index 9ea68093..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_dr.png
deleted file mode 100644
index 896a452f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_h.png
deleted file mode 100644
index 98860628..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_ul.png
deleted file mode 100644
index cc90edd2..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_ur.png
deleted file mode 100644
index a1b9e7ee..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_v.png
deleted file mode 100644
index bcd621bf..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_3_d.png
deleted file mode 100644
index 6f09e6a3..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_3_l.png
deleted file mode 100644
index 91060aea..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_3_r.png
deleted file mode 100644
index 80a70bd4..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_3_u.png
deleted file mode 100644
index 62aaedf6..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_4.png
deleted file mode 100644
index cd8fb9d5..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/blue/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass.png
deleted file mode 100644
index 66bb5d3b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_1_d.png
deleted file mode 100644
index 3f07bc06..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_1_l.png
deleted file mode 100644
index 4626b76e..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_1_r.png
deleted file mode 100644
index d439ca8c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_1_u.png
deleted file mode 100644
index 7f91e053..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_dl.png
deleted file mode 100644
index 4b8044ee..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_dr.png
deleted file mode 100644
index 7019bc31..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_h.png
deleted file mode 100644
index 88f524c2..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_ul.png
deleted file mode 100644
index 83decd97..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_ur.png
deleted file mode 100644
index 4e0931c4..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_v.png
deleted file mode 100644
index 3ca3a415..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_3_d.png
deleted file mode 100644
index 0d276995..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_3_l.png
deleted file mode 100644
index f84abf08..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_3_r.png
deleted file mode 100644
index 5aad18d8..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_3_u.png
deleted file mode 100644
index f399e6b9..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_4.png
deleted file mode 100644
index b3d317a7..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/brown/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass.png
deleted file mode 100644
index 924fb8a8..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_1_d.png
deleted file mode 100644
index 2791a93f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_1_l.png
deleted file mode 100644
index fb3fb87b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_1_r.png
deleted file mode 100644
index fc73bc88..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_1_u.png
deleted file mode 100644
index c045559d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_dl.png
deleted file mode 100644
index 13993b9f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_dr.png
deleted file mode 100644
index b1007c99..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_h.png
deleted file mode 100644
index fc7d6b95..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_ul.png
deleted file mode 100644
index 762b75b5..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_ur.png
deleted file mode 100644
index 43b0c9d6..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_v.png
deleted file mode 100644
index 5c63c17e..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_3_d.png
deleted file mode 100644
index 25e7cea9..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_3_l.png
deleted file mode 100644
index 40d3bd7e..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_3_r.png
deleted file mode 100644
index d338c0ee..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_3_u.png
deleted file mode 100644
index a6946a68..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_4.png
deleted file mode 100644
index a2160882..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/cyan/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass.png
deleted file mode 100644
index 828eca1c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_1_d.png
deleted file mode 100644
index e8e5ca5a..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_1_l.png
deleted file mode 100644
index 4caaddb7..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_1_r.png
deleted file mode 100644
index 522fdd57..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_1_u.png
deleted file mode 100644
index 86b96fe9..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_dl.png
deleted file mode 100644
index 207033d3..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_dr.png
deleted file mode 100644
index d892f344..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_h.png
deleted file mode 100644
index da01c149..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_ul.png
deleted file mode 100644
index 03f3ce22..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_ur.png
deleted file mode 100644
index 115488cd..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_v.png
deleted file mode 100644
index 53380d57..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_3_d.png
deleted file mode 100644
index d0e11e09..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_3_l.png
deleted file mode 100644
index 00e7d0be..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_3_r.png
deleted file mode 100644
index 5915a6dd..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_3_u.png
deleted file mode 100644
index 98b31c61..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_4.png
deleted file mode 100644
index 0c6d06d4..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/gray/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass.png
deleted file mode 100644
index 9cc66071..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_1_d.png
deleted file mode 100644
index bea639e9..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_1_l.png
deleted file mode 100644
index 91cba7e6..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_1_r.png
deleted file mode 100644
index 4fec4f14..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_1_u.png
deleted file mode 100644
index 5b6d880c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_dl.png
deleted file mode 100644
index ce1553b6..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_dr.png
deleted file mode 100644
index 54ed8569..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_h.png
deleted file mode 100644
index 3cb97bda..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_ul.png
deleted file mode 100644
index 4f009c9b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_ur.png
deleted file mode 100644
index f4076072..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_v.png
deleted file mode 100644
index 70b29ec4..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_3_d.png
deleted file mode 100644
index 08a1815f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_3_l.png
deleted file mode 100644
index 42a5c045..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_3_r.png
deleted file mode 100644
index 77e8d091..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_3_u.png
deleted file mode 100644
index 17cfc6d5..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/green/glass_4.png
deleted file mode 100644
index 82a6dfe2..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/green/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass.png
deleted file mode 100644
index ab875d1b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_1_d.png
deleted file mode 100644
index 3c1628d9..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_1_l.png
deleted file mode 100644
index 7b675271..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_1_r.png
deleted file mode 100644
index c7bbfcb0..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_1_u.png
deleted file mode 100644
index 314da07c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_dl.png
deleted file mode 100644
index aa8d3028..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_dr.png
deleted file mode 100644
index 38f450f2..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_h.png
deleted file mode 100644
index 66076397..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_ul.png
deleted file mode 100644
index 9c39b62f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_ur.png
deleted file mode 100644
index 825ea57b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_v.png
deleted file mode 100644
index a97332f3..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_3_d.png
deleted file mode 100644
index eafb911c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_3_l.png
deleted file mode 100644
index 104e83cc..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_3_r.png
deleted file mode 100644
index eac910d5..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_3_u.png
deleted file mode 100644
index cec0b75e..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_4.png
deleted file mode 100644
index 36d7f920..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_blue/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass.png
deleted file mode 100644
index ac95a47f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_1_d.png
deleted file mode 100644
index 5378dd24..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_1_l.png
deleted file mode 100644
index 3af84acb..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_1_r.png
deleted file mode 100644
index 5f0a8cc1..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_1_u.png
deleted file mode 100644
index 233b4234..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_dl.png
deleted file mode 100644
index 073de069..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_dr.png
deleted file mode 100644
index 94ba0982..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_h.png
deleted file mode 100644
index fbe127b2..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_ul.png
deleted file mode 100644
index 600829dc..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_ur.png
deleted file mode 100644
index d37b4e89..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_v.png
deleted file mode 100644
index 6c7f3890..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_3_d.png
deleted file mode 100644
index b744df82..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_3_l.png
deleted file mode 100644
index 22112080..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_3_r.png
deleted file mode 100644
index d2515255..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_3_u.png
deleted file mode 100644
index d1a284ab..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_4.png
deleted file mode 100644
index 6101f150..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/light_gray/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass.png
deleted file mode 100644
index a32346e4..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_1_d.png
deleted file mode 100644
index 2170a736..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_1_l.png
deleted file mode 100644
index 2f39604f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_1_r.png
deleted file mode 100644
index 5bdc4e94..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_1_u.png
deleted file mode 100644
index 19beca01..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_dl.png
deleted file mode 100644
index f66d25f0..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_dr.png
deleted file mode 100644
index bea5fc2c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_h.png
deleted file mode 100644
index 0dc02b88..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_ul.png
deleted file mode 100644
index 9df18b00..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_ur.png
deleted file mode 100644
index d1897364..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_v.png
deleted file mode 100644
index 08f2984b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_3_d.png
deleted file mode 100644
index 6324c6fd..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_3_l.png
deleted file mode 100644
index ffce51c6..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_3_r.png
deleted file mode 100644
index e4bf8054..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_3_u.png
deleted file mode 100644
index 340f8e48..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_4.png
deleted file mode 100644
index 376ed8bf..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/lime/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass.png
deleted file mode 100644
index 1e57694c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_1_d.png
deleted file mode 100644
index 534c4dbf..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_1_l.png
deleted file mode 100644
index 388856f5..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_1_r.png
deleted file mode 100644
index 1748cf3f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_1_u.png
deleted file mode 100644
index ac79d7f5..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_dl.png
deleted file mode 100644
index 0fcb2fe6..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_dr.png
deleted file mode 100644
index 569ddf67..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_h.png
deleted file mode 100644
index 5f4267ac..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_ul.png
deleted file mode 100644
index 22fccd91..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_ur.png
deleted file mode 100644
index 7f46973d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_v.png
deleted file mode 100644
index 91b33024..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_3_d.png
deleted file mode 100644
index 7998cd28..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_3_l.png
deleted file mode 100644
index 87f0c842..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_3_r.png
deleted file mode 100644
index 341e64a1..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_3_u.png
deleted file mode 100644
index a1da8cb5..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_4.png
deleted file mode 100644
index 33786330..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/magenta/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass.png
deleted file mode 100644
index 97b30ea1..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_1_d.png
deleted file mode 100644
index 46d04d94..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_1_l.png
deleted file mode 100644
index 2813e261..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_1_r.png
deleted file mode 100644
index 1287b64a..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_1_u.png
deleted file mode 100644
index 5a492582..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_dl.png
deleted file mode 100644
index 86b18951..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_dr.png
deleted file mode 100644
index 6cc80f3d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_h.png
deleted file mode 100644
index 98623365..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_ul.png
deleted file mode 100644
index 71e662e7..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_ur.png
deleted file mode 100644
index 4b0c91da..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_v.png
deleted file mode 100644
index e5ce6df7..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_3_d.png
deleted file mode 100644
index 38f52c12..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_3_l.png
deleted file mode 100644
index 615bb61f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_3_r.png
deleted file mode 100644
index ab336a40..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_3_u.png
deleted file mode 100644
index 97bc12c6..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_4.png
deleted file mode 100644
index 7b7cc745..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/orange/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass.png
deleted file mode 100644
index ca12296d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_1_d.png
deleted file mode 100644
index 8b7469d7..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_1_l.png
deleted file mode 100644
index f0c21536..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_1_r.png
deleted file mode 100644
index 1ff82406..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_1_u.png
deleted file mode 100644
index b5bcbfb1..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_dl.png
deleted file mode 100644
index 0d3fedeb..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_dr.png
deleted file mode 100644
index 6797f9ed..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_h.png
deleted file mode 100644
index c93fa93c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_ul.png
deleted file mode 100644
index c41cc36c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_ur.png
deleted file mode 100644
index c84979f8..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_v.png
deleted file mode 100644
index 581b05bf..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_3_d.png
deleted file mode 100644
index 13e67cb8..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_3_l.png
deleted file mode 100644
index 4156134d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_3_r.png
deleted file mode 100644
index 0afe67e9..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_3_u.png
deleted file mode 100644
index 79d7cb38..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_4.png
deleted file mode 100644
index 2fc8f490..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/pink/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass.png
deleted file mode 100644
index a923aac6..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_1_d.png
deleted file mode 100644
index 29182f41..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_1_l.png
deleted file mode 100644
index 05354b89..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_1_r.png
deleted file mode 100644
index 01d089ad..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_1_u.png
deleted file mode 100644
index a674b38f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_dl.png
deleted file mode 100644
index 162f6bfe..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_dr.png
deleted file mode 100644
index e6a1b214..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_h.png
deleted file mode 100644
index 920d089c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_ul.png
deleted file mode 100644
index 409596fe..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_ur.png
deleted file mode 100644
index a661ec2d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_v.png
deleted file mode 100644
index 4e3566c2..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_3_d.png
deleted file mode 100644
index 046b71d5..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_3_l.png
deleted file mode 100644
index 33b54b24..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_3_r.png
deleted file mode 100644
index 1442b5f9..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_3_u.png
deleted file mode 100644
index 94931adf..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_4.png
deleted file mode 100644
index 8a62e941..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/purple/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass.png
deleted file mode 100644
index cb2306e1..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_1_d.png
deleted file mode 100644
index 2af2ef99..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_1_l.png
deleted file mode 100644
index d3a820eb..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_1_r.png
deleted file mode 100644
index da04c5b2..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_1_u.png
deleted file mode 100644
index 7dafbdf8..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_dl.png
deleted file mode 100644
index af15d5d0..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_dr.png
deleted file mode 100644
index 7c5e70e5..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_h.png
deleted file mode 100644
index 753e12e9..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_ul.png
deleted file mode 100644
index f7ff3486..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_ur.png
deleted file mode 100644
index 82ed0ce4..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_v.png
deleted file mode 100644
index 50a0dba2..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_3_d.png
deleted file mode 100644
index 48e4f542..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_3_l.png
deleted file mode 100644
index b81eb82b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_3_r.png
deleted file mode 100644
index 2d9acc6b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_3_u.png
deleted file mode 100644
index ae377eaf..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/red/glass_4.png
deleted file mode 100644
index db57cf67..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/red/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass.png
deleted file mode 100644
index 2ef7a496..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_1_d.png
deleted file mode 100644
index 5744acc4..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_1_l.png
deleted file mode 100644
index c1fcd38d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_1_r.png
deleted file mode 100644
index 9fb55f40..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_1_u.png
deleted file mode 100644
index f40cecdb..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_dl.png
deleted file mode 100644
index 3c1c4be3..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_dr.png
deleted file mode 100644
index 59115f0f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_h.png
deleted file mode 100644
index 3a0e7050..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_ul.png
deleted file mode 100644
index 1be746c8..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_ur.png
deleted file mode 100644
index 6fc7f67f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_v.png
deleted file mode 100644
index 73060e1a..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_3_d.png
deleted file mode 100644
index 31913a33..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_3_l.png
deleted file mode 100644
index 4aa2c6ee..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_3_r.png
deleted file mode 100644
index 2473ad90..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_3_u.png
deleted file mode 100644
index dfa965eb..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/white/glass_4.png
deleted file mode 100644
index ca6bc049..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/white/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass.png
deleted file mode 100644
index a0b7440c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_1_d.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_1_d.png
deleted file mode 100644
index 5c395d99..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_1_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_1_l.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_1_l.png
deleted file mode 100644
index e7b0d4a9..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_1_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_1_r.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_1_r.png
deleted file mode 100644
index 2960bda3..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_1_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_1_u.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_1_u.png
deleted file mode 100644
index 9bb46774..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_1_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_dl.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_dl.png
deleted file mode 100644
index 2f857534..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_dl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_dr.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_dr.png
deleted file mode 100644
index 01cef7aa..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_dr.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_h.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_h.png
deleted file mode 100644
index 8d2c6c17..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_h.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_ul.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_ul.png
deleted file mode 100644
index b3fcd073..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_ul.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_ur.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_ur.png
deleted file mode 100644
index 442bec07..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_ur.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_v.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_v.png
deleted file mode 100644
index 1026f95d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_2_v.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_3_d.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_3_d.png
deleted file mode 100644
index baf01ecf..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_3_d.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_3_l.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_3_l.png
deleted file mode 100644
index 196f852b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_3_l.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_3_r.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_3_r.png
deleted file mode 100644
index da3d734f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_3_r.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_3_u.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_3_u.png
deleted file mode 100644
index 88d1bc11..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_3_u.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_4.png b/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_4.png
deleted file mode 100644
index 72b4afef..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stained/yellow/glass_4.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_black.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_black.png
deleted file mode 100644
index 2bfc485e..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_black.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_black_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_black_side.png
deleted file mode 100644
index 4888bc16..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_black_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_blue.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_blue.png
deleted file mode 100644
index 9116a36d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_blue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_blue_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_blue_side.png
deleted file mode 100644
index 3ec5b141..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_blue_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_brown.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_brown.png
deleted file mode 100644
index 66bb5d3b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_brown.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_brown_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_brown_side.png
deleted file mode 100644
index 892c601f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_brown_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_cyan.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_cyan.png
deleted file mode 100644
index 924fb8a8..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_cyan.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_cyan_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_cyan_side.png
deleted file mode 100644
index b3e75f32..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_cyan_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_gray.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_gray.png
deleted file mode 100644
index 828eca1c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_gray.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_gray_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_gray_side.png
deleted file mode 100644
index 3812c16f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_gray_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_green.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_green.png
deleted file mode 100644
index 9cc66071..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_green.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_green_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_green_side.png
deleted file mode 100644
index 83102732..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_green_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_lightblue.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_lightblue.png
deleted file mode 100644
index ab875d1b..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_lightblue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_lightblue_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_lightblue_side.png
deleted file mode 100644
index df08fb8c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_lightblue_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_lightgray.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_lightgray.png
deleted file mode 100644
index ac95a47f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_lightgray.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_lightgray_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_lightgray_side.png
deleted file mode 100644
index 46d6cf3e..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_lightgray_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_lime.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_lime.png
deleted file mode 100644
index a32346e4..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_lime.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_lime_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_lime_side.png
deleted file mode 100644
index e057b2a5..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_lime_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_magenta.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_magenta.png
deleted file mode 100644
index 1e57694c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_magenta.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_magenta_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_magenta_side.png
deleted file mode 100644
index d85713b2..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_magenta_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_orange.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_orange.png
deleted file mode 100644
index 97b30ea1..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_orange.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_orange_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_orange_side.png
deleted file mode 100644
index 45de886f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_orange_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_pink.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_pink.png
deleted file mode 100644
index ca12296d..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_pink.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_pink_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_pink_side.png
deleted file mode 100644
index 9b8d52b5..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_pink_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_purple.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_purple.png
deleted file mode 100644
index a923aac6..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_purple.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_purple_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_purple_side.png
deleted file mode 100644
index dea37e1f..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_purple_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_red.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_red.png
deleted file mode 100644
index cb2306e1..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_red.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_red_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_red_side.png
deleted file mode 100644
index 1fd92ec0..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_red_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_white.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_white.png
deleted file mode 100644
index 2ef7a496..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_white.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_white_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_white_side.png
deleted file mode 100644
index ee52d098..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_white_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_yellow.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_yellow.png
deleted file mode 100644
index a0b7440c..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_yellow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glass/stainedglass_yellow_side.png b/resources/assets/tinker/textures/blocks/glass/stainedglass_yellow_side.png
deleted file mode 100644
index 2f813d04..00000000
Binary files a/resources/assets/tinker/textures/blocks/glass/stainedglass_yellow_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/glue.png b/resources/assets/tinker/textures/blocks/glue.png
deleted file mode 100644
index 47ce56ee..00000000
Binary files a/resources/assets/tinker/textures/blocks/glue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/graveyardsoil.png b/resources/assets/tinker/textures/blocks/graveyardsoil.png
deleted file mode 100644
index 0406fe49..00000000
Binary files a/resources/assets/tinker/textures/blocks/graveyardsoil.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/greencurrent.png b/resources/assets/tinker/textures/blocks/greencurrent.png
deleted file mode 100644
index e97c7ed6..00000000
Binary files a/resources/assets/tinker/textures/blocks/greencurrent.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/greencurrent.png.mcmeta b/resources/assets/tinker/textures/blocks/greencurrent.png.mcmeta
deleted file mode 100644
index 4f0718ac..00000000
--- a/resources/assets/tinker/textures/blocks/greencurrent.png.mcmeta
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "animation": {}
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/greencurrent_flow.png b/resources/assets/tinker/textures/blocks/greencurrent_flow.png
deleted file mode 100644
index 8af1eb60..00000000
Binary files a/resources/assets/tinker/textures/blocks/greencurrent_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/greencurrent_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/greencurrent_flow.png.mcmeta
deleted file mode 100644
index 0645f48c..00000000
--- a/resources/assets/tinker/textures/blocks/greencurrent_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 2
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/greencurrent_whirl.png b/resources/assets/tinker/textures/blocks/greencurrent_whirl.png
deleted file mode 100644
index 1631cd63..00000000
Binary files a/resources/assets/tinker/textures/blocks/greencurrent_whirl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/grout.png b/resources/assets/tinker/textures/blocks/grout.png
deleted file mode 100644
index 9020e1fa..00000000
Binary files a/resources/assets/tinker/textures/blocks/grout.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ham_bone.png b/resources/assets/tinker/textures/blocks/ham_bone.png
deleted file mode 100644
index 6a27e1d5..00000000
Binary files a/resources/assets/tinker/textures/blocks/ham_bone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ham_bone_cooked.png b/resources/assets/tinker/textures/blocks/ham_bone_cooked.png
deleted file mode 100644
index 6a27e1d5..00000000
Binary files a/resources/assets/tinker/textures/blocks/ham_bone_cooked.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ham_skin.png b/resources/assets/tinker/textures/blocks/ham_skin.png
deleted file mode 100644
index df722ae2..00000000
Binary files a/resources/assets/tinker/textures/blocks/ham_skin.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ham_skin_cooked.png b/resources/assets/tinker/textures/blocks/ham_skin_cooked.png
deleted file mode 100644
index df722ae2..00000000
Binary files a/resources/assets/tinker/textures/blocks/ham_skin_cooked.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ladder_stone.png b/resources/assets/tinker/textures/blocks/ladder_stone.png
deleted file mode 100644
index f344bc23..00000000
Binary files a/resources/assets/tinker/textures/blocks/ladder_stone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/lavatank_side.png b/resources/assets/tinker/textures/blocks/lavatank_side.png
deleted file mode 100644
index c8851257..00000000
Binary files a/resources/assets/tinker/textures/blocks/lavatank_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/lavatank_top.png b/resources/assets/tinker/textures/blocks/lavatank_top.png
deleted file mode 100644
index 886e11af..00000000
Binary files a/resources/assets/tinker/textures/blocks/lavatank_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_alubrass.png b/resources/assets/tinker/textures/blocks/liquid_alubrass.png
deleted file mode 100644
index 66969e3b..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_alubrass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_alubrass.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_alubrass.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_alubrass.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_alubrass_flow.png b/resources/assets/tinker/textures/blocks/liquid_alubrass_flow.png
deleted file mode 100644
index 7c8f5460..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_alubrass_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_alubrass_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_alubrass_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_alubrass_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_aluminum.png b/resources/assets/tinker/textures/blocks/liquid_aluminum.png
deleted file mode 100644
index d76521bc..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_aluminum.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_aluminum.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_aluminum.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_aluminum.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_aluminum_flow.png b/resources/assets/tinker/textures/blocks/liquid_aluminum_flow.png
deleted file mode 100644
index 65ab6e68..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_aluminum_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_aluminum_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_aluminum_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_aluminum_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_alumite.png b/resources/assets/tinker/textures/blocks/liquid_alumite.png
deleted file mode 100644
index eecac258..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_alumite.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_alumite.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_alumite.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_alumite.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_alumite_flow.png b/resources/assets/tinker/textures/blocks/liquid_alumite_flow.png
deleted file mode 100644
index e3158349..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_alumite_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_alumite_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_alumite_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_alumite_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_ardite.png b/resources/assets/tinker/textures/blocks/liquid_ardite.png
deleted file mode 100644
index 612cd15c..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_ardite.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_ardite.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_ardite.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_ardite.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_ardite_flow.png b/resources/assets/tinker/textures/blocks/liquid_ardite_flow.png
deleted file mode 100644
index 4aaa0ebc..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_ardite_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_ardite_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_ardite_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_ardite_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_bronze.png b/resources/assets/tinker/textures/blocks/liquid_bronze.png
deleted file mode 100644
index 19ffe5fe..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_bronze.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_bronze.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_bronze.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_bronze.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_bronze_flow.png b/resources/assets/tinker/textures/blocks/liquid_bronze_flow.png
deleted file mode 100644
index 438554ea..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_bronze_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_bronze_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_bronze_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_bronze_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_cobalt.png b/resources/assets/tinker/textures/blocks/liquid_cobalt.png
deleted file mode 100644
index 9b36a5c8..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_cobalt.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_cobalt.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_cobalt.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_cobalt.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_cobalt_flow.png b/resources/assets/tinker/textures/blocks/liquid_cobalt_flow.png
deleted file mode 100644
index 0128698a..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_cobalt_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_cobalt_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_cobalt_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_cobalt_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_copper.png b/resources/assets/tinker/textures/blocks/liquid_copper.png
deleted file mode 100644
index 677675c8..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_copper.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_copper.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_copper.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_copper.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_copper_flow.png b/resources/assets/tinker/textures/blocks/liquid_copper_flow.png
deleted file mode 100644
index 7447e093..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_copper_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_copper_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_copper_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_copper_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_cow.png b/resources/assets/tinker/textures/blocks/liquid_cow.png
deleted file mode 100644
index 000176e2..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_cow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_cow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_cow.png.mcmeta
deleted file mode 100644
index 4f0718ac..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_cow.png.mcmeta
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "animation": {}
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_cow_flow.png b/resources/assets/tinker/textures/blocks/liquid_cow_flow.png
deleted file mode 100644
index 1844ded0..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_cow_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_cow_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_cow_flow.png.mcmeta
deleted file mode 100644
index 0645f48c..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_cow_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 2
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_electrum.png b/resources/assets/tinker/textures/blocks/liquid_electrum.png
deleted file mode 100644
index 817345f6..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_electrum.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_electrum.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_electrum.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_electrum.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_electrum_flow.png b/resources/assets/tinker/textures/blocks/liquid_electrum_flow.png
deleted file mode 100644
index aa63b513..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_electrum_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_electrum_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_electrum_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_electrum_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_ender.png b/resources/assets/tinker/textures/blocks/liquid_ender.png
deleted file mode 100644
index bbc90b39..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_ender.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_ender.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_ender.png.mcmeta
deleted file mode 100644
index 4f0718ac..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_ender.png.mcmeta
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "animation": {}
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_ender_flow.png b/resources/assets/tinker/textures/blocks/liquid_ender_flow.png
deleted file mode 100644
index 2612655c..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_ender_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_ender_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_ender_flow.png.mcmeta
deleted file mode 100644
index 0645f48c..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_ender_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 2
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_ferrous.png b/resources/assets/tinker/textures/blocks/liquid_ferrous.png
deleted file mode 100644
index 7d917ffd..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_ferrous.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_ferrous.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_ferrous.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_ferrous.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_ferrous_flow.png b/resources/assets/tinker/textures/blocks/liquid_ferrous_flow.png
deleted file mode 100644
index 1f641b56..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_ferrous_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_ferrous_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_ferrous_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_ferrous_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_glass.png b/resources/assets/tinker/textures/blocks/liquid_glass.png
deleted file mode 100644
index e7a3d270..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_glass.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_glass.png.mcmeta
deleted file mode 100644
index 4f0718ac..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_glass.png.mcmeta
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "animation": {}
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_glass_flow.png b/resources/assets/tinker/textures/blocks/liquid_glass_flow.png
deleted file mode 100644
index 21230e4e..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_glass_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_glass_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_glass_flow.png.mcmeta
deleted file mode 100644
index 0645f48c..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_glass_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 2
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_glue.png b/resources/assets/tinker/textures/blocks/liquid_glue.png
deleted file mode 100644
index 75592501..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_glue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_glue.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_glue.png.mcmeta
deleted file mode 100644
index 4f0718ac..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_glue.png.mcmeta
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "animation": {}
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_glue_flow.png b/resources/assets/tinker/textures/blocks/liquid_glue_flow.png
deleted file mode 100644
index 3588a77d..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_glue_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_glue_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_glue_flow.png.mcmeta
deleted file mode 100644
index 4f0718ac..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_glue_flow.png.mcmeta
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "animation": {}
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_gold.png b/resources/assets/tinker/textures/blocks/liquid_gold.png
deleted file mode 100644
index 7489b2f1..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_gold.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_gold.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_gold.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_gold.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_gold_flow.png b/resources/assets/tinker/textures/blocks/liquid_gold_flow.png
deleted file mode 100644
index 4d1c416c..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_gold_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_gold_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_gold_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_gold_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_gray.png b/resources/assets/tinker/textures/blocks/liquid_gray.png
deleted file mode 100644
index 95e3cab2..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_gray.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_gray.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_gray.png.mcmeta
deleted file mode 100644
index 4f0718ac..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_gray.png.mcmeta
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "animation": {}
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_gray_flow.png b/resources/assets/tinker/textures/blocks/liquid_gray_flow.png
deleted file mode 100644
index 58f4017e..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_gray_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_gray_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_gray_flow.png.mcmeta
deleted file mode 100644
index 0645f48c..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_gray_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 2
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_invar.png b/resources/assets/tinker/textures/blocks/liquid_invar.png
deleted file mode 100644
index 2984f30e..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_invar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_invar.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_invar.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_invar.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_invar_flow.png b/resources/assets/tinker/textures/blocks/liquid_invar_flow.png
deleted file mode 100644
index 68321fab..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_invar_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_invar_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_invar_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_invar_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_iron.png b/resources/assets/tinker/textures/blocks/liquid_iron.png
deleted file mode 100644
index a545926c..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_iron.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_iron.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_iron.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_iron.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_iron_flow.png b/resources/assets/tinker/textures/blocks/liquid_iron_flow.png
deleted file mode 100644
index 89fc52b7..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_iron_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_iron_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_iron_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_iron_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_lead.png b/resources/assets/tinker/textures/blocks/liquid_lead.png
deleted file mode 100644
index 448d1757..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_lead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_lead.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_lead.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_lead.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_lead_flow.png b/resources/assets/tinker/textures/blocks/liquid_lead_flow.png
deleted file mode 100644
index 7ec2852e..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_lead_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_lead_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_lead_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_lead_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_manyullyn.png b/resources/assets/tinker/textures/blocks/liquid_manyullyn.png
deleted file mode 100644
index c75e7b0b..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_manyullyn.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_manyullyn.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_manyullyn.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_manyullyn.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_manyullyn_flow.png b/resources/assets/tinker/textures/blocks/liquid_manyullyn_flow.png
deleted file mode 100644
index b6312db0..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_manyullyn_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_manyullyn_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_manyullyn_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_manyullyn_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_obsidian.png b/resources/assets/tinker/textures/blocks/liquid_obsidian.png
deleted file mode 100644
index 7e26ee2a..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_obsidian.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_obsidian.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_obsidian.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_obsidian.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_obsidian_flow.png b/resources/assets/tinker/textures/blocks/liquid_obsidian_flow.png
deleted file mode 100644
index e4841463..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_obsidian_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_obsidian_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_obsidian_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_obsidian_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_pigiron.png b/resources/assets/tinker/textures/blocks/liquid_pigiron.png
deleted file mode 100644
index 987e6a6e..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_pigiron.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_pigiron.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_pigiron.png.mcmeta
deleted file mode 100644
index 04732ffb..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_pigiron.png.mcmeta
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_pigiron_flow.png b/resources/assets/tinker/textures/blocks/liquid_pigiron_flow.png
deleted file mode 100644
index aeadc574..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_pigiron_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_pigiron_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_pigiron_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_pigiron_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_shiny.png b/resources/assets/tinker/textures/blocks/liquid_shiny.png
deleted file mode 100644
index 9c1ab339..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_shiny.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_shiny.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_shiny.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_shiny.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_shiny_flow.png b/resources/assets/tinker/textures/blocks/liquid_shiny_flow.png
deleted file mode 100644
index 4b564dae..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_shiny_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_shiny_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_shiny_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_shiny_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_silver.png b/resources/assets/tinker/textures/blocks/liquid_silver.png
deleted file mode 100644
index f669a50a..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_silver.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_silver.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_silver.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_silver.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_silver_flow.png b/resources/assets/tinker/textures/blocks/liquid_silver_flow.png
deleted file mode 100644
index 7ac66ba5..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_silver_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_silver_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_silver_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_silver_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_steel.png b/resources/assets/tinker/textures/blocks/liquid_steel.png
deleted file mode 100644
index 7b01f826..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_steel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_steel.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_steel.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_steel.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_steel_flow.png b/resources/assets/tinker/textures/blocks/liquid_steel_flow.png
deleted file mode 100644
index 4074cabb..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_steel_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_steel_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_steel_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_steel_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_stone.png b/resources/assets/tinker/textures/blocks/liquid_stone.png
deleted file mode 100644
index a6c56b98..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_stone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_stone.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_stone.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_stone.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_stone_flow.png b/resources/assets/tinker/textures/blocks/liquid_stone_flow.png
deleted file mode 100644
index 16b49134..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_stone_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_stone_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_stone_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_stone_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_tin.png b/resources/assets/tinker/textures/blocks/liquid_tin.png
deleted file mode 100644
index 2dcd87c1..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_tin.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_tin.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_tin.png.mcmeta
deleted file mode 100644
index 7ceb3639..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_tin.png.mcmeta
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 18,
- 17,
- 16,
- 15,
- 14,
- 13,
- 12,
- 11,
- 10,
- 9,
- 8,
- 7,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_tin_flow.png b/resources/assets/tinker/textures/blocks/liquid_tin_flow.png
deleted file mode 100644
index 19480040..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_tin_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_tin_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_tin_flow.png.mcmeta
deleted file mode 100644
index 8e55e43b..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_tin_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 3
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/liquid_villager.png b/resources/assets/tinker/textures/blocks/liquid_villager.png
deleted file mode 100644
index a9d1b9bf..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_villager.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_villager.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_villager.png.mcmeta
deleted file mode 100644
index 4f0718ac..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_villager.png.mcmeta
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "animation": {}
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/liquid_villager_flow.png b/resources/assets/tinker/textures/blocks/liquid_villager_flow.png
deleted file mode 100644
index 01752191..00000000
Binary files a/resources/assets/tinker/textures/blocks/liquid_villager_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/liquid_villager_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/liquid_villager_flow.png.mcmeta
deleted file mode 100644
index 0645f48c..00000000
--- a/resources/assets/tinker/textures/blocks/liquid_villager_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 2
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/nether_ardite.png b/resources/assets/tinker/textures/blocks/nether_ardite.png
deleted file mode 100644
index 25d34650..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_ardite.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_blockcast_bottom.png b/resources/assets/tinker/textures/blocks/nether_blockcast_bottom.png
deleted file mode 100644
index 98206fec..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_blockcast_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_blockcast_side.png b/resources/assets/tinker/textures/blocks/nether_blockcast_side.png
deleted file mode 100644
index 204c3568..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_blockcast_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_blockcast_top.png b/resources/assets/tinker/textures/blocks/nether_blockcast_top.png
deleted file mode 100644
index dfc02a24..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_blockcast_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_castingtable_bottom.png b/resources/assets/tinker/textures/blocks/nether_castingtable_bottom.png
deleted file mode 100644
index 16a0b296..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_castingtable_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_castingtable_side.png b/resources/assets/tinker/textures/blocks/nether_castingtable_side.png
deleted file mode 100644
index 123af4d3..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_castingtable_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_castingtable_top.png b/resources/assets/tinker/textures/blocks/nether_castingtable_top.png
deleted file mode 100644
index 9bf0b985..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_castingtable_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_cobalt.png b/resources/assets/tinker/textures/blocks/nether_cobalt.png
deleted file mode 100644
index e8dd44e7..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_cobalt.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_drain_basin.png b/resources/assets/tinker/textures/blocks/nether_drain_basin.png
deleted file mode 100644
index 8f540dfb..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_drain_basin.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_drain_out.png b/resources/assets/tinker/textures/blocks/nether_drain_out.png
deleted file mode 100644
index 28bd31e8..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_drain_out.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_drain_side.png b/resources/assets/tinker/textures/blocks/nether_drain_side.png
deleted file mode 100644
index e55813e7..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_drain_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_faucet.png b/resources/assets/tinker/textures/blocks/nether_faucet.png
deleted file mode 100644
index 49b14472..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_faucet.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_grout.png b/resources/assets/tinker/textures/blocks/nether_grout.png
deleted file mode 100644
index 916b2571..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_grout.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_lavatank_side.png b/resources/assets/tinker/textures/blocks/nether_lavatank_side.png
deleted file mode 100644
index 846af82e..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_lavatank_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_lavatank_top.png b/resources/assets/tinker/textures/blocks/nether_lavatank_top.png
deleted file mode 100644
index aca004d2..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_lavatank_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedbrick.png b/resources/assets/tinker/textures/blocks/nether_searedbrick.png
deleted file mode 100644
index 197209eb..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedbrick.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedbrickcracked.png b/resources/assets/tinker/textures/blocks/nether_searedbrickcracked.png
deleted file mode 100644
index 19d3ccdf..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedbrickcracked.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedbrickfancy.png b/resources/assets/tinker/textures/blocks/nether_searedbrickfancy.png
deleted file mode 100644
index 36b6a871..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedbrickfancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedbricksquare.png b/resources/assets/tinker/textures/blocks/nether_searedbricksquare.png
deleted file mode 100644
index 35338250..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedbricksquare.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedcobble.png b/resources/assets/tinker/textures/blocks/nether_searedcobble.png
deleted file mode 100644
index ada13cce..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedcobble.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedcreeper.png b/resources/assets/tinker/textures/blocks/nether_searedcreeper.png
deleted file mode 100644
index 8ea22366..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedcreeper.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedgague_bottom.png b/resources/assets/tinker/textures/blocks/nether_searedgague_bottom.png
deleted file mode 100644
index 43ccc7a5..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedgague_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedgague_side.png b/resources/assets/tinker/textures/blocks/nether_searedgague_side.png
deleted file mode 100644
index ae2cd1dd..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedgague_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedgague_top.png b/resources/assets/tinker/textures/blocks/nether_searedgague_top.png
deleted file mode 100644
index 90b7b2ca..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedgague_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedpaver.png b/resources/assets/tinker/textures/blocks/nether_searedpaver.png
deleted file mode 100644
index 68cd142a..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedpaver.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedroad.png b/resources/assets/tinker/textures/blocks/nether_searedroad.png
deleted file mode 100644
index 93553dea..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedroad.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedstone.png b/resources/assets/tinker/textures/blocks/nether_searedstone.png
deleted file mode 100644
index 216a9939..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedstone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedwindow_bottom.png b/resources/assets/tinker/textures/blocks/nether_searedwindow_bottom.png
deleted file mode 100644
index b80be08a..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedwindow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedwindow_side.png b/resources/assets/tinker/textures/blocks/nether_searedwindow_side.png
deleted file mode 100644
index e0ebecfd..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedwindow_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_searedwindow_top.png b/resources/assets/tinker/textures/blocks/nether_searedwindow_top.png
deleted file mode 100644
index 95a7c2ac..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_searedwindow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_slag.png b/resources/assets/tinker/textures/blocks/nether_slag.png
deleted file mode 100644
index e34f430b..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_slag.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_smeltery_active.png b/resources/assets/tinker/textures/blocks/nether_smeltery_active.png
deleted file mode 100644
index e26450e4..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_smeltery_active.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_smeltery_furnace_off.png b/resources/assets/tinker/textures/blocks/nether_smeltery_furnace_off.png
deleted file mode 100644
index aba193b2..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_smeltery_furnace_off.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_smeltery_furnace_on.png b/resources/assets/tinker/textures/blocks/nether_smeltery_furnace_on.png
deleted file mode 100644
index 33dade7f..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_smeltery_furnace_on.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_smeltery_inactive.png b/resources/assets/tinker/textures/blocks/nether_smeltery_inactive.png
deleted file mode 100644
index f1dadf3d..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_smeltery_inactive.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/nether_smeltery_side.png b/resources/assets/tinker/textures/blocks/nether_smeltery_side.png
deleted file mode 100644
index c36cb839..00000000
Binary files a/resources/assets/tinker/textures/blocks/nether_smeltery_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/noteslab_chest.png b/resources/assets/tinker/textures/blocks/noteslab_chest.png
deleted file mode 100644
index 59b4e910..00000000
Binary files a/resources/assets/tinker/textures/blocks/noteslab_chest.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/noteslab_side.png b/resources/assets/tinker/textures/blocks/noteslab_side.png
deleted file mode 100644
index 5365815f..00000000
Binary files a/resources/assets/tinker/textures/blocks/noteslab_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ore_aluminum.png b/resources/assets/tinker/textures/blocks/ore_aluminum.png
deleted file mode 100644
index 332a9dbd..00000000
Binary files a/resources/assets/tinker/textures/blocks/ore_aluminum.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ore_aluminum_gravel.png b/resources/assets/tinker/textures/blocks/ore_aluminum_gravel.png
deleted file mode 100644
index 1595d67f..00000000
Binary files a/resources/assets/tinker/textures/blocks/ore_aluminum_gravel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ore_cobalt_gravel.png b/resources/assets/tinker/textures/blocks/ore_cobalt_gravel.png
deleted file mode 100644
index f3054b75..00000000
Binary files a/resources/assets/tinker/textures/blocks/ore_cobalt_gravel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ore_copper.png b/resources/assets/tinker/textures/blocks/ore_copper.png
deleted file mode 100644
index 1bd21a29..00000000
Binary files a/resources/assets/tinker/textures/blocks/ore_copper.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ore_copper_gravel.png b/resources/assets/tinker/textures/blocks/ore_copper_gravel.png
deleted file mode 100644
index ccc20ef8..00000000
Binary files a/resources/assets/tinker/textures/blocks/ore_copper_gravel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ore_gold_gravel.png b/resources/assets/tinker/textures/blocks/ore_gold_gravel.png
deleted file mode 100644
index dc3e1e4e..00000000
Binary files a/resources/assets/tinker/textures/blocks/ore_gold_gravel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ore_iron_gravel.png b/resources/assets/tinker/textures/blocks/ore_iron_gravel.png
deleted file mode 100644
index 23d1b55a..00000000
Binary files a/resources/assets/tinker/textures/blocks/ore_iron_gravel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ore_slag.png b/resources/assets/tinker/textures/blocks/ore_slag.png
deleted file mode 100644
index fb95107c..00000000
Binary files a/resources/assets/tinker/textures/blocks/ore_slag.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ore_tin.png b/resources/assets/tinker/textures/blocks/ore_tin.png
deleted file mode 100644
index 084019e1..00000000
Binary files a/resources/assets/tinker/textures/blocks/ore_tin.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/ore_tin_gravel.png b/resources/assets/tinker/textures/blocks/ore_tin_gravel.png
deleted file mode 100644
index 36bd6443..00000000
Binary files a/resources/assets/tinker/textures/blocks/ore_tin_gravel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/partbuilder_birch_bottom.png b/resources/assets/tinker/textures/blocks/partbuilder_birch_bottom.png
deleted file mode 100644
index bfb209d1..00000000
Binary files a/resources/assets/tinker/textures/blocks/partbuilder_birch_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/partbuilder_birch_side.png b/resources/assets/tinker/textures/blocks/partbuilder_birch_side.png
deleted file mode 100644
index 340aa8b6..00000000
Binary files a/resources/assets/tinker/textures/blocks/partbuilder_birch_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/partbuilder_birch_top.png b/resources/assets/tinker/textures/blocks/partbuilder_birch_top.png
deleted file mode 100644
index ad427648..00000000
Binary files a/resources/assets/tinker/textures/blocks/partbuilder_birch_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/partbuilder_jungle_bottom.png b/resources/assets/tinker/textures/blocks/partbuilder_jungle_bottom.png
deleted file mode 100644
index 0b7120ad..00000000
Binary files a/resources/assets/tinker/textures/blocks/partbuilder_jungle_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/partbuilder_jungle_side.png b/resources/assets/tinker/textures/blocks/partbuilder_jungle_side.png
deleted file mode 100644
index 7f4f6cda..00000000
Binary files a/resources/assets/tinker/textures/blocks/partbuilder_jungle_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/partbuilder_jungle_top.png b/resources/assets/tinker/textures/blocks/partbuilder_jungle_top.png
deleted file mode 100644
index ad427648..00000000
Binary files a/resources/assets/tinker/textures/blocks/partbuilder_jungle_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/partbuilder_oak_bottom.png b/resources/assets/tinker/textures/blocks/partbuilder_oak_bottom.png
deleted file mode 100644
index 914cb5fb..00000000
Binary files a/resources/assets/tinker/textures/blocks/partbuilder_oak_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/partbuilder_oak_side.png b/resources/assets/tinker/textures/blocks/partbuilder_oak_side.png
deleted file mode 100644
index bc415638..00000000
Binary files a/resources/assets/tinker/textures/blocks/partbuilder_oak_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/partbuilder_oak_top.png b/resources/assets/tinker/textures/blocks/partbuilder_oak_top.png
deleted file mode 100644
index ad427648..00000000
Binary files a/resources/assets/tinker/textures/blocks/partbuilder_oak_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/partbuilder_slab_chest.png b/resources/assets/tinker/textures/blocks/partbuilder_slab_chest.png
deleted file mode 100644
index 81270d65..00000000
Binary files a/resources/assets/tinker/textures/blocks/partbuilder_slab_chest.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/partbuilder_slab_side.png b/resources/assets/tinker/textures/blocks/partbuilder_slab_side.png
deleted file mode 100644
index e3f0bda7..00000000
Binary files a/resources/assets/tinker/textures/blocks/partbuilder_slab_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/partbuilder_spruce_bottom.png b/resources/assets/tinker/textures/blocks/partbuilder_spruce_bottom.png
deleted file mode 100644
index 77a22a41..00000000
Binary files a/resources/assets/tinker/textures/blocks/partbuilder_spruce_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/partbuilder_spruce_side.png b/resources/assets/tinker/textures/blocks/partbuilder_spruce_side.png
deleted file mode 100644
index 59d867d6..00000000
Binary files a/resources/assets/tinker/textures/blocks/partbuilder_spruce_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/partbuilder_spruce_top.png b/resources/assets/tinker/textures/blocks/partbuilder_spruce_top.png
deleted file mode 100644
index ad427648..00000000
Binary files a/resources/assets/tinker/textures/blocks/partbuilder_spruce_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/patternchest_bottom.png b/resources/assets/tinker/textures/blocks/patternchest_bottom.png
deleted file mode 100644
index 660bae6c..00000000
Binary files a/resources/assets/tinker/textures/blocks/patternchest_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/patternchest_side.png b/resources/assets/tinker/textures/blocks/patternchest_side.png
deleted file mode 100644
index ae5ac716..00000000
Binary files a/resources/assets/tinker/textures/blocks/patternchest_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/patternchest_slab_side.png b/resources/assets/tinker/textures/blocks/patternchest_slab_side.png
deleted file mode 100644
index 658ef27f..00000000
Binary files a/resources/assets/tinker/textures/blocks/patternchest_slab_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/patternchest_top.png b/resources/assets/tinker/textures/blocks/patternchest_top.png
deleted file mode 100644
index 660bae6c..00000000
Binary files a/resources/assets/tinker/textures/blocks/patternchest_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/punji.png b/resources/assets/tinker/textures/blocks/punji.png
deleted file mode 100644
index b25debb2..00000000
Binary files a/resources/assets/tinker/textures/blocks/punji.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/sdx_bottom_blue.png b/resources/assets/tinker/textures/blocks/sdx_bottom_blue.png
deleted file mode 100644
index 95f6f0f2..00000000
Binary files a/resources/assets/tinker/textures/blocks/sdx_bottom_blue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/sdx_bottom_green.png b/resources/assets/tinker/textures/blocks/sdx_bottom_green.png
deleted file mode 100644
index 0f13280a..00000000
Binary files a/resources/assets/tinker/textures/blocks/sdx_bottom_green.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/sdx_side_blue.png b/resources/assets/tinker/textures/blocks/sdx_side_blue.png
deleted file mode 100644
index f6a74e3d..00000000
Binary files a/resources/assets/tinker/textures/blocks/sdx_side_blue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/sdx_side_green.png b/resources/assets/tinker/textures/blocks/sdx_side_green.png
deleted file mode 100644
index 09421f69..00000000
Binary files a/resources/assets/tinker/textures/blocks/sdx_side_green.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/sdx_top_blue.png b/resources/assets/tinker/textures/blocks/sdx_top_blue.png
deleted file mode 100644
index 102118eb..00000000
Binary files a/resources/assets/tinker/textures/blocks/sdx_top_blue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/sdx_top_green.png b/resources/assets/tinker/textures/blocks/sdx_top_green.png
deleted file mode 100644
index c729d22c..00000000
Binary files a/resources/assets/tinker/textures/blocks/sdx_top_green.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedbrick.png b/resources/assets/tinker/textures/blocks/searedbrick.png
deleted file mode 100644
index e5936177..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedbrick.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedbrickcracked.png b/resources/assets/tinker/textures/blocks/searedbrickcracked.png
deleted file mode 100644
index 084c3694..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedbrickcracked.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedbrickfancy.png b/resources/assets/tinker/textures/blocks/searedbrickfancy.png
deleted file mode 100644
index 15e80f1a..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedbrickfancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedbricksquare.png b/resources/assets/tinker/textures/blocks/searedbricksquare.png
deleted file mode 100644
index 481d311c..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedbricksquare.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedcobble.png b/resources/assets/tinker/textures/blocks/searedcobble.png
deleted file mode 100644
index 1f54266e..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedcobble.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedcreeper.png b/resources/assets/tinker/textures/blocks/searedcreeper.png
deleted file mode 100644
index 2944d8f8..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedcreeper.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedgague_bottom.png b/resources/assets/tinker/textures/blocks/searedgague_bottom.png
deleted file mode 100644
index dc89c155..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedgague_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedgague_side.png b/resources/assets/tinker/textures/blocks/searedgague_side.png
deleted file mode 100644
index 4234a612..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedgague_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedgague_top.png b/resources/assets/tinker/textures/blocks/searedgague_top.png
deleted file mode 100644
index 22985760..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedgague_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedpaver.png b/resources/assets/tinker/textures/blocks/searedpaver.png
deleted file mode 100644
index a55d35a1..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedpaver.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedroad.png b/resources/assets/tinker/textures/blocks/searedroad.png
deleted file mode 100644
index cbe23ffc..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedroad.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedstone.png b/resources/assets/tinker/textures/blocks/searedstone.png
deleted file mode 100644
index 471467bd..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedstone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedwindow_bottom.png b/resources/assets/tinker/textures/blocks/searedwindow_bottom.png
deleted file mode 100644
index 9598a94f..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedwindow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedwindow_side.png b/resources/assets/tinker/textures/blocks/searedwindow_side.png
deleted file mode 100644
index 96877677..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedwindow_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/searedwindow_top.png b/resources/assets/tinker/textures/blocks/searedwindow_top.png
deleted file mode 100644
index b6e051e0..00000000
Binary files a/resources/assets/tinker/textures/blocks/searedwindow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/signalbus.png b/resources/assets/tinker/textures/blocks/signalbus.png
deleted file mode 100644
index 4d9403a8..00000000
Binary files a/resources/assets/tinker/textures/blocks/signalbus.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slime_blue.png b/resources/assets/tinker/textures/blocks/slime_blue.png
deleted file mode 100644
index 4fc22c5d..00000000
Binary files a/resources/assets/tinker/textures/blocks/slime_blue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slime_blue.png.mcmeta b/resources/assets/tinker/textures/blocks/slime_blue.png.mcmeta
deleted file mode 100644
index 4f0718ac..00000000
--- a/resources/assets/tinker/textures/blocks/slime_blue.png.mcmeta
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "animation": {}
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/blocks/slime_blue_flow.png b/resources/assets/tinker/textures/blocks/slime_blue_flow.png
deleted file mode 100644
index 929420e0..00000000
Binary files a/resources/assets/tinker/textures/blocks/slime_blue_flow.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slime_blue_flow.png.mcmeta b/resources/assets/tinker/textures/blocks/slime_blue_flow.png.mcmeta
deleted file mode 100644
index 0645f48c..00000000
--- a/resources/assets/tinker/textures/blocks/slime_blue_flow.png.mcmeta
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "animation": {
- "frametime": 2
- }
-}
diff --git a/resources/assets/tinker/textures/blocks/slimeblock_blue.png b/resources/assets/tinker/textures/blocks/slimeblock_blue.png
deleted file mode 100644
index cc2a161b..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimeblock_blue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimeblock_green.png b/resources/assets/tinker/textures/blocks/slimeblock_green.png
deleted file mode 100644
index e0d9f10d..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimeblock_green.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimeblock_purple.png b/resources/assets/tinker/textures/blocks/slimeblock_purple.png
deleted file mode 100644
index 4c63c537..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimeblock_purple.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimedirt_blue.png b/resources/assets/tinker/textures/blocks/slimedirt_blue.png
deleted file mode 100644
index 133b401b..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimedirt_blue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimedirt_green.png b/resources/assets/tinker/textures/blocks/slimedirt_green.png
deleted file mode 100644
index d4992452..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimedirt_green.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimegrass_blue_fern.png b/resources/assets/tinker/textures/blocks/slimegrass_blue_fern.png
deleted file mode 100644
index e50c38a7..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimegrass_blue_fern.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimegrass_blue_side.png b/resources/assets/tinker/textures/blocks/slimegrass_blue_side.png
deleted file mode 100644
index 988c5281..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimegrass_blue_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimegrass_blue_tall.png b/resources/assets/tinker/textures/blocks/slimegrass_blue_tall.png
deleted file mode 100644
index bb10912e..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimegrass_blue_tall.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimegrass_blue_top.png b/resources/assets/tinker/textures/blocks/slimegrass_blue_top.png
deleted file mode 100644
index 5d9ad68e..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimegrass_blue_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimegrass_green_blue_side.png b/resources/assets/tinker/textures/blocks/slimegrass_green_blue_side.png
deleted file mode 100644
index d8a186cb..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimegrass_green_blue_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimegrass_green_dirt_side.png b/resources/assets/tinker/textures/blocks/slimegrass_green_dirt_side.png
deleted file mode 100644
index 3d057239..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimegrass_green_dirt_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimegrass_green_green_side.png b/resources/assets/tinker/textures/blocks/slimegrass_green_green_side.png
deleted file mode 100644
index 1b5b9b22..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimegrass_green_green_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimegrass_green_top.png b/resources/assets/tinker/textures/blocks/slimegrass_green_top.png
deleted file mode 100644
index cf7ff8b4..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimegrass_green_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimeleaves_blue_fancy.png b/resources/assets/tinker/textures/blocks/slimeleaves_blue_fancy.png
deleted file mode 100644
index deb17e7a..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimeleaves_blue_fancy.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimeleaves_blue_fast.png b/resources/assets/tinker/textures/blocks/slimeleaves_blue_fast.png
deleted file mode 100644
index 6c91818b..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimeleaves_blue_fast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimesand.png b/resources/assets/tinker/textures/blocks/slimesand.png
deleted file mode 100644
index a3361e67..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimesand.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimesandblue.png b/resources/assets/tinker/textures/blocks/slimesandblue.png
deleted file mode 100644
index 1f7ecfe8..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimesandblue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimesapling_blue.png b/resources/assets/tinker/textures/blocks/slimesapling_blue.png
deleted file mode 100644
index c48bc13d..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimesapling_blue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/slimesnow_blue.png b/resources/assets/tinker/textures/blocks/slimesnow_blue.png
deleted file mode 100644
index 9a81f243..00000000
Binary files a/resources/assets/tinker/textures/blocks/slimesnow_blue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/smeltery_active.png b/resources/assets/tinker/textures/blocks/smeltery_active.png
deleted file mode 100644
index dda83627..00000000
Binary files a/resources/assets/tinker/textures/blocks/smeltery_active.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/smeltery_furnace_off.png b/resources/assets/tinker/textures/blocks/smeltery_furnace_off.png
deleted file mode 100644
index de9b0116..00000000
Binary files a/resources/assets/tinker/textures/blocks/smeltery_furnace_off.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/smeltery_furnace_on.png b/resources/assets/tinker/textures/blocks/smeltery_furnace_on.png
deleted file mode 100644
index aa10a92f..00000000
Binary files a/resources/assets/tinker/textures/blocks/smeltery_furnace_on.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/smeltery_inactive.png b/resources/assets/tinker/textures/blocks/smeltery_inactive.png
deleted file mode 100644
index 8f38e348..00000000
Binary files a/resources/assets/tinker/textures/blocks/smeltery_inactive.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/smeltery_side.png b/resources/assets/tinker/textures/blocks/smeltery_side.png
deleted file mode 100644
index e5936177..00000000
Binary files a/resources/assets/tinker/textures/blocks/smeltery_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/stenciltable_birch_bottom.png b/resources/assets/tinker/textures/blocks/stenciltable_birch_bottom.png
deleted file mode 100644
index b113e3ae..00000000
Binary files a/resources/assets/tinker/textures/blocks/stenciltable_birch_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/stenciltable_birch_side.png b/resources/assets/tinker/textures/blocks/stenciltable_birch_side.png
deleted file mode 100644
index bf990d56..00000000
Binary files a/resources/assets/tinker/textures/blocks/stenciltable_birch_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/stenciltable_birch_top.png b/resources/assets/tinker/textures/blocks/stenciltable_birch_top.png
deleted file mode 100644
index 9003c077..00000000
Binary files a/resources/assets/tinker/textures/blocks/stenciltable_birch_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/stenciltable_jungle_bottom.png b/resources/assets/tinker/textures/blocks/stenciltable_jungle_bottom.png
deleted file mode 100644
index e3fe82d1..00000000
Binary files a/resources/assets/tinker/textures/blocks/stenciltable_jungle_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/stenciltable_jungle_side.png b/resources/assets/tinker/textures/blocks/stenciltable_jungle_side.png
deleted file mode 100644
index c152884c..00000000
Binary files a/resources/assets/tinker/textures/blocks/stenciltable_jungle_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/stenciltable_jungle_top.png b/resources/assets/tinker/textures/blocks/stenciltable_jungle_top.png
deleted file mode 100644
index 9003c077..00000000
Binary files a/resources/assets/tinker/textures/blocks/stenciltable_jungle_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/stenciltable_oak_bottom.png b/resources/assets/tinker/textures/blocks/stenciltable_oak_bottom.png
deleted file mode 100644
index 346f77dc..00000000
Binary files a/resources/assets/tinker/textures/blocks/stenciltable_oak_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/stenciltable_oak_side.png b/resources/assets/tinker/textures/blocks/stenciltable_oak_side.png
deleted file mode 100644
index cbeb34a7..00000000
Binary files a/resources/assets/tinker/textures/blocks/stenciltable_oak_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/stenciltable_oak_top.png b/resources/assets/tinker/textures/blocks/stenciltable_oak_top.png
deleted file mode 100644
index 9003c077..00000000
Binary files a/resources/assets/tinker/textures/blocks/stenciltable_oak_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/stenciltable_slab_chest.png b/resources/assets/tinker/textures/blocks/stenciltable_slab_chest.png
deleted file mode 100644
index 3e769167..00000000
Binary files a/resources/assets/tinker/textures/blocks/stenciltable_slab_chest.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/stenciltable_slab_side.png b/resources/assets/tinker/textures/blocks/stenciltable_slab_side.png
deleted file mode 100644
index 5342f060..00000000
Binary files a/resources/assets/tinker/textures/blocks/stenciltable_slab_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/stenciltable_spruce_bottom.png b/resources/assets/tinker/textures/blocks/stenciltable_spruce_bottom.png
deleted file mode 100644
index f45fa94b..00000000
Binary files a/resources/assets/tinker/textures/blocks/stenciltable_spruce_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/stenciltable_spruce_side.png b/resources/assets/tinker/textures/blocks/stenciltable_spruce_side.png
deleted file mode 100644
index 2a1c0d18..00000000
Binary files a/resources/assets/tinker/textures/blocks/stenciltable_spruce_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/stenciltable_spruce_top.png b/resources/assets/tinker/textures/blocks/stenciltable_spruce_top.png
deleted file mode 100644
index 9003c077..00000000
Binary files a/resources/assets/tinker/textures/blocks/stenciltable_spruce_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_alubrass.png b/resources/assets/tinker/textures/blocks/toolforge_alubrass.png
deleted file mode 100644
index f61f3adf..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_alubrass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_aluminum.png b/resources/assets/tinker/textures/blocks/toolforge_aluminum.png
deleted file mode 100644
index dbff84f2..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_aluminum.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_alumite.png b/resources/assets/tinker/textures/blocks/toolforge_alumite.png
deleted file mode 100644
index 27d1a9f4..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_alumite.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_ardite.png b/resources/assets/tinker/textures/blocks/toolforge_ardite.png
deleted file mode 100644
index 0705e58f..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_ardite.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_bronze.png b/resources/assets/tinker/textures/blocks/toolforge_bronze.png
deleted file mode 100644
index 217018b2..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_bronze.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_cobalt.png b/resources/assets/tinker/textures/blocks/toolforge_cobalt.png
deleted file mode 100644
index 113534b2..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_cobalt.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_copper.png b/resources/assets/tinker/textures/blocks/toolforge_copper.png
deleted file mode 100644
index 5805d1f8..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_copper.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_diamond.png b/resources/assets/tinker/textures/blocks/toolforge_diamond.png
deleted file mode 100644
index cba54f00..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_diamond.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_emerald.png b/resources/assets/tinker/textures/blocks/toolforge_emerald.png
deleted file mode 100644
index bc6196e2..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_emerald.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_gold.png b/resources/assets/tinker/textures/blocks/toolforge_gold.png
deleted file mode 100644
index 7c4fe7b5..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_gold.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_iron.png b/resources/assets/tinker/textures/blocks/toolforge_iron.png
deleted file mode 100644
index a6e2cc13..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_iron.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_manyullyn.png b/resources/assets/tinker/textures/blocks/toolforge_manyullyn.png
deleted file mode 100644
index 1f7d4bb4..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_manyullyn.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_slab_chest.png b/resources/assets/tinker/textures/blocks/toolforge_slab_chest.png
deleted file mode 100644
index da728a43..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_slab_chest.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_slab_side.png b/resources/assets/tinker/textures/blocks/toolforge_slab_side.png
deleted file mode 100644
index 106a5942..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_slab_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_steel.png b/resources/assets/tinker/textures/blocks/toolforge_steel.png
deleted file mode 100644
index 76f39681..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_steel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_tin.png b/resources/assets/tinker/textures/blocks/toolforge_tin.png
deleted file mode 100644
index 3a3107f9..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_tin.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolforge_top.png b/resources/assets/tinker/textures/blocks/toolforge_top.png
deleted file mode 100644
index d7376416..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolforge_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolstation_bottom.png b/resources/assets/tinker/textures/blocks/toolstation_bottom.png
deleted file mode 100644
index 346f77dc..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolstation_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolstation_side.png b/resources/assets/tinker/textures/blocks/toolstation_side.png
deleted file mode 100644
index 542f0e97..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolstation_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolstation_slab_chest.png b/resources/assets/tinker/textures/blocks/toolstation_slab_chest.png
deleted file mode 100644
index ae435166..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolstation_slab_chest.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolstation_slab_side.png b/resources/assets/tinker/textures/blocks/toolstation_slab_side.png
deleted file mode 100644
index 35b32924..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolstation_slab_side.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/toolstation_top.png b/resources/assets/tinker/textures/blocks/toolstation_top.png
deleted file mode 100644
index 5e8222cb..00000000
Binary files a/resources/assets/tinker/textures/blocks/toolstation_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/torch_stone.png b/resources/assets/tinker/textures/blocks/torch_stone.png
deleted file mode 100644
index 67624ca9..00000000
Binary files a/resources/assets/tinker/textures/blocks/torch_stone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/woodrail.png b/resources/assets/tinker/textures/blocks/woodrail.png
deleted file mode 100644
index 13d2932b..00000000
Binary files a/resources/assets/tinker/textures/blocks/woodrail.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/blocks/woodrail_turn.png b/resources/assets/tinker/textures/blocks/woodrail_turn.png
deleted file mode 100644
index ba8416d7..00000000
Binary files a/resources/assets/tinker/textures/blocks/woodrail_turn.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/entity/pullcart.png b/resources/assets/tinker/textures/entity/pullcart.png
deleted file mode 100644
index 9a159418..00000000
Binary files a/resources/assets/tinker/textures/entity/pullcart.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/aggregator.png b/resources/assets/tinker/textures/gui/aggregator.png
deleted file mode 100644
index d9e40481..00000000
Binary files a/resources/assets/tinker/textures/gui/aggregator.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/armorextended.png b/resources/assets/tinker/textures/gui/armorextended.png
deleted file mode 100644
index 51c8b933..00000000
Binary files a/resources/assets/tinker/textures/gui/armorextended.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/backpack.png b/resources/assets/tinker/textures/gui/backpack.png
deleted file mode 100644
index 5948050f..00000000
Binary files a/resources/assets/tinker/textures/gui/backpack.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/book.png b/resources/assets/tinker/textures/gui/book.png
deleted file mode 100644
index c9007bda..00000000
Binary files a/resources/assets/tinker/textures/gui/book.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/bookcrafting.png b/resources/assets/tinker/textures/gui/bookcrafting.png
deleted file mode 100644
index e9ee759f..00000000
Binary files a/resources/assets/tinker/textures/gui/bookcrafting.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/bookfurnace.png b/resources/assets/tinker/textures/gui/bookfurnace.png
deleted file mode 100644
index cda94fb0..00000000
Binary files a/resources/assets/tinker/textures/gui/bookfurnace.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/bookleft.png b/resources/assets/tinker/textures/gui/bookleft.png
deleted file mode 100644
index 08b462df..00000000
Binary files a/resources/assets/tinker/textures/gui/bookleft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/bookmodify.png b/resources/assets/tinker/textures/gui/bookmodify.png
deleted file mode 100644
index 7583f020..00000000
Binary files a/resources/assets/tinker/textures/gui/bookmodify.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/bookright.png b/resources/assets/tinker/textures/gui/bookright.png
deleted file mode 100644
index 8c255a77..00000000
Binary files a/resources/assets/tinker/textures/gui/bookright.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/booksmeltery.png b/resources/assets/tinker/textures/gui/booksmeltery.png
deleted file mode 100644
index 179a38ed..00000000
Binary files a/resources/assets/tinker/textures/gui/booksmeltery.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/chestside.png b/resources/assets/tinker/textures/gui/chestside.png
deleted file mode 100644
index f199772b..00000000
Binary files a/resources/assets/tinker/textures/gui/chestside.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/crafting.png b/resources/assets/tinker/textures/gui/crafting.png
deleted file mode 100644
index 254daccd..00000000
Binary files a/resources/assets/tinker/textures/gui/crafting.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/description.png b/resources/assets/tinker/textures/gui/description.png
deleted file mode 100644
index 54710ebe..00000000
Binary files a/resources/assets/tinker/textures/gui/description.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/display.png b/resources/assets/tinker/textures/gui/display.png
deleted file mode 100644
index 9a4c30d0..00000000
Binary files a/resources/assets/tinker/textures/gui/display.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/extractor.png b/resources/assets/tinker/textures/gui/extractor.png
deleted file mode 100644
index f571ac54..00000000
Binary files a/resources/assets/tinker/textures/gui/extractor.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/frypan.png b/resources/assets/tinker/textures/gui/frypan.png
deleted file mode 100644
index 4bd60925..00000000
Binary files a/resources/assets/tinker/textures/gui/frypan.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/icons.png b/resources/assets/tinker/textures/gui/icons.png
deleted file mode 100644
index 38ffb143..00000000
Binary files a/resources/assets/tinker/textures/gui/icons.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/knapsack.png b/resources/assets/tinker/textures/gui/knapsack.png
deleted file mode 100644
index 63c8f70d..00000000
Binary files a/resources/assets/tinker/textures/gui/knapsack.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/landmine.png b/resources/assets/tinker/textures/gui/landmine.png
deleted file mode 100644
index 1e881185..00000000
Binary files a/resources/assets/tinker/textures/gui/landmine.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/minichest.png b/resources/assets/tinker/textures/gui/minichest.png
deleted file mode 100644
index bb74a0a0..00000000
Binary files a/resources/assets/tinker/textures/gui/minichest.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/newhearts.png b/resources/assets/tinker/textures/gui/newhearts.png
deleted file mode 100644
index 5b0e326a..00000000
Binary files a/resources/assets/tinker/textures/gui/newhearts.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/patternchest.png b/resources/assets/tinker/textures/gui/patternchest.png
deleted file mode 100644
index ef90108a..00000000
Binary files a/resources/assets/tinker/textures/gui/patternchest.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/patternchestmini.png b/resources/assets/tinker/textures/gui/patternchestmini.png
deleted file mode 100644
index 40619689..00000000
Binary files a/resources/assets/tinker/textures/gui/patternchestmini.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/patternshaper.png b/resources/assets/tinker/textures/gui/patternshaper.png
deleted file mode 100644
index a7b344d7..00000000
Binary files a/resources/assets/tinker/textures/gui/patternshaper.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/smeltery.png b/resources/assets/tinker/textures/gui/smeltery.png
deleted file mode 100644
index a4bf4b71..00000000
Binary files a/resources/assets/tinker/textures/gui/smeltery.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/smelteryside.png b/resources/assets/tinker/textures/gui/smelteryside.png
deleted file mode 100644
index 7516db38..00000000
Binary files a/resources/assets/tinker/textures/gui/smelteryside.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/tinkertable.png b/resources/assets/tinker/textures/gui/tinkertable.png
deleted file mode 100644
index 3fab5f83..00000000
Binary files a/resources/assets/tinker/textures/gui/tinkertable.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/toolparts.png b/resources/assets/tinker/textures/gui/toolparts.png
deleted file mode 100644
index 5a113758..00000000
Binary files a/resources/assets/tinker/textures/gui/toolparts.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/gui/toolstation.png b/resources/assets/tinker/textures/gui/toolstation.png
deleted file mode 100644
index 6496a224..00000000
Binary files a/resources/assets/tinker/textures/gui/toolstation.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/Credits.txt b/resources/assets/tinker/textures/items/Credits.txt
deleted file mode 100644
index 94155156..00000000
--- a/resources/assets/tinker/textures/items/Credits.txt
+++ /dev/null
@@ -1 +0,0 @@
-Thaumium tool parts by NekoGloop
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/items/achievementIcons/dualConvenience.png b/resources/assets/tinker/textures/items/achievementIcons/dualConvenience.png
deleted file mode 100644
index e5ec5ae2..00000000
Binary files a/resources/assets/tinker/textures/items/achievementIcons/dualConvenience.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/achievementIcons/enemySlayer.png b/resources/assets/tinker/textures/items/achievementIcons/enemySlayer.png
deleted file mode 100644
index ed167221..00000000
Binary files a/resources/assets/tinker/textures/items/achievementIcons/enemySlayer.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/achievementIcons/preparedFight.png b/resources/assets/tinker/textures/items/achievementIcons/preparedFight.png
deleted file mode 100644
index 56bc99c9..00000000
Binary files a/resources/assets/tinker/textures/items/achievementIcons/preparedFight.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/achievementIcons/proTinkerer.png b/resources/assets/tinker/textures/items/achievementIcons/proTinkerer.png
deleted file mode 100644
index 30dc0366..00000000
Binary files a/resources/assets/tinker/textures/items/achievementIcons/proTinkerer.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/achievementIcons/tinkerer.png b/resources/assets/tinker/textures/items/achievementIcons/tinkerer.png
deleted file mode 100644
index 6e762572..00000000
Binary files a/resources/assets/tinker/textures/items/achievementIcons/tinkerer.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/armor/dirthand.png b/resources/assets/tinker/textures/items/armor/dirthand.png
deleted file mode 100644
index 331ab563..00000000
Binary files a/resources/assets/tinker/textures/items/armor/dirthand.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/armor/exosuit_boots.png b/resources/assets/tinker/textures/items/armor/exosuit_boots.png
deleted file mode 100644
index 285f9514..00000000
Binary files a/resources/assets/tinker/textures/items/armor/exosuit_boots.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/armor/exosuit_chestplate.png b/resources/assets/tinker/textures/items/armor/exosuit_chestplate.png
deleted file mode 100644
index 9e4504c8..00000000
Binary files a/resources/assets/tinker/textures/items/armor/exosuit_chestplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/armor/exosuit_helmet.png b/resources/assets/tinker/textures/items/armor/exosuit_helmet.png
deleted file mode 100644
index 403190ac..00000000
Binary files a/resources/assets/tinker/textures/items/armor/exosuit_helmet.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/armor/exosuit_leggings.png b/resources/assets/tinker/textures/items/armor/exosuit_leggings.png
deleted file mode 100644
index be402b4e..00000000
Binary files a/resources/assets/tinker/textures/items/armor/exosuit_leggings.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/armor/knapsack.png b/resources/assets/tinker/textures/items/armor/knapsack.png
deleted file mode 100644
index 1482aac6..00000000
Binary files a/resources/assets/tinker/textures/items/armor/knapsack.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/armor/quiver.png b/resources/assets/tinker/textures/items/armor/quiver.png
deleted file mode 100644
index 818f7283..00000000
Binary files a/resources/assets/tinker/textures/items/armor/quiver.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/armor/wood_boots.png b/resources/assets/tinker/textures/items/armor/wood_boots.png
deleted file mode 100644
index f58e28ab..00000000
Binary files a/resources/assets/tinker/textures/items/armor/wood_boots.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/armor/wood_chestplate.png b/resources/assets/tinker/textures/items/armor/wood_chestplate.png
deleted file mode 100644
index 0c735d55..00000000
Binary files a/resources/assets/tinker/textures/items/armor/wood_chestplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/armor/wood_helmet.png b/resources/assets/tinker/textures/items/armor/wood_helmet.png
deleted file mode 100644
index d41ed11e..00000000
Binary files a/resources/assets/tinker/textures/items/armor/wood_helmet.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/armor/wood_leggings.png b/resources/assets/tinker/textures/items/armor/wood_leggings.png
deleted file mode 100644
index 39e3796f..00000000
Binary files a/resources/assets/tinker/textures/items/armor/wood_leggings.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/alumite_arrow_head.png b/resources/assets/tinker/textures/items/arrow/alumite_arrow_head.png
deleted file mode 100644
index 358e62bd..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/alumite_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/alumite_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/alumite_arrow_shaft.png
deleted file mode 100644
index e9dcabed..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/alumite_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/ardite_arrow_head.png b/resources/assets/tinker/textures/items/arrow/ardite_arrow_head.png
deleted file mode 100644
index d6e407ab..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/ardite_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/ardite_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/ardite_arrow_shaft.png
deleted file mode 100644
index 28ae9352..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/ardite_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/beheading_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/beheading_arrow_effect.png
deleted file mode 100644
index e8f62de9..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/beheading_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/blaze_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/blaze_arrow_effect.png
deleted file mode 100644
index 20114e40..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/blaze_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/blueslime_arrow_fletching.png b/resources/assets/tinker/textures/items/arrow/blueslime_arrow_fletching.png
deleted file mode 100644
index 2f0b1ac9..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/blueslime_arrow_fletching.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/blueslime_arrow_head.png b/resources/assets/tinker/textures/items/arrow/blueslime_arrow_head.png
deleted file mode 100644
index a643f863..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/blueslime_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/blueslime_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/blueslime_arrow_shaft.png
deleted file mode 100644
index 077d3ed3..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/blueslime_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/bone_arrow_head.png b/resources/assets/tinker/textures/items/arrow/bone_arrow_head.png
deleted file mode 100644
index a50bfcc2..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/bone_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/bone_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/bone_arrow_shaft.png
deleted file mode 100644
index 36c2c70d..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/bone_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/bronze_arrow_head.png b/resources/assets/tinker/textures/items/arrow/bronze_arrow_head.png
deleted file mode 100644
index 18f80ff2..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/bronze_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/bronze_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/bronze_arrow_shaft.png
deleted file mode 100644
index d097cffb..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/bronze_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/cactus_arrow_head.png b/resources/assets/tinker/textures/items/arrow/cactus_arrow_head.png
deleted file mode 100644
index 1f5aecb5..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/cactus_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/cactus_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/cactus_arrow_shaft.png
deleted file mode 100644
index 174d1c31..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/cactus_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/cobalt_arrow_head.png b/resources/assets/tinker/textures/items/arrow/cobalt_arrow_head.png
deleted file mode 100644
index 1d6d352e..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/cobalt_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/cobalt_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/cobalt_arrow_shaft.png
deleted file mode 100644
index 7d16c19b..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/cobalt_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/copper_arrow_head.png b/resources/assets/tinker/textures/items/arrow/copper_arrow_head.png
deleted file mode 100644
index 45d399c6..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/copper_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/copper_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/copper_arrow_shaft.png
deleted file mode 100644
index e27be7dc..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/copper_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/diamond_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/diamond_arrow_effect.png
deleted file mode 100644
index a83fd965..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/diamond_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/electric_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/electric_arrow_effect.png
deleted file mode 100644
index c69d1d68..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/electric_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/emerald_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/emerald_arrow_effect.png
deleted file mode 100644
index 828c6248..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/emerald_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/feather_arrow_fletching.png b/resources/assets/tinker/textures/items/arrow/feather_arrow_fletching.png
deleted file mode 100644
index 22451c93..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/feather_arrow_fletching.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/flint_arrow_head.png b/resources/assets/tinker/textures/items/arrow/flint_arrow_head.png
deleted file mode 100644
index ce4e62d3..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/flint_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/flint_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/flint_arrow_shaft.png
deleted file mode 100644
index a5246c61..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/flint_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/flux_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/flux_arrow_effect.png
deleted file mode 100644
index 0478ea41..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/flux_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/ice_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/ice_arrow_effect.png
deleted file mode 100644
index 1b362937..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/ice_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/iron_arrow_head.png b/resources/assets/tinker/textures/items/arrow/iron_arrow_head.png
deleted file mode 100644
index caf93359..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/iron_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/iron_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/iron_arrow_shaft.png
deleted file mode 100644
index 254ee4fa..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/iron_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/lapis_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/lapis_arrow_effect.png
deleted file mode 100644
index 018bebc9..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/lapis_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/lava_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/lava_arrow_effect.png
deleted file mode 100644
index d020a471..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/lava_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/leaf_arrow_fletching.png b/resources/assets/tinker/textures/items/arrow/leaf_arrow_fletching.png
deleted file mode 100644
index 5854bbe3..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/leaf_arrow_fletching.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/manyullyn_arrow_head.png b/resources/assets/tinker/textures/items/arrow/manyullyn_arrow_head.png
deleted file mode 100644
index 18bc40ce..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/manyullyn_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/manyullyn_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/manyullyn_arrow_shaft.png
deleted file mode 100644
index 1be08ff3..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/manyullyn_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/moss_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/moss_arrow_effect.png
deleted file mode 100644
index 4e18d6e3..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/moss_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/necrotic_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/necrotic_arrow_effect.png
deleted file mode 100644
index 49a1a02a..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/necrotic_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/netherrack_arrow_head.png b/resources/assets/tinker/textures/items/arrow/netherrack_arrow_head.png
deleted file mode 100644
index 8b5399e5..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/netherrack_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/netherrack_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/netherrack_arrow_shaft.png
deleted file mode 100644
index d0577d08..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/netherrack_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/obsidian_arrow_head.png b/resources/assets/tinker/textures/items/arrow/obsidian_arrow_head.png
deleted file mode 100644
index d132f912..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/obsidian_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/obsidian_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/obsidian_arrow_shaft.png
deleted file mode 100644
index a49e3fad..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/obsidian_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/paper_arrow_head.png b/resources/assets/tinker/textures/items/arrow/paper_arrow_head.png
deleted file mode 100644
index 6788f524..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/paper_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/paper_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/paper_arrow_shaft.png
deleted file mode 100644
index 79dea14b..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/paper_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/pigiron_arrow_fletching.png b/resources/assets/tinker/textures/items/arrow/pigiron_arrow_fletching.png
deleted file mode 100644
index f3e6d655..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/pigiron_arrow_fletching.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/pigiron_arrow_head.png b/resources/assets/tinker/textures/items/arrow/pigiron_arrow_head.png
deleted file mode 100644
index b343c2c8..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/pigiron_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/pigiron_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/pigiron_arrow_shaft.png
deleted file mode 100644
index 47a93bbd..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/pigiron_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/piston_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/piston_arrow_effect.png
deleted file mode 100644
index 30fdff1d..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/piston_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/quartz_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/quartz_arrow_effect.png
deleted file mode 100644
index a04b12fe..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/quartz_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/redstone_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/redstone_arrow_effect.png
deleted file mode 100644
index 70550e7d..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/redstone_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/reinforced_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/reinforced_arrow_effect.png
deleted file mode 100644
index 075fef0f..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/reinforced_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/silk_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/silk_arrow_effect.png
deleted file mode 100644
index 7f7d0dda..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/silk_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/slime_arrow_fletching.png b/resources/assets/tinker/textures/items/arrow/slime_arrow_fletching.png
deleted file mode 100644
index 9fe78b41..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/slime_arrow_fletching.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/slime_arrow_head.png b/resources/assets/tinker/textures/items/arrow/slime_arrow_head.png
deleted file mode 100644
index e214d56e..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/slime_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/slime_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/slime_arrow_shaft.png
deleted file mode 100644
index afad823e..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/slime_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/smite_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/smite_arrow_effect.png
deleted file mode 100644
index a8a89491..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/smite_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/spider_arrow_effect.png b/resources/assets/tinker/textures/items/arrow/spider_arrow_effect.png
deleted file mode 100644
index f314c54f..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/spider_arrow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/steel_arrow_head.png b/resources/assets/tinker/textures/items/arrow/steel_arrow_head.png
deleted file mode 100644
index 03d3177e..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/steel_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/steel_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/steel_arrow_shaft.png
deleted file mode 100644
index 3fe4da06..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/steel_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/stone_arrow_head.png b/resources/assets/tinker/textures/items/arrow/stone_arrow_head.png
deleted file mode 100644
index d1bbdd82..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/stone_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/stone_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/stone_arrow_shaft.png
deleted file mode 100644
index 2d33b963..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/stone_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/thaumium_arrow_head.png b/resources/assets/tinker/textures/items/arrow/thaumium_arrow_head.png
deleted file mode 100644
index b5effc73..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/thaumium_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/thaumium_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/thaumium_arrow_shaft.png
deleted file mode 100644
index 50070b32..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/thaumium_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/wood_arrow_head.png b/resources/assets/tinker/textures/items/arrow/wood_arrow_head.png
deleted file mode 100644
index d891b2d8..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/wood_arrow_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/arrow/wood_arrow_shaft.png b/resources/assets/tinker/textures/items/arrow/wood_arrow_shaft.png
deleted file mode 100644
index 6a36dc12..00000000
Binary files a/resources/assets/tinker/textures/items/arrow/wood_arrow_shaft.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/alumite_axe_handle.png b/resources/assets/tinker/textures/items/axe/alumite_axe_handle.png
deleted file mode 100644
index 983ea25e..00000000
Binary files a/resources/assets/tinker/textures/items/axe/alumite_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/alumite_axe_head.png b/resources/assets/tinker/textures/items/axe/alumite_axe_head.png
deleted file mode 100644
index 5b820e24..00000000
Binary files a/resources/assets/tinker/textures/items/axe/alumite_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/alumite_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/alumite_axe_head_broken.png
deleted file mode 100644
index 4f5f1b56..00000000
Binary files a/resources/assets/tinker/textures/items/axe/alumite_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/ardite_axe_handle.png b/resources/assets/tinker/textures/items/axe/ardite_axe_handle.png
deleted file mode 100644
index 461bd1f8..00000000
Binary files a/resources/assets/tinker/textures/items/axe/ardite_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/ardite_axe_head.png b/resources/assets/tinker/textures/items/axe/ardite_axe_head.png
deleted file mode 100644
index beb5888b..00000000
Binary files a/resources/assets/tinker/textures/items/axe/ardite_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/ardite_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/ardite_axe_head_broken.png
deleted file mode 100644
index 522b0b92..00000000
Binary files a/resources/assets/tinker/textures/items/axe/ardite_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/beheading_axe_effect.png b/resources/assets/tinker/textures/items/axe/beheading_axe_effect.png
deleted file mode 100644
index be7326fb..00000000
Binary files a/resources/assets/tinker/textures/items/axe/beheading_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/blaze_axe_effect.png b/resources/assets/tinker/textures/items/axe/blaze_axe_effect.png
deleted file mode 100644
index 5a194501..00000000
Binary files a/resources/assets/tinker/textures/items/axe/blaze_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/blueslime_axe_handle.png b/resources/assets/tinker/textures/items/axe/blueslime_axe_handle.png
deleted file mode 100644
index 08d88614..00000000
Binary files a/resources/assets/tinker/textures/items/axe/blueslime_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/blueslime_axe_head.png b/resources/assets/tinker/textures/items/axe/blueslime_axe_head.png
deleted file mode 100644
index cbb23256..00000000
Binary files a/resources/assets/tinker/textures/items/axe/blueslime_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/blueslime_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/blueslime_axe_head_broken.png
deleted file mode 100644
index d4455630..00000000
Binary files a/resources/assets/tinker/textures/items/axe/blueslime_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/bone_axe_handle.png b/resources/assets/tinker/textures/items/axe/bone_axe_handle.png
deleted file mode 100644
index b51a7d4b..00000000
Binary files a/resources/assets/tinker/textures/items/axe/bone_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/bone_axe_head.png b/resources/assets/tinker/textures/items/axe/bone_axe_head.png
deleted file mode 100644
index 01815096..00000000
Binary files a/resources/assets/tinker/textures/items/axe/bone_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/bone_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/bone_axe_head_broken.png
deleted file mode 100644
index 8dca3d67..00000000
Binary files a/resources/assets/tinker/textures/items/axe/bone_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/bronze_axe_handle.png b/resources/assets/tinker/textures/items/axe/bronze_axe_handle.png
deleted file mode 100644
index 983ea25e..00000000
Binary files a/resources/assets/tinker/textures/items/axe/bronze_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/bronze_axe_head.png b/resources/assets/tinker/textures/items/axe/bronze_axe_head.png
deleted file mode 100644
index 6753e5e2..00000000
Binary files a/resources/assets/tinker/textures/items/axe/bronze_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/bronze_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/bronze_axe_head_broken.png
deleted file mode 100644
index 5e773362..00000000
Binary files a/resources/assets/tinker/textures/items/axe/bronze_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/cactus_axe_handle.png b/resources/assets/tinker/textures/items/axe/cactus_axe_handle.png
deleted file mode 100644
index 74523ccb..00000000
Binary files a/resources/assets/tinker/textures/items/axe/cactus_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/cactus_axe_head.png b/resources/assets/tinker/textures/items/axe/cactus_axe_head.png
deleted file mode 100644
index a0585c00..00000000
Binary files a/resources/assets/tinker/textures/items/axe/cactus_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/cactus_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/cactus_axe_head_broken.png
deleted file mode 100644
index 8c9054d0..00000000
Binary files a/resources/assets/tinker/textures/items/axe/cactus_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/cobalt_axe_handle.png b/resources/assets/tinker/textures/items/axe/cobalt_axe_handle.png
deleted file mode 100644
index f4ebcff1..00000000
Binary files a/resources/assets/tinker/textures/items/axe/cobalt_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/cobalt_axe_head.png b/resources/assets/tinker/textures/items/axe/cobalt_axe_head.png
deleted file mode 100644
index 8dc921d4..00000000
Binary files a/resources/assets/tinker/textures/items/axe/cobalt_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/cobalt_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/cobalt_axe_head_broken.png
deleted file mode 100644
index 927dfeb7..00000000
Binary files a/resources/assets/tinker/textures/items/axe/cobalt_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/copper_axe_handle.png b/resources/assets/tinker/textures/items/axe/copper_axe_handle.png
deleted file mode 100644
index 748d7126..00000000
Binary files a/resources/assets/tinker/textures/items/axe/copper_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/copper_axe_head.png b/resources/assets/tinker/textures/items/axe/copper_axe_head.png
deleted file mode 100644
index c1f3c6eb..00000000
Binary files a/resources/assets/tinker/textures/items/axe/copper_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/copper_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/copper_axe_head_broken.png
deleted file mode 100644
index fcf85a27..00000000
Binary files a/resources/assets/tinker/textures/items/axe/copper_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/diamond_axe_effect.png b/resources/assets/tinker/textures/items/axe/diamond_axe_effect.png
deleted file mode 100644
index 853fe7e9..00000000
Binary files a/resources/assets/tinker/textures/items/axe/diamond_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/electric_axe_effect.png b/resources/assets/tinker/textures/items/axe/electric_axe_effect.png
deleted file mode 100644
index 01d1caeb..00000000
Binary files a/resources/assets/tinker/textures/items/axe/electric_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/emerald_axe_effect.png b/resources/assets/tinker/textures/items/axe/emerald_axe_effect.png
deleted file mode 100644
index 87da6d82..00000000
Binary files a/resources/assets/tinker/textures/items/axe/emerald_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/flint_axe_handle.png b/resources/assets/tinker/textures/items/axe/flint_axe_handle.png
deleted file mode 100644
index 0a096a55..00000000
Binary files a/resources/assets/tinker/textures/items/axe/flint_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/flint_axe_head.png b/resources/assets/tinker/textures/items/axe/flint_axe_head.png
deleted file mode 100644
index b816c6cd..00000000
Binary files a/resources/assets/tinker/textures/items/axe/flint_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/flint_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/flint_axe_head_broken.png
deleted file mode 100644
index cbefa24c..00000000
Binary files a/resources/assets/tinker/textures/items/axe/flint_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/flux_axe_effect.png b/resources/assets/tinker/textures/items/axe/flux_axe_effect.png
deleted file mode 100644
index 58db6274..00000000
Binary files a/resources/assets/tinker/textures/items/axe/flux_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/glowstone_axe_effect.png b/resources/assets/tinker/textures/items/axe/glowstone_axe_effect.png
deleted file mode 100644
index d6dd4b93..00000000
Binary files a/resources/assets/tinker/textures/items/axe/glowstone_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/ice_axe_effect.png b/resources/assets/tinker/textures/items/axe/ice_axe_effect.png
deleted file mode 100644
index 647f60e2..00000000
Binary files a/resources/assets/tinker/textures/items/axe/ice_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/iron_axe_handle.png b/resources/assets/tinker/textures/items/axe/iron_axe_handle.png
deleted file mode 100644
index adafa561..00000000
Binary files a/resources/assets/tinker/textures/items/axe/iron_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/iron_axe_head.png b/resources/assets/tinker/textures/items/axe/iron_axe_head.png
deleted file mode 100644
index 64bfae5d..00000000
Binary files a/resources/assets/tinker/textures/items/axe/iron_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/iron_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/iron_axe_head_broken.png
deleted file mode 100644
index 15761679..00000000
Binary files a/resources/assets/tinker/textures/items/axe/iron_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/lapis_axe_effect.png b/resources/assets/tinker/textures/items/axe/lapis_axe_effect.png
deleted file mode 100644
index fbcb1f8d..00000000
Binary files a/resources/assets/tinker/textures/items/axe/lapis_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/lava_axe_effect.png b/resources/assets/tinker/textures/items/axe/lava_axe_effect.png
deleted file mode 100644
index ccc4832a..00000000
Binary files a/resources/assets/tinker/textures/items/axe/lava_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/manyullyn_axe_handle.png b/resources/assets/tinker/textures/items/axe/manyullyn_axe_handle.png
deleted file mode 100644
index b305d857..00000000
Binary files a/resources/assets/tinker/textures/items/axe/manyullyn_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/manyullyn_axe_head.png b/resources/assets/tinker/textures/items/axe/manyullyn_axe_head.png
deleted file mode 100644
index 379a435c..00000000
Binary files a/resources/assets/tinker/textures/items/axe/manyullyn_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/manyullyn_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/manyullyn_axe_head_broken.png
deleted file mode 100644
index 234b9267..00000000
Binary files a/resources/assets/tinker/textures/items/axe/manyullyn_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/moss_axe_effect.png b/resources/assets/tinker/textures/items/axe/moss_axe_effect.png
deleted file mode 100644
index 01f37173..00000000
Binary files a/resources/assets/tinker/textures/items/axe/moss_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/necrotic_axe_effect.png b/resources/assets/tinker/textures/items/axe/necrotic_axe_effect.png
deleted file mode 100644
index aceb8fcf..00000000
Binary files a/resources/assets/tinker/textures/items/axe/necrotic_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/netherrack_axe_handle.png b/resources/assets/tinker/textures/items/axe/netherrack_axe_handle.png
deleted file mode 100644
index f0276fd3..00000000
Binary files a/resources/assets/tinker/textures/items/axe/netherrack_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/netherrack_axe_head.png b/resources/assets/tinker/textures/items/axe/netherrack_axe_head.png
deleted file mode 100644
index d7eb6b5a..00000000
Binary files a/resources/assets/tinker/textures/items/axe/netherrack_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/netherrack_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/netherrack_axe_head_broken.png
deleted file mode 100644
index eaadb25c..00000000
Binary files a/resources/assets/tinker/textures/items/axe/netherrack_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/obsidian_axe_handle.png b/resources/assets/tinker/textures/items/axe/obsidian_axe_handle.png
deleted file mode 100644
index 77bd6a58..00000000
Binary files a/resources/assets/tinker/textures/items/axe/obsidian_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/obsidian_axe_head.png b/resources/assets/tinker/textures/items/axe/obsidian_axe_head.png
deleted file mode 100644
index 68691f81..00000000
Binary files a/resources/assets/tinker/textures/items/axe/obsidian_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/obsidian_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/obsidian_axe_head_broken.png
deleted file mode 100644
index 4b5f86a5..00000000
Binary files a/resources/assets/tinker/textures/items/axe/obsidian_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/paper_axe_handle.png b/resources/assets/tinker/textures/items/axe/paper_axe_handle.png
deleted file mode 100644
index ae5c66d8..00000000
Binary files a/resources/assets/tinker/textures/items/axe/paper_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/paper_axe_head.png b/resources/assets/tinker/textures/items/axe/paper_axe_head.png
deleted file mode 100644
index 5cb205c5..00000000
Binary files a/resources/assets/tinker/textures/items/axe/paper_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/paper_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/paper_axe_head_broken.png
deleted file mode 100644
index 94369f18..00000000
Binary files a/resources/assets/tinker/textures/items/axe/paper_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/pigiron_axe_handle.png b/resources/assets/tinker/textures/items/axe/pigiron_axe_handle.png
deleted file mode 100644
index fa805f09..00000000
Binary files a/resources/assets/tinker/textures/items/axe/pigiron_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/pigiron_axe_head.png b/resources/assets/tinker/textures/items/axe/pigiron_axe_head.png
deleted file mode 100644
index 3b826a75..00000000
Binary files a/resources/assets/tinker/textures/items/axe/pigiron_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/pigiron_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/pigiron_axe_head_broken.png
deleted file mode 100644
index f41025cb..00000000
Binary files a/resources/assets/tinker/textures/items/axe/pigiron_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/piston_axe_effect.png b/resources/assets/tinker/textures/items/axe/piston_axe_effect.png
deleted file mode 100644
index 1fdb2564..00000000
Binary files a/resources/assets/tinker/textures/items/axe/piston_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/quartz_axe_effect.png b/resources/assets/tinker/textures/items/axe/quartz_axe_effect.png
deleted file mode 100644
index e41bceb4..00000000
Binary files a/resources/assets/tinker/textures/items/axe/quartz_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/redstone_axe_effect.png b/resources/assets/tinker/textures/items/axe/redstone_axe_effect.png
deleted file mode 100644
index 31bf7bb1..00000000
Binary files a/resources/assets/tinker/textures/items/axe/redstone_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/reinforced_axe_effect.png b/resources/assets/tinker/textures/items/axe/reinforced_axe_effect.png
deleted file mode 100644
index 76cdcc61..00000000
Binary files a/resources/assets/tinker/textures/items/axe/reinforced_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/silk_axe_effect.png b/resources/assets/tinker/textures/items/axe/silk_axe_effect.png
deleted file mode 100644
index 549f78e5..00000000
Binary files a/resources/assets/tinker/textures/items/axe/silk_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/slime_axe_handle.png b/resources/assets/tinker/textures/items/axe/slime_axe_handle.png
deleted file mode 100644
index 2ab2e499..00000000
Binary files a/resources/assets/tinker/textures/items/axe/slime_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/slime_axe_head.png b/resources/assets/tinker/textures/items/axe/slime_axe_head.png
deleted file mode 100644
index c8842632..00000000
Binary files a/resources/assets/tinker/textures/items/axe/slime_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/slime_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/slime_axe_head_broken.png
deleted file mode 100644
index 346fa037..00000000
Binary files a/resources/assets/tinker/textures/items/axe/slime_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/smite_axe_effect.png b/resources/assets/tinker/textures/items/axe/smite_axe_effect.png
deleted file mode 100644
index c184c44c..00000000
Binary files a/resources/assets/tinker/textures/items/axe/smite_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/spider_axe_effect.png b/resources/assets/tinker/textures/items/axe/spider_axe_effect.png
deleted file mode 100644
index 1dafd2e1..00000000
Binary files a/resources/assets/tinker/textures/items/axe/spider_axe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/steel_axe_handle.png b/resources/assets/tinker/textures/items/axe/steel_axe_handle.png
deleted file mode 100644
index 348e9c2c..00000000
Binary files a/resources/assets/tinker/textures/items/axe/steel_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/steel_axe_head.png b/resources/assets/tinker/textures/items/axe/steel_axe_head.png
deleted file mode 100644
index 9986f939..00000000
Binary files a/resources/assets/tinker/textures/items/axe/steel_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/steel_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/steel_axe_head_broken.png
deleted file mode 100644
index dd54182b..00000000
Binary files a/resources/assets/tinker/textures/items/axe/steel_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/stone_axe_handle.png b/resources/assets/tinker/textures/items/axe/stone_axe_handle.png
deleted file mode 100644
index e837f6ee..00000000
Binary files a/resources/assets/tinker/textures/items/axe/stone_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/stone_axe_head.png b/resources/assets/tinker/textures/items/axe/stone_axe_head.png
deleted file mode 100644
index f453c41a..00000000
Binary files a/resources/assets/tinker/textures/items/axe/stone_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/stone_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/stone_axe_head_broken.png
deleted file mode 100644
index 82c89911..00000000
Binary files a/resources/assets/tinker/textures/items/axe/stone_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/thaumium_axe_handle.png b/resources/assets/tinker/textures/items/axe/thaumium_axe_handle.png
deleted file mode 100644
index e056fb9d..00000000
Binary files a/resources/assets/tinker/textures/items/axe/thaumium_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/thaumium_axe_head.png b/resources/assets/tinker/textures/items/axe/thaumium_axe_head.png
deleted file mode 100644
index 81391587..00000000
Binary files a/resources/assets/tinker/textures/items/axe/thaumium_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/thaumium_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/thaumium_axe_head_broken.png
deleted file mode 100644
index ed0ecb70..00000000
Binary files a/resources/assets/tinker/textures/items/axe/thaumium_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/wood_axe_handle.png b/resources/assets/tinker/textures/items/axe/wood_axe_handle.png
deleted file mode 100644
index 750084ce..00000000
Binary files a/resources/assets/tinker/textures/items/axe/wood_axe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/wood_axe_head.png b/resources/assets/tinker/textures/items/axe/wood_axe_head.png
deleted file mode 100644
index e178de74..00000000
Binary files a/resources/assets/tinker/textures/items/axe/wood_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/axe/wood_axe_head_broken.png b/resources/assets/tinker/textures/items/axe/wood_axe_head_broken.png
deleted file mode 100644
index 291a5172..00000000
Binary files a/resources/assets/tinker/textures/items/axe/wood_axe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_back.png
deleted file mode 100644
index 00bc7077..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_backhead.png
deleted file mode 100644
index c3cfcade..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_binding.png
deleted file mode 100644
index 00bc7077..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_front.png
deleted file mode 100644
index a4fafb83..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_fronthead.png
deleted file mode 100644
index a4fafb83..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_fronthead_broken.png
deleted file mode 100644
index 7eab7704..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_handle.png
deleted file mode 100644
index c0653a95..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_head.png
deleted file mode 100644
index c3cfcade..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_head_broken.png
deleted file mode 100644
index 7eab7704..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/alumite_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_back.png
deleted file mode 100644
index e17e676c..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_backhead.png
deleted file mode 100644
index dc8c9454..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_binding.png
deleted file mode 100644
index e17e676c..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_front.png
deleted file mode 100644
index d5612ed4..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_fronthead.png
deleted file mode 100644
index d5612ed4..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_fronthead_broken.png
deleted file mode 100644
index fc683235..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_handle.png
deleted file mode 100644
index 04e117ce..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_head.png
deleted file mode 100644
index dc8c9454..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_head_broken.png
deleted file mode 100644
index fc683235..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/ardite_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/beheading_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/beheading_battleaxe_effect.png
deleted file mode 100644
index 75cfaede..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/beheading_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/blaze_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/blaze_battleaxe_effect.png
deleted file mode 100644
index c8658a70..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/blaze_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_back.png
deleted file mode 100644
index 77942b2a..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_backhead.png
deleted file mode 100644
index 58f85e77..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_binding.png
deleted file mode 100644
index 77942b2a..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_front.png
deleted file mode 100644
index 097d1bc4..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_fronthead.png
deleted file mode 100644
index 097d1bc4..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_fronthead_broken.png
deleted file mode 100644
index bb14d099..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_handle.png
deleted file mode 100644
index 59ccda9e..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_head.png
deleted file mode 100644
index 58f85e77..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_head_broken.png
deleted file mode 100644
index bb14d099..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/blueslime_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_back.png
deleted file mode 100644
index 5b96d4d5..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_backhead.png
deleted file mode 100644
index 7651d115..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_binding.png
deleted file mode 100644
index 5b96d4d5..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_front.png
deleted file mode 100644
index f9eb4655..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_fronthead.png
deleted file mode 100644
index f9eb4655..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_fronthead_broken.png
deleted file mode 100644
index 267506b9..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_handle.png
deleted file mode 100644
index b0cf08f4..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_head.png
deleted file mode 100644
index 7651d115..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_head_broken.png
deleted file mode 100644
index 267506b9..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bone_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_back.png
deleted file mode 100644
index 6d52992a..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_backhead.png
deleted file mode 100644
index 64aa4e79..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_binding.png
deleted file mode 100644
index 6d52992a..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_front.png
deleted file mode 100644
index 68d34df4..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_fronthead.png
deleted file mode 100644
index 68d34df4..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_fronthead_broken.png
deleted file mode 100644
index 66c62c44..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_handle.png
deleted file mode 100644
index b5f5345f..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_head.png
deleted file mode 100644
index 64aa4e79..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_head_broken.png
deleted file mode 100644
index 66c62c44..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/bronze_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_back.png
deleted file mode 100644
index beab2f46..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_backhead.png
deleted file mode 100644
index 53691b7d..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_binding.png
deleted file mode 100644
index dab65d00..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_front.png
deleted file mode 100644
index c7895997..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_fronthead.png
deleted file mode 100644
index dac17ad1..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_fronthead_broken.png
deleted file mode 100644
index ce66d9ee..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_handle.png
deleted file mode 100644
index 87307a59..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_head.png
deleted file mode 100644
index bec4e589..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_head_broken.png
deleted file mode 100644
index ce66d9ee..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cactus_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_back.png
deleted file mode 100644
index c02a088d..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_backhead.png
deleted file mode 100644
index f009591f..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_binding.png
deleted file mode 100644
index c02a088d..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_front.png
deleted file mode 100644
index 662c8b09..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_fronthead.png
deleted file mode 100644
index 662c8b09..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_fronthead_broken.png
deleted file mode 100644
index ddcbd60d..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_handle.png
deleted file mode 100644
index 2efa71a3..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_head.png
deleted file mode 100644
index f009591f..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_head_broken.png
deleted file mode 100644
index ddcbd60d..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/cobalt_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_back.png
deleted file mode 100644
index b2f796d6..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_backhead.png
deleted file mode 100644
index 4dedbccb..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_binding.png
deleted file mode 100644
index b2f796d6..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_front.png
deleted file mode 100644
index aceabdd7..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_fronthead.png
deleted file mode 100644
index aceabdd7..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_fronthead_broken.png
deleted file mode 100644
index 7b286bec..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_handle.png
deleted file mode 100644
index 5af036b8..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_head.png
deleted file mode 100644
index 4dedbccb..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_head_broken.png
deleted file mode 100644
index 7b286bec..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/copper_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/diamond_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/diamond_battleaxe_effect.png
deleted file mode 100644
index 2b40288e..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/diamond_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/electric_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/electric_battleaxe_effect.png
deleted file mode 100644
index 2a7854b2..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/electric_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/emerald_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/emerald_battleaxe_effect.png
deleted file mode 100644
index 000ac5e9..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/emerald_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_back.png
deleted file mode 100644
index 6e022f1d..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_backhead.png
deleted file mode 100644
index 02fecb09..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_binding.png
deleted file mode 100644
index 6e022f1d..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_front.png
deleted file mode 100644
index d5804d35..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_fronthead.png
deleted file mode 100644
index d5804d35..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_fronthead_broken.png
deleted file mode 100644
index 97068737..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_handle.png
deleted file mode 100644
index f288d4e2..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_head.png
deleted file mode 100644
index 02fecb09..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_head_broken.png
deleted file mode 100644
index 97068737..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/flint_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/flux_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/flux_battleaxe_effect.png
deleted file mode 100644
index 0d4e3539..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/flux_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/ice_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/ice_battleaxe_effect.png
deleted file mode 100644
index dae3ecac..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/ice_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_back.png
deleted file mode 100644
index beab2f46..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_backhead.png
deleted file mode 100644
index bec4e589..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_binding.png
deleted file mode 100644
index beab2f46..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_front.png
deleted file mode 100644
index c7895997..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_fronthead.png
deleted file mode 100644
index c7895997..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_fronthead_broken.png
deleted file mode 100644
index ce66d9ee..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_handle.png
deleted file mode 100644
index 6d2aab8f..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_head.png
deleted file mode 100644
index bec4e589..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_head_broken.png
deleted file mode 100644
index ce66d9ee..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/iron_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/lapis_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/lapis_battleaxe_effect.png
deleted file mode 100644
index 6d36c579..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/lapis_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/lava_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/lava_battleaxe_effect.png
deleted file mode 100644
index b19b3244..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/lava_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_back.png
deleted file mode 100644
index bf786f27..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_backhead.png
deleted file mode 100644
index d891905e..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_binding.png
deleted file mode 100644
index bf786f27..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_front.png
deleted file mode 100644
index b8b2966b..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_fronthead.png
deleted file mode 100644
index b8b2966b..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_fronthead_broken.png
deleted file mode 100644
index 376378b0..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_handle.png
deleted file mode 100644
index 3d34adee..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_head.png
deleted file mode 100644
index d891905e..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_head_broken.png
deleted file mode 100644
index 376378b0..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/manyullyn_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/moss_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/moss_battleaxe_effect.png
deleted file mode 100644
index b20e3d12..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/moss_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/necrotic_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/necrotic_battleaxe_effect.png
deleted file mode 100644
index 5c910e64..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/necrotic_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_back.png
deleted file mode 100644
index beab2f46..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_backhead.png
deleted file mode 100644
index 597cfe78..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_binding.png
deleted file mode 100644
index 4a201e2b..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_front.png
deleted file mode 100644
index c7895997..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_fronthead.png
deleted file mode 100644
index 80c62c45..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_fronthead_broken.png
deleted file mode 100644
index ce66d9ee..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_handle.png
deleted file mode 100644
index 2ef67d99..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_head.png
deleted file mode 100644
index bec4e589..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_head_broken.png
deleted file mode 100644
index ce66d9ee..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/netherrack_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_back.png
deleted file mode 100644
index 89b8847f..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_backhead.png
deleted file mode 100644
index 5654ff1f..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_binding.png
deleted file mode 100644
index 89b8847f..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_front.png
deleted file mode 100644
index 1ac7d82c..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_fronthead.png
deleted file mode 100644
index 1ac7d82c..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_fronthead_broken.png
deleted file mode 100644
index 322adb99..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_handle.png
deleted file mode 100644
index b1d10dd2..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_head.png
deleted file mode 100644
index 5654ff1f..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_head_broken.png
deleted file mode 100644
index 322adb99..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/obsidian_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_back.png
deleted file mode 100644
index beab2f46..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_backhead.png
deleted file mode 100644
index f8a0ab42..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_binding.png
deleted file mode 100644
index c597e065..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_front.png
deleted file mode 100644
index c7895997..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_fronthead.png
deleted file mode 100644
index 5a1bd0be..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_fronthead_broken.png
deleted file mode 100644
index ce66d9ee..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_handle.png
deleted file mode 100644
index 19d341dd..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_head.png
deleted file mode 100644
index bec4e589..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_head_broken.png
deleted file mode 100644
index ce66d9ee..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/paper_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_backhead.png
deleted file mode 100644
index 2c7fe2f0..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_binding.png
deleted file mode 100644
index 452506f4..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_front.png
deleted file mode 100644
index 150894b3..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_fronthead.png
deleted file mode 100644
index 150894b3..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_fronthead_broken.png
deleted file mode 100644
index a0cb4170..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_handle.png
deleted file mode 100644
index 85ae9f34..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_head.png
deleted file mode 100644
index 7e4ccdd4..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_head_broken.png
deleted file mode 100644
index a0cb4170..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/pigiron_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/piston_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/piston_battleaxe_effect.png
deleted file mode 100644
index 51ec09dd..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/piston_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/quartz_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/quartz_battleaxe_effect.png
deleted file mode 100644
index 5aff1410..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/quartz_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/redstone_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/redstone_battleaxe_effect.png
deleted file mode 100644
index be01d2c8..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/redstone_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/reinforced_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/reinforced_battleaxe_effect.png
deleted file mode 100644
index dec54892..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/reinforced_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/silk_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/silk_battleaxe_effect.png
deleted file mode 100644
index 484e5919..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/silk_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_back.png
deleted file mode 100644
index 6eb6712e..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_backhead.png
deleted file mode 100644
index b0e7cc46..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_binding.png
deleted file mode 100644
index 6eb6712e..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_front.png
deleted file mode 100644
index 94345a46..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_fronthead.png
deleted file mode 100644
index 94345a46..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_fronthead_broken.png
deleted file mode 100644
index 4ce210d1..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_handle.png
deleted file mode 100644
index 870ef2fb..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_head.png
deleted file mode 100644
index b0e7cc46..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_head_broken.png
deleted file mode 100644
index 4ce210d1..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/slime_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/smite_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/smite_battleaxe_effect.png
deleted file mode 100644
index 81b0da6f..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/smite_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/spider_battleaxe_effect.png b/resources/assets/tinker/textures/items/battleaxe/spider_battleaxe_effect.png
deleted file mode 100644
index 3ac53872..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/spider_battleaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_back.png
deleted file mode 100644
index 0ce7ecd9..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_backhead.png
deleted file mode 100644
index 138b06f1..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_binding.png
deleted file mode 100644
index 0ce7ecd9..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_front.png
deleted file mode 100644
index c4ffd2ec..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_fronthead.png
deleted file mode 100644
index c4ffd2ec..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_fronthead_broken.png
deleted file mode 100644
index 3b488ead..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_handle.png
deleted file mode 100644
index 19f826af..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_head.png
deleted file mode 100644
index 138b06f1..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_head_broken.png
deleted file mode 100644
index 3b488ead..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/steel_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_back.png
deleted file mode 100644
index bbfd4bf9..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_backhead.png
deleted file mode 100644
index 88c6af68..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_binding.png
deleted file mode 100644
index bbfd4bf9..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_front.png
deleted file mode 100644
index 9760aff5..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_fronthead.png
deleted file mode 100644
index 9760aff5..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_fronthead_broken.png
deleted file mode 100644
index 72e6b964..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_handle.png
deleted file mode 100644
index cb95548d..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_head.png
deleted file mode 100644
index 88c6af68..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_head_broken.png
deleted file mode 100644
index 72e6b964..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/stone_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_backhead.png
deleted file mode 100644
index a1db6152..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_binding.png
deleted file mode 100644
index fbcbbe2d..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_fronthead.png
deleted file mode 100644
index 60828993..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_fronthead_broken.png
deleted file mode 100644
index 13ccf873..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_handle.png
deleted file mode 100644
index 7195b193..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/thaumium_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_back.png b/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_back.png
deleted file mode 100644
index 8ad630a4..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_backhead.png b/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_backhead.png
deleted file mode 100644
index 5e41b3e2..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_backhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_binding.png b/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_binding.png
deleted file mode 100644
index 8ad630a4..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_front.png b/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_front.png
deleted file mode 100644
index ca1ea8ce..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_fronthead.png b/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_fronthead.png
deleted file mode 100644
index ca1ea8ce..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_fronthead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_fronthead_broken.png b/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_fronthead_broken.png
deleted file mode 100644
index e1664ae3..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_fronthead_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_handle.png b/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_handle.png
deleted file mode 100644
index 3e158389..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_head.png b/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_head.png
deleted file mode 100644
index 5e41b3e2..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_head_broken.png b/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_head_broken.png
deleted file mode 100644
index e1664ae3..00000000
Binary files a/resources/assets/tinker/textures/items/battleaxe/wood_battleaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/alumite_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/alumite_battlesign_handle.png
deleted file mode 100644
index 8b43760b..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/alumite_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/alumite_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/alumite_battlesign_head.png
deleted file mode 100644
index 1380200f..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/alumite_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/alumite_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/alumite_battlesign_head_broken.png
deleted file mode 100644
index 1f120508..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/alumite_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/ardite_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/ardite_battlesign_handle.png
deleted file mode 100644
index bc9e8b90..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/ardite_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/ardite_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/ardite_battlesign_head.png
deleted file mode 100644
index 656c1ed5..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/ardite_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/ardite_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/ardite_battlesign_head_broken.png
deleted file mode 100644
index 0c1d2106..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/ardite_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/beheading_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/beheading_battlesign_effect.png
deleted file mode 100644
index 18d0d87f..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/beheading_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/blaze_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/blaze_battlesign_effect.png
deleted file mode 100644
index 2a307f86..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/blaze_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/blueslime_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/blueslime_battlesign_handle.png
deleted file mode 100644
index 12bb9975..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/blueslime_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/blueslime_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/blueslime_battlesign_head.png
deleted file mode 100644
index 945e6076..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/blueslime_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/blueslime_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/blueslime_battlesign_head_broken.png
deleted file mode 100644
index 9a3d45e2..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/blueslime_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/bone_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/bone_battlesign_handle.png
deleted file mode 100644
index 49c636ef..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/bone_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/bone_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/bone_battlesign_head.png
deleted file mode 100644
index 836cd2d8..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/bone_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/bone_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/bone_battlesign_head_broken.png
deleted file mode 100644
index 3b370446..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/bone_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/bronze_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/bronze_battlesign_handle.png
deleted file mode 100644
index 53a97192..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/bronze_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/bronze_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/bronze_battlesign_head.png
deleted file mode 100644
index 55cdc583..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/bronze_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/bronze_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/bronze_battlesign_head_broken.png
deleted file mode 100644
index e251690c..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/bronze_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/cactus_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/cactus_battlesign_handle.png
deleted file mode 100644
index eb5e196e..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/cactus_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/cactus_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/cactus_battlesign_head.png
deleted file mode 100644
index 5dcb4d4b..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/cactus_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/cactus_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/cactus_battlesign_head_broken.png
deleted file mode 100644
index 2c08ee05..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/cactus_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/cobalt_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/cobalt_battlesign_handle.png
deleted file mode 100644
index 61c9e181..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/cobalt_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/cobalt_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/cobalt_battlesign_head.png
deleted file mode 100644
index 812e0466..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/cobalt_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/cobalt_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/cobalt_battlesign_head_broken.png
deleted file mode 100644
index becefca6..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/cobalt_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/copper_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/copper_battlesign_handle.png
deleted file mode 100644
index 1aaa5cd3..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/copper_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/copper_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/copper_battlesign_head.png
deleted file mode 100644
index 13dc96fa..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/copper_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/copper_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/copper_battlesign_head_broken.png
deleted file mode 100644
index 9c31bdfd..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/copper_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/diamond_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/diamond_battlesign_effect.png
deleted file mode 100644
index 4328acb8..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/diamond_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/electric_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/electric_battlesign_effect.png
deleted file mode 100644
index b7bb3e3e..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/electric_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/emerald_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/emerald_battlesign_effect.png
deleted file mode 100644
index 6142ff21..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/emerald_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/flint_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/flint_battlesign_handle.png
deleted file mode 100644
index edde028e..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/flint_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/flint_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/flint_battlesign_head.png
deleted file mode 100644
index 0433befd..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/flint_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/flint_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/flint_battlesign_head_broken.png
deleted file mode 100644
index 99e59c4f..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/flint_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/flux_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/flux_battlesign_effect.png
deleted file mode 100644
index 276180d7..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/flux_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/glowstone_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/glowstone_battlesign_effect.png
deleted file mode 100644
index d9af8827..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/glowstone_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/ice_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/ice_battlesign_effect.png
deleted file mode 100644
index 91970e39..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/ice_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/iron_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/iron_battlesign_handle.png
deleted file mode 100644
index 38613904..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/iron_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/iron_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/iron_battlesign_head.png
deleted file mode 100644
index 06aa4891..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/iron_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/iron_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/iron_battlesign_head_broken.png
deleted file mode 100644
index b5221d46..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/iron_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/lapis_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/lapis_battlesign_effect.png
deleted file mode 100644
index b86b6a47..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/lapis_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/lava_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/lava_battlesign_effect.png
deleted file mode 100644
index abefdedc..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/lava_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/manyullyn_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/manyullyn_battlesign_handle.png
deleted file mode 100644
index aba5831a..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/manyullyn_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/manyullyn_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/manyullyn_battlesign_head.png
deleted file mode 100644
index 4033ff89..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/manyullyn_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/manyullyn_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/manyullyn_battlesign_head_broken.png
deleted file mode 100644
index fcd3aa7f..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/manyullyn_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/moss_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/moss_battlesign_effect.png
deleted file mode 100644
index a0db75a9..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/moss_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/necrotic_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/necrotic_battlesign_effect.png
deleted file mode 100644
index 9f69a54a..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/necrotic_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/netherrack_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/netherrack_battlesign_handle.png
deleted file mode 100644
index 75269bd6..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/netherrack_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/netherrack_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/netherrack_battlesign_head.png
deleted file mode 100644
index 2faff362..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/netherrack_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/netherrack_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/netherrack_battlesign_head_broken.png
deleted file mode 100644
index 75105c3a..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/netherrack_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/obsidian_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/obsidian_battlesign_handle.png
deleted file mode 100644
index 8b4a115b..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/obsidian_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/obsidian_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/obsidian_battlesign_head.png
deleted file mode 100644
index 09dfd430..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/obsidian_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/obsidian_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/obsidian_battlesign_head_broken.png
deleted file mode 100644
index 8539520d..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/obsidian_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/paper_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/paper_battlesign_handle.png
deleted file mode 100644
index 2db58f10..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/paper_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/paper_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/paper_battlesign_head.png
deleted file mode 100644
index d407d8bb..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/paper_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/paper_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/paper_battlesign_head_broken.png
deleted file mode 100644
index d252243a..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/paper_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/pigiron_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/pigiron_battlesign_handle.png
deleted file mode 100644
index 780777c3..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/pigiron_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/pigiron_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/pigiron_battlesign_head.png
deleted file mode 100644
index 2f573086..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/pigiron_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/pigiron_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/pigiron_battlesign_head_broken.png
deleted file mode 100644
index 9c0f0e42..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/pigiron_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/piston_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/piston_battlesign_effect.png
deleted file mode 100644
index c6256ad3..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/piston_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/quartz_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/quartz_battlesign_effect.png
deleted file mode 100644
index d34c9dc9..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/quartz_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/redstone_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/redstone_battlesign_effect.png
deleted file mode 100644
index 0d433209..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/redstone_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/reinforced_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/reinforced_battlesign_effect.png
deleted file mode 100644
index cd51eb8a..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/reinforced_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/silk_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/silk_battlesign_effect.png
deleted file mode 100644
index e5c5ef03..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/silk_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/slime_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/slime_battlesign_handle.png
deleted file mode 100644
index 5fae9af9..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/slime_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/slime_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/slime_battlesign_head.png
deleted file mode 100644
index b5777aa6..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/slime_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/slime_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/slime_battlesign_head_broken.png
deleted file mode 100644
index fd41ea5b..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/slime_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/smite_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/smite_battlesign_effect.png
deleted file mode 100644
index efbf2870..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/smite_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/spider_battlesign_effect.png b/resources/assets/tinker/textures/items/battlesign/spider_battlesign_effect.png
deleted file mode 100644
index 61670d88..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/spider_battlesign_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/steel_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/steel_battlesign_handle.png
deleted file mode 100644
index 2632cbdb..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/steel_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/steel_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/steel_battlesign_head.png
deleted file mode 100644
index 3ff8770a..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/steel_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/steel_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/steel_battlesign_head_broken.png
deleted file mode 100644
index d4997205..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/steel_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/stone_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/stone_battlesign_handle.png
deleted file mode 100644
index 8a080aa1..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/stone_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/stone_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/stone_battlesign_head.png
deleted file mode 100644
index f097bbcd..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/stone_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/stone_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/stone_battlesign_head_broken.png
deleted file mode 100644
index 86f894ed..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/stone_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/thaumium_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/thaumium_battlesign_handle.png
deleted file mode 100644
index 9da4f38b..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/thaumium_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/thaumium_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/thaumium_battlesign_head.png
deleted file mode 100644
index 71e156ed..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/thaumium_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/thaumium_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/thaumium_battlesign_head_broken.png
deleted file mode 100644
index 04bd3f7c..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/thaumium_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/wood_battlesign_handle.png b/resources/assets/tinker/textures/items/battlesign/wood_battlesign_handle.png
deleted file mode 100644
index 47d123ca..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/wood_battlesign_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/wood_battlesign_head.png b/resources/assets/tinker/textures/items/battlesign/wood_battlesign_head.png
deleted file mode 100644
index 5ef68a2d..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/wood_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/battlesign/wood_battlesign_head_broken.png b/resources/assets/tinker/textures/items/battlesign/wood_battlesign_head_broken.png
deleted file mode 100644
index f207a1c5..00000000
Binary files a/resources/assets/tinker/textures/items/battlesign/wood_battlesign_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/blankface.png b/resources/assets/tinker/textures/items/blankface.png
deleted file mode 100644
index 702fe585..00000000
Binary files a/resources/assets/tinker/textures/items/blankface.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/blanksprite.png b/resources/assets/tinker/textures/items/blanksprite.png
deleted file mode 100644
index 827bd32d..00000000
Binary files a/resources/assets/tinker/textures/items/blanksprite.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/alumite_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/alumite_sword_accessory.png
deleted file mode 100644
index 41f4b6a3..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/alumite_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/alumite_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/alumite_sword_blade.png
deleted file mode 100644
index da371697..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/alumite_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/alumite_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/alumite_sword_blade_broken.png
deleted file mode 100644
index d9814759..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/alumite_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/alumite_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/alumite_sword_handle.png
deleted file mode 100644
index a9b2b27f..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/alumite_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/ardite_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/ardite_sword_accessory.png
deleted file mode 100644
index 85d1d60b..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/ardite_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/ardite_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/ardite_sword_blade.png
deleted file mode 100644
index c81302f8..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/ardite_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/ardite_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/ardite_sword_blade_broken.png
deleted file mode 100644
index 43ecb397..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/ardite_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/ardite_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/ardite_sword_handle.png
deleted file mode 100644
index 61c412b4..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/ardite_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/beheading_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/beheading_sword_effect.png
deleted file mode 100644
index f68d6b62..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/beheading_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/blaze_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/blaze_sword_effect.png
deleted file mode 100644
index 614b9dd9..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/blaze_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/blueslime_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/blueslime_sword_accessory.png
deleted file mode 100644
index 69da1c77..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/blueslime_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/blueslime_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/blueslime_sword_blade.png
deleted file mode 100644
index 49d0be86..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/blueslime_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/blueslime_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/blueslime_sword_blade_broken.png
deleted file mode 100644
index 9c64eef8..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/blueslime_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/blueslime_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/blueslime_sword_handle.png
deleted file mode 100644
index 18c7af0f..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/blueslime_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/bone_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/bone_sword_accessory.png
deleted file mode 100644
index b0c23c79..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/bone_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/bone_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/bone_sword_blade.png
deleted file mode 100644
index 89a68d74..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/bone_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/bone_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/bone_sword_blade_broken.png
deleted file mode 100644
index af7177f0..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/bone_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/bone_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/bone_sword_handle.png
deleted file mode 100644
index d9d57b82..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/bone_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/bronze_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/bronze_sword_accessory.png
deleted file mode 100644
index b9fdebde..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/bronze_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/bronze_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/bronze_sword_blade.png
deleted file mode 100644
index f62a1d0d..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/bronze_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/bronze_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/bronze_sword_blade_broken.png
deleted file mode 100644
index 11a71ccd..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/bronze_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/bronze_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/bronze_sword_handle.png
deleted file mode 100644
index f0ff6abf..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/bronze_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/cactus_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/cactus_sword_accessory.png
deleted file mode 100644
index 1a5936b4..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/cactus_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/cactus_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/cactus_sword_blade.png
deleted file mode 100644
index b043fb59..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/cactus_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/cactus_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/cactus_sword_blade_broken.png
deleted file mode 100644
index d9378897..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/cactus_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/cactus_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/cactus_sword_handle.png
deleted file mode 100644
index 948f70d9..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/cactus_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/cobalt_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/cobalt_sword_accessory.png
deleted file mode 100644
index 27ad0551..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/cobalt_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/cobalt_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/cobalt_sword_blade.png
deleted file mode 100644
index c4f8a059..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/cobalt_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/cobalt_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/cobalt_sword_blade_broken.png
deleted file mode 100644
index d19d40ec..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/cobalt_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/cobalt_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/cobalt_sword_handle.png
deleted file mode 100644
index 08a719b0..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/cobalt_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/copper_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/copper_sword_accessory.png
deleted file mode 100644
index 7cece90e..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/copper_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/copper_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/copper_sword_blade.png
deleted file mode 100644
index e08d9769..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/copper_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/copper_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/copper_sword_blade_broken.png
deleted file mode 100644
index 0aad7c91..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/copper_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/copper_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/copper_sword_handle.png
deleted file mode 100644
index bc04a4fd..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/copper_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/diamond_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/diamond_sword_effect.png
deleted file mode 100644
index bbd56a7a..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/diamond_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/electric_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/electric_sword_effect.png
deleted file mode 100644
index 189434d7..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/electric_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/emerald_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/emerald_sword_effect.png
deleted file mode 100644
index c8cf2da7..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/emerald_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/flint_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/flint_sword_accessory.png
deleted file mode 100644
index 69354d39..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/flint_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/flint_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/flint_sword_blade.png
deleted file mode 100644
index 990ca291..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/flint_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/flint_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/flint_sword_blade_broken.png
deleted file mode 100644
index b5f01942..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/flint_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/flint_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/flint_sword_handle.png
deleted file mode 100644
index 51309901..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/flint_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/flux_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/flux_sword_effect.png
deleted file mode 100644
index 7bdf3afd..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/flux_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/ice_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/ice_sword_effect.png
deleted file mode 100644
index 8c2dfad3..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/ice_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/iron_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/iron_sword_accessory.png
deleted file mode 100644
index 607b4241..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/iron_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/iron_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/iron_sword_blade.png
deleted file mode 100644
index 96a7ac16..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/iron_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/iron_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/iron_sword_blade_broken.png
deleted file mode 100644
index a76f4c38..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/iron_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/iron_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/iron_sword_handle.png
deleted file mode 100644
index a48f96e4..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/iron_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/lapis_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/lapis_sword_effect.png
deleted file mode 100644
index 17c6ea3c..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/lapis_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/lava_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/lava_sword_effect.png
deleted file mode 100644
index 2d93b12c..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/lava_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/manyullyn_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/manyullyn_sword_accessory.png
deleted file mode 100644
index d091c455..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/manyullyn_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/manyullyn_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/manyullyn_sword_blade.png
deleted file mode 100644
index 93e8e153..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/manyullyn_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/manyullyn_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/manyullyn_sword_blade_broken.png
deleted file mode 100644
index 0a287022..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/manyullyn_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/manyullyn_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/manyullyn_sword_handle.png
deleted file mode 100644
index 8efb3c25..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/manyullyn_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/moss_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/moss_sword_effect.png
deleted file mode 100644
index cb471b10..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/moss_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/necrotic_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/necrotic_sword_effect.png
deleted file mode 100644
index 27269a03..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/necrotic_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/netherrack_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/netherrack_sword_accessory.png
deleted file mode 100644
index d7d3e7fe..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/netherrack_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/netherrack_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/netherrack_sword_blade.png
deleted file mode 100644
index 0cb24522..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/netherrack_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/netherrack_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/netherrack_sword_blade_broken.png
deleted file mode 100644
index ad22d2d8..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/netherrack_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/netherrack_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/netherrack_sword_handle.png
deleted file mode 100644
index 0855a905..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/netherrack_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/obsidian_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/obsidian_sword_accessory.png
deleted file mode 100644
index 52a857f4..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/obsidian_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/obsidian_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/obsidian_sword_blade.png
deleted file mode 100644
index a01f091b..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/obsidian_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/obsidian_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/obsidian_sword_blade_broken.png
deleted file mode 100644
index 60b10fd1..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/obsidian_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/obsidian_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/obsidian_sword_handle.png
deleted file mode 100644
index 665cd789..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/obsidian_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/paper_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/paper_sword_accessory.png
deleted file mode 100644
index f29ae698..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/paper_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/paper_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/paper_sword_blade.png
deleted file mode 100644
index 28482575..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/paper_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/paper_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/paper_sword_blade_broken.png
deleted file mode 100644
index 903e0a63..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/paper_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/paper_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/paper_sword_handle.png
deleted file mode 100644
index ab3e9651..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/paper_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/pigiron_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/pigiron_sword_accessory.png
deleted file mode 100644
index 550b7b67..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/pigiron_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/pigiron_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/pigiron_sword_blade.png
deleted file mode 100644
index 8aef04ad..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/pigiron_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/pigiron_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/pigiron_sword_blade_broken.png
deleted file mode 100644
index 4c352ed3..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/pigiron_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/pigiron_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/pigiron_sword_handle.png
deleted file mode 100644
index 457a1c85..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/pigiron_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/piston_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/piston_sword_effect.png
deleted file mode 100644
index 8fe96a6d..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/piston_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/quartz_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/quartz_sword_effect.png
deleted file mode 100644
index 355df175..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/quartz_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/redstone_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/redstone_sword_effect.png
deleted file mode 100644
index 422b20e6..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/redstone_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/reinforced_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/reinforced_sword_effect.png
deleted file mode 100644
index 272a362a..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/reinforced_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/silk_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/silk_sword_effect.png
deleted file mode 100644
index 4dd2cdfa..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/silk_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/slime_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/slime_sword_accessory.png
deleted file mode 100644
index 4be4f316..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/slime_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/slime_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/slime_sword_blade.png
deleted file mode 100644
index f5fbfb56..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/slime_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/slime_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/slime_sword_blade_broken.png
deleted file mode 100644
index a4d29038..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/slime_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/slime_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/slime_sword_handle.png
deleted file mode 100644
index 28907f33..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/slime_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/smite_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/smite_sword_effect.png
deleted file mode 100644
index fa726c65..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/smite_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/spider_sword_effect.png b/resources/assets/tinker/textures/items/broadsword/spider_sword_effect.png
deleted file mode 100644
index d534921b..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/spider_sword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/steel_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/steel_sword_accessory.png
deleted file mode 100644
index 0d10f2fa..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/steel_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/steel_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/steel_sword_blade.png
deleted file mode 100644
index b10f24f4..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/steel_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/steel_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/steel_sword_blade_broken.png
deleted file mode 100644
index e758e22a..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/steel_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/steel_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/steel_sword_handle.png
deleted file mode 100644
index d63b2d20..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/steel_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/stone_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/stone_sword_accessory.png
deleted file mode 100644
index 23e3b1ee..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/stone_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/stone_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/stone_sword_blade.png
deleted file mode 100644
index 90fc3887..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/stone_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/stone_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/stone_sword_blade_broken.png
deleted file mode 100644
index 78c4a0ec..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/stone_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/stone_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/stone_sword_handle.png
deleted file mode 100644
index b66780de..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/stone_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/thaumium_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/thaumium_sword_accessory.png
deleted file mode 100644
index cfe4e370..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/thaumium_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/thaumium_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/thaumium_sword_blade.png
deleted file mode 100644
index ca0c384d..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/thaumium_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/thaumium_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/thaumium_sword_blade_broken.png
deleted file mode 100644
index a4f56459..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/thaumium_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/thaumium_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/thaumium_sword_handle.png
deleted file mode 100644
index 92cfee9d..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/thaumium_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/wood_sword_accessory.png b/resources/assets/tinker/textures/items/broadsword/wood_sword_accessory.png
deleted file mode 100644
index b72ea865..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/wood_sword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/wood_sword_blade.png b/resources/assets/tinker/textures/items/broadsword/wood_sword_blade.png
deleted file mode 100644
index b783b529..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/wood_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/wood_sword_blade_broken.png b/resources/assets/tinker/textures/items/broadsword/wood_sword_blade_broken.png
deleted file mode 100644
index 5c737a2d..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/wood_sword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/broadsword/wood_sword_handle.png b/resources/assets/tinker/textures/items/broadsword/wood_sword_handle.png
deleted file mode 100644
index c909cf0b..00000000
Binary files a/resources/assets/tinker/textures/items/broadsword/wood_sword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/canister_empty.png b/resources/assets/tinker/textures/items/canister_empty.png
deleted file mode 100644
index 1428154a..00000000
Binary files a/resources/assets/tinker/textures/items/canister_empty.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/canister_heart.png b/resources/assets/tinker/textures/items/canister_heart.png
deleted file mode 100644
index 4513ec6a..00000000
Binary files a/resources/assets/tinker/textures/items/canister_heart.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/alumite_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/alumite_chisel_handle.png
deleted file mode 100644
index 7de2e368..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/alumite_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/alumite_chisel_head.png b/resources/assets/tinker/textures/items/chisel/alumite_chisel_head.png
deleted file mode 100644
index 7a7e8002..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/alumite_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/alumite_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/alumite_chisel_head_broken.png
deleted file mode 100644
index 151a0082..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/alumite_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/ardite_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/ardite_chisel_handle.png
deleted file mode 100644
index 7ba88a9d..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/ardite_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/ardite_chisel_head.png b/resources/assets/tinker/textures/items/chisel/ardite_chisel_head.png
deleted file mode 100644
index e4895d9b..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/ardite_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/ardite_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/ardite_chisel_head_broken.png
deleted file mode 100644
index ebe20e7d..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/ardite_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/beheading_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/beheading_chisel_effect.png
deleted file mode 100644
index 7d0b9db4..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/beheading_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/blaze_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/blaze_chisel_effect.png
deleted file mode 100644
index 1a355f93..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/blaze_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/blueslime_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/blueslime_chisel_handle.png
deleted file mode 100644
index e5b89899..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/blueslime_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/blueslime_chisel_head.png b/resources/assets/tinker/textures/items/chisel/blueslime_chisel_head.png
deleted file mode 100644
index 5fa0758b..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/blueslime_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/blueslime_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/blueslime_chisel_head_broken.png
deleted file mode 100644
index dc89f407..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/blueslime_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/bone_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/bone_chisel_handle.png
deleted file mode 100644
index 5a9d1976..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/bone_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/bone_chisel_head.png b/resources/assets/tinker/textures/items/chisel/bone_chisel_head.png
deleted file mode 100644
index bdd5f18a..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/bone_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/bone_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/bone_chisel_head_broken.png
deleted file mode 100644
index 74cb8055..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/bone_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/bronze_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/bronze_chisel_handle.png
deleted file mode 100644
index 803ce5c1..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/bronze_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/bronze_chisel_head.png b/resources/assets/tinker/textures/items/chisel/bronze_chisel_head.png
deleted file mode 100644
index 9f8320bd..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/bronze_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/bronze_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/bronze_chisel_head_broken.png
deleted file mode 100644
index ef6c0c3b..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/bronze_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/cactus_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/cactus_chisel_handle.png
deleted file mode 100644
index ebccdf10..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/cactus_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/cactus_chisel_head.png b/resources/assets/tinker/textures/items/chisel/cactus_chisel_head.png
deleted file mode 100644
index fb6f9b84..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/cactus_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/cactus_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/cactus_chisel_head_broken.png
deleted file mode 100644
index ba99a682..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/cactus_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/cobalt_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/cobalt_chisel_handle.png
deleted file mode 100644
index 7f935f82..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/cobalt_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/cobalt_chisel_head.png b/resources/assets/tinker/textures/items/chisel/cobalt_chisel_head.png
deleted file mode 100644
index c5795875..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/cobalt_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/cobalt_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/cobalt_chisel_head_broken.png
deleted file mode 100644
index 48c19390..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/cobalt_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/copper_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/copper_chisel_handle.png
deleted file mode 100644
index 01bdbbde..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/copper_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/copper_chisel_head.png b/resources/assets/tinker/textures/items/chisel/copper_chisel_head.png
deleted file mode 100644
index 3856f3f5..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/copper_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/copper_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/copper_chisel_head_broken.png
deleted file mode 100644
index 0510df7e..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/copper_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/diamond_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/diamond_chisel_effect.png
deleted file mode 100644
index c8d549ef..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/diamond_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/electric_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/electric_chisel_effect.png
deleted file mode 100644
index 75738d43..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/electric_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/emerald_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/emerald_chisel_effect.png
deleted file mode 100644
index 0bc923cb..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/emerald_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/flint_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/flint_chisel_handle.png
deleted file mode 100644
index 4593425d..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/flint_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/flint_chisel_head.png b/resources/assets/tinker/textures/items/chisel/flint_chisel_head.png
deleted file mode 100644
index a799ce55..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/flint_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/flint_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/flint_chisel_head_broken.png
deleted file mode 100644
index c7e8c8ac..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/flint_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/flux_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/flux_chisel_effect.png
deleted file mode 100644
index e99c645a..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/flux_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/ice_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/ice_chisel_effect.png
deleted file mode 100644
index e1dd00a8..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/ice_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/iron_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/iron_chisel_handle.png
deleted file mode 100644
index 224b48af..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/iron_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/iron_chisel_head.png b/resources/assets/tinker/textures/items/chisel/iron_chisel_head.png
deleted file mode 100644
index 36986c0c..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/iron_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/iron_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/iron_chisel_head_broken.png
deleted file mode 100644
index c8ed7597..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/iron_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/lapis_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/lapis_chisel_effect.png
deleted file mode 100644
index 95c9cb31..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/lapis_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/lava_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/lava_chisel_effect.png
deleted file mode 100644
index d251a42e..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/lava_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/manyullyn_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/manyullyn_chisel_handle.png
deleted file mode 100644
index 16f1a452..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/manyullyn_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/manyullyn_chisel_head.png b/resources/assets/tinker/textures/items/chisel/manyullyn_chisel_head.png
deleted file mode 100644
index 4ae2bf55..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/manyullyn_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/manyullyn_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/manyullyn_chisel_head_broken.png
deleted file mode 100644
index 4fe74649..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/manyullyn_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/moss_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/moss_chisel_effect.png
deleted file mode 100644
index 11a23c38..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/moss_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/necrotic_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/necrotic_chisel_effect.png
deleted file mode 100644
index d6ae31cd..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/necrotic_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/netherrack_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/netherrack_chisel_handle.png
deleted file mode 100644
index 47a2b204..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/netherrack_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/netherrack_chisel_head.png b/resources/assets/tinker/textures/items/chisel/netherrack_chisel_head.png
deleted file mode 100644
index 1a022a4f..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/netherrack_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/netherrack_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/netherrack_chisel_head_broken.png
deleted file mode 100644
index ea0a2819..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/netherrack_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/obsidian_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/obsidian_chisel_handle.png
deleted file mode 100644
index a38dce88..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/obsidian_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/obsidian_chisel_head.png b/resources/assets/tinker/textures/items/chisel/obsidian_chisel_head.png
deleted file mode 100644
index 746c7f50..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/obsidian_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/obsidian_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/obsidian_chisel_head_broken.png
deleted file mode 100644
index 87ce319f..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/obsidian_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/paper_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/paper_chisel_handle.png
deleted file mode 100644
index 3b2c1b07..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/paper_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/paper_chisel_head.png b/resources/assets/tinker/textures/items/chisel/paper_chisel_head.png
deleted file mode 100644
index e9801db9..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/paper_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/paper_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/paper_chisel_head_broken.png
deleted file mode 100644
index d3dce1e4..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/paper_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/pigiron_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/pigiron_chisel_handle.png
deleted file mode 100644
index c8bbba59..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/pigiron_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/pigiron_chisel_head.png b/resources/assets/tinker/textures/items/chisel/pigiron_chisel_head.png
deleted file mode 100644
index bfb23588..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/pigiron_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/pigiron_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/pigiron_chisel_head_broken.png
deleted file mode 100644
index f2615373..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/pigiron_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/piston_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/piston_chisel_effect.png
deleted file mode 100644
index d8e68fd9..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/piston_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/quartz_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/quartz_chisel_effect.png
deleted file mode 100644
index 18fa2ad9..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/quartz_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/redstone_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/redstone_chisel_effect.png
deleted file mode 100644
index d1ff23fb..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/redstone_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/reinforced_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/reinforced_chisel_effect.png
deleted file mode 100644
index 0b18f1bd..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/reinforced_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/silk_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/silk_chisel_effect.png
deleted file mode 100644
index 4e722fb2..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/silk_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/slime_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/slime_chisel_handle.png
deleted file mode 100644
index 13d113cd..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/slime_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/slime_chisel_head.png b/resources/assets/tinker/textures/items/chisel/slime_chisel_head.png
deleted file mode 100644
index 40fd6750..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/slime_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/slime_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/slime_chisel_head_broken.png
deleted file mode 100644
index bd05ec84..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/slime_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/smite_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/smite_chisel_effect.png
deleted file mode 100644
index 51f8ca14..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/smite_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/spider_chisel_effect.png b/resources/assets/tinker/textures/items/chisel/spider_chisel_effect.png
deleted file mode 100644
index 1f685aef..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/spider_chisel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/steel_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/steel_chisel_handle.png
deleted file mode 100644
index d2d55eb9..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/steel_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/steel_chisel_head.png b/resources/assets/tinker/textures/items/chisel/steel_chisel_head.png
deleted file mode 100644
index 464c327d..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/steel_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/steel_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/steel_chisel_head_broken.png
deleted file mode 100644
index 7f0a332e..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/steel_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/stone_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/stone_chisel_handle.png
deleted file mode 100644
index 5b185657..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/stone_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/stone_chisel_head.png b/resources/assets/tinker/textures/items/chisel/stone_chisel_head.png
deleted file mode 100644
index 7d892e4c..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/stone_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/stone_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/stone_chisel_head_broken.png
deleted file mode 100644
index 5409d94c..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/stone_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/thaumium_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/thaumium_chisel_handle.png
deleted file mode 100644
index f891e24b..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/thaumium_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/thaumium_chisel_head.png b/resources/assets/tinker/textures/items/chisel/thaumium_chisel_head.png
deleted file mode 100644
index 0660ee67..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/thaumium_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/thaumium_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/thaumium_chisel_head_broken.png
deleted file mode 100644
index 857fab4a..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/thaumium_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/wood_chisel_handle.png b/resources/assets/tinker/textures/items/chisel/wood_chisel_handle.png
deleted file mode 100644
index c8c47527..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/wood_chisel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/wood_chisel_head.png b/resources/assets/tinker/textures/items/chisel/wood_chisel_head.png
deleted file mode 100644
index 1cd53760..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/wood_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/chisel/wood_chisel_head_broken.png b/resources/assets/tinker/textures/items/chisel/wood_chisel_head_broken.png
deleted file mode 100644
index 97f1d6bc..00000000
Binary files a/resources/assets/tinker/textures/items/chisel/wood_chisel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_guard.png
deleted file mode 100644
index ebe10046..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_handle.png
deleted file mode 100644
index 1ad513a0..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_head.png
deleted file mode 100644
index e65ce18d..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_head_broken.png
deleted file mode 100644
index 3c36faf3..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_shield.png
deleted file mode 100644
index fdb46f6c..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/alumite_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_guard.png
deleted file mode 100644
index 848ece6f..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_handle.png
deleted file mode 100644
index b9c245a3..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_head.png
deleted file mode 100644
index 8b75df77..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_head_broken.png
deleted file mode 100644
index 01180071..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_shield.png
deleted file mode 100644
index 524bd820..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/ardite_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/beheading_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/beheading_cleaver_effect.png
deleted file mode 100644
index 9a62fc3a..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/beheading_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/blaze_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/blaze_cleaver_effect.png
deleted file mode 100644
index 12b0deed..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/blaze_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_guard.png
deleted file mode 100644
index 680f23e2..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_handle.png
deleted file mode 100644
index e2cd9d08..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_head.png
deleted file mode 100644
index 8e08d74d..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_head_broken.png
deleted file mode 100644
index 58e12895..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_shield.png
deleted file mode 100644
index 17a7825f..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/blueslime_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/bone_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/bone_cleaver_guard.png
deleted file mode 100644
index 81f3f5a2..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/bone_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/bone_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/bone_cleaver_handle.png
deleted file mode 100644
index e3ad86eb..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/bone_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/bone_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/bone_cleaver_head.png
deleted file mode 100644
index 19bb31b8..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/bone_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/bone_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/bone_cleaver_head_broken.png
deleted file mode 100644
index d2964064..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/bone_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/bone_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/bone_cleaver_shield.png
deleted file mode 100644
index cba0857e..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/bone_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_guard.png
deleted file mode 100644
index b0372d5a..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_handle.png
deleted file mode 100644
index 075e4478..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_head.png
deleted file mode 100644
index e3f06445..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_head_broken.png
deleted file mode 100644
index 66d619a6..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_shield.png
deleted file mode 100644
index df10c2cd..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/bronze_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_guard.png
deleted file mode 100644
index a4d8f94e..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_handle.png
deleted file mode 100644
index 18c04547..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_head.png
deleted file mode 100644
index a9eb80d6..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_head_broken.png
deleted file mode 100644
index 362b54d3..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_shield.png
deleted file mode 100644
index c6701c3e..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/cactus_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_guard.png
deleted file mode 100644
index c58a66c2..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_handle.png
deleted file mode 100644
index ee84084c..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_head.png
deleted file mode 100644
index 0f559036..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_head_broken.png
deleted file mode 100644
index f296d306..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_shield.png
deleted file mode 100644
index 38a4ab23..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/cobalt_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/copper_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/copper_cleaver_guard.png
deleted file mode 100644
index bf0785d9..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/copper_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/copper_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/copper_cleaver_handle.png
deleted file mode 100644
index 29308e1a..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/copper_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/copper_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/copper_cleaver_head.png
deleted file mode 100644
index 564b2c66..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/copper_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/copper_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/copper_cleaver_head_broken.png
deleted file mode 100644
index 90f53e7b..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/copper_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/copper_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/copper_cleaver_shield.png
deleted file mode 100644
index 7274d875..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/copper_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/diamond_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/diamond_cleaver_effect.png
deleted file mode 100644
index c098b535..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/diamond_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/electric_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/electric_cleaver_effect.png
deleted file mode 100644
index 3ac31578..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/electric_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/emerald_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/emerald_cleaver_effect.png
deleted file mode 100644
index 28847229..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/emerald_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/flint_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/flint_cleaver_guard.png
deleted file mode 100644
index 3e283e15..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/flint_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/flint_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/flint_cleaver_handle.png
deleted file mode 100644
index 17c60593..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/flint_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/flint_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/flint_cleaver_head.png
deleted file mode 100644
index c435f522..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/flint_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/flint_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/flint_cleaver_head_broken.png
deleted file mode 100644
index b02b2248..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/flint_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/flint_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/flint_cleaver_shield.png
deleted file mode 100644
index 9f5613c4..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/flint_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/flux_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/flux_cleaver_effect.png
deleted file mode 100644
index d2f73457..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/flux_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/ice_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/ice_cleaver_effect.png
deleted file mode 100644
index b5f9c988..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/ice_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/iron_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/iron_cleaver_guard.png
deleted file mode 100644
index 05243b34..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/iron_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/iron_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/iron_cleaver_handle.png
deleted file mode 100644
index 8162a7da..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/iron_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/iron_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/iron_cleaver_head.png
deleted file mode 100644
index 96badfc2..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/iron_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/iron_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/iron_cleaver_head_broken.png
deleted file mode 100644
index 8417ac53..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/iron_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/iron_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/iron_cleaver_shield.png
deleted file mode 100644
index a9d7a595..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/iron_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/lapis_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/lapis_cleaver_effect.png
deleted file mode 100644
index 750dd8a4..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/lapis_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/lava_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/lava_cleaver_effect.png
deleted file mode 100644
index a69f79ca..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/lava_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_guard.png
deleted file mode 100644
index 48d2df81..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_handle.png
deleted file mode 100644
index 9b24d18e..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_head.png
deleted file mode 100644
index e5da5c81..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_head_broken.png
deleted file mode 100644
index dce03d9c..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_shield.png
deleted file mode 100644
index 375d4e41..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/manyullyn_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/moss_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/moss_cleaver_effect.png
deleted file mode 100644
index 78c46cb5..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/moss_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/necrotic_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/necrotic_cleaver_effect.png
deleted file mode 100644
index b71a4576..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/necrotic_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_guard.png
deleted file mode 100644
index f9dfdde3..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_handle.png
deleted file mode 100644
index da5e909f..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_head.png
deleted file mode 100644
index af841160..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_head_broken.png
deleted file mode 100644
index 7800b21d..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_shield.png
deleted file mode 100644
index f7783c14..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/netherrack_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_guard.png
deleted file mode 100644
index bc68c0db..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_handle.png
deleted file mode 100644
index e790af7c..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_head.png
deleted file mode 100644
index 4f5aca38..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_head_broken.png
deleted file mode 100644
index 133a4476..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_shield.png
deleted file mode 100644
index 0bc63ac8..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/obsidian_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/paper_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/paper_cleaver_guard.png
deleted file mode 100644
index f43c6734..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/paper_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/paper_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/paper_cleaver_handle.png
deleted file mode 100644
index 6ad54759..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/paper_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/paper_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/paper_cleaver_head.png
deleted file mode 100644
index 3b3f129f..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/paper_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/paper_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/paper_cleaver_head_broken.png
deleted file mode 100644
index e3ee4f08..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/paper_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/paper_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/paper_cleaver_shield.png
deleted file mode 100644
index f279717f..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/paper_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_guard.png
deleted file mode 100644
index 86dc0e4c..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_handle.png
deleted file mode 100644
index 8c9a9172..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_head.png
deleted file mode 100644
index 87d10b0e..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_head_broken.png
deleted file mode 100644
index baa1340e..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_shield.png
deleted file mode 100644
index 04cb141a..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/pigiron_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/piston_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/piston_cleaver_effect.png
deleted file mode 100644
index 9619c9df..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/piston_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/quartz_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/quartz_cleaver_effect.png
deleted file mode 100644
index 97f3254b..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/quartz_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/redstone_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/redstone_cleaver_effect.png
deleted file mode 100644
index 39e56f20..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/redstone_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/reinforced_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/reinforced_cleaver_effect.png
deleted file mode 100644
index c4e6dc07..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/reinforced_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/silk_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/silk_cleaver_effect.png
deleted file mode 100644
index a0fb3d62..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/silk_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/slime_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/slime_cleaver_guard.png
deleted file mode 100644
index a3904d80..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/slime_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/slime_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/slime_cleaver_handle.png
deleted file mode 100644
index 5036d644..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/slime_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/slime_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/slime_cleaver_head.png
deleted file mode 100644
index a8e2a313..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/slime_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/slime_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/slime_cleaver_head_broken.png
deleted file mode 100644
index 7b8b8c2d..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/slime_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/slime_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/slime_cleaver_shield.png
deleted file mode 100644
index f3fec93c..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/slime_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/smite_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/smite_cleaver_effect.png
deleted file mode 100644
index efbad58b..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/smite_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/spider_cleaver_effect.png b/resources/assets/tinker/textures/items/cleaver/spider_cleaver_effect.png
deleted file mode 100644
index e2bd3751..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/spider_cleaver_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/steel_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/steel_cleaver_guard.png
deleted file mode 100644
index dd5703a1..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/steel_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/steel_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/steel_cleaver_handle.png
deleted file mode 100644
index 3fdf621a..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/steel_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/steel_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/steel_cleaver_head.png
deleted file mode 100644
index 3d8bb006..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/steel_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/steel_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/steel_cleaver_head_broken.png
deleted file mode 100644
index fd219788..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/steel_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/steel_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/steel_cleaver_shield.png
deleted file mode 100644
index baa6778d..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/steel_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/stone_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/stone_cleaver_guard.png
deleted file mode 100644
index 5a3a53b3..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/stone_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/stone_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/stone_cleaver_handle.png
deleted file mode 100644
index 65f3b02f..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/stone_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/stone_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/stone_cleaver_head.png
deleted file mode 100644
index 7346d488..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/stone_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/stone_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/stone_cleaver_head_broken.png
deleted file mode 100644
index 6dd9e712..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/stone_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/stone_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/stone_cleaver_shield.png
deleted file mode 100644
index 950485d5..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/stone_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_guard.png
deleted file mode 100644
index a7a84bd9..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_handle.png
deleted file mode 100644
index a068f81e..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_head.png
deleted file mode 100644
index 6ec2ed5e..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_head_broken.png
deleted file mode 100644
index f6c9532c..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_shield.png
deleted file mode 100644
index 0b8eaf3d..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/thaumium_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/wood_cleaver_guard.png b/resources/assets/tinker/textures/items/cleaver/wood_cleaver_guard.png
deleted file mode 100644
index 6b270498..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/wood_cleaver_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/wood_cleaver_handle.png b/resources/assets/tinker/textures/items/cleaver/wood_cleaver_handle.png
deleted file mode 100644
index d8afa746..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/wood_cleaver_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/wood_cleaver_head.png b/resources/assets/tinker/textures/items/cleaver/wood_cleaver_head.png
deleted file mode 100644
index f1e61434..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/wood_cleaver_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/wood_cleaver_head_broken.png b/resources/assets/tinker/textures/items/cleaver/wood_cleaver_head_broken.png
deleted file mode 100644
index 9cf5aa98..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/wood_cleaver_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cleaver/wood_cleaver_shield.png b/resources/assets/tinker/textures/items/cleaver/wood_cleaver_shield.png
deleted file mode 100644
index 5b31282d..00000000
Binary files a/resources/assets/tinker/textures/items/cleaver/wood_cleaver_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/alumite_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/alumite_cutlass_blade.png
deleted file mode 100644
index a5f28680..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/alumite_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/alumite_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/alumite_cutlass_blade_broken.png
deleted file mode 100644
index 9138f8a8..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/alumite_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/alumite_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/alumite_cutlass_guard.png
deleted file mode 100644
index a94358b3..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/alumite_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/alumite_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/alumite_cutlass_handle.png
deleted file mode 100644
index 59be9139..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/alumite_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/ardite_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/ardite_cutlass_blade.png
deleted file mode 100644
index c3cbb870..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/ardite_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/ardite_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/ardite_cutlass_blade_broken.png
deleted file mode 100644
index 91e89e87..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/ardite_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/ardite_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/ardite_cutlass_guard.png
deleted file mode 100644
index 09b2d756..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/ardite_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/ardite_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/ardite_cutlass_handle.png
deleted file mode 100644
index 224436bb..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/ardite_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/beheading_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/beheading_cutlass_effect.png
deleted file mode 100644
index 9e227923..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/beheading_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/blaze_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/blaze_cutlass_effect.png
deleted file mode 100644
index bc4fcf51..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/blaze_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/blueslime_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/blueslime_cutlass_blade.png
deleted file mode 100644
index 8044cdbd..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/blueslime_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/blueslime_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/blueslime_cutlass_blade_broken.png
deleted file mode 100644
index 63dbeecc..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/blueslime_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/blueslime_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/blueslime_cutlass_guard.png
deleted file mode 100644
index 18563fc5..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/blueslime_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/blueslime_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/blueslime_cutlass_handle.png
deleted file mode 100644
index 6c7b7859..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/blueslime_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/bone_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/bone_cutlass_blade.png
deleted file mode 100644
index f23604e2..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/bone_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/bone_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/bone_cutlass_blade_broken.png
deleted file mode 100644
index 66c8a7c0..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/bone_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/bone_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/bone_cutlass_guard.png
deleted file mode 100644
index 87c7a16f..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/bone_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/bone_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/bone_cutlass_handle.png
deleted file mode 100644
index 877b0584..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/bone_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/bronze_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/bronze_cutlass_blade.png
deleted file mode 100644
index 5f2c9e53..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/bronze_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/bronze_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/bronze_cutlass_blade_broken.png
deleted file mode 100644
index b080fadf..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/bronze_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/bronze_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/bronze_cutlass_guard.png
deleted file mode 100644
index 713e6017..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/bronze_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/bronze_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/bronze_cutlass_handle.png
deleted file mode 100644
index c6c6c80a..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/bronze_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/cactus_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/cactus_cutlass_blade.png
deleted file mode 100644
index ad4e6600..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/cactus_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/cactus_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/cactus_cutlass_blade_broken.png
deleted file mode 100644
index d1174cd4..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/cactus_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/cactus_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/cactus_cutlass_guard.png
deleted file mode 100644
index a5db267e..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/cactus_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/cactus_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/cactus_cutlass_handle.png
deleted file mode 100644
index b2136c77..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/cactus_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/cobalt_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/cobalt_cutlass_blade.png
deleted file mode 100644
index 30f81196..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/cobalt_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/cobalt_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/cobalt_cutlass_blade_broken.png
deleted file mode 100644
index f1924b4a..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/cobalt_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/cobalt_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/cobalt_cutlass_guard.png
deleted file mode 100644
index 2e2c4f78..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/cobalt_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/cobalt_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/cobalt_cutlass_handle.png
deleted file mode 100644
index 977590e3..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/cobalt_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/copper_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/copper_cutlass_blade.png
deleted file mode 100644
index 909a1b25..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/copper_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/copper_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/copper_cutlass_blade_broken.png
deleted file mode 100644
index 8be99738..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/copper_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/copper_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/copper_cutlass_guard.png
deleted file mode 100644
index 16b835bc..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/copper_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/copper_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/copper_cutlass_handle.png
deleted file mode 100644
index 7738236b..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/copper_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/diamond_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/diamond_cutlass_effect.png
deleted file mode 100644
index 244bc41f..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/diamond_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/electric_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/electric_cutlass_effect.png
deleted file mode 100644
index ee31bf4d..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/electric_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/emerald_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/emerald_cutlass_effect.png
deleted file mode 100644
index a37dfefb..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/emerald_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/flint_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/flint_cutlass_blade.png
deleted file mode 100644
index 41c5e128..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/flint_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/flint_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/flint_cutlass_blade_broken.png
deleted file mode 100644
index d1653e8f..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/flint_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/flint_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/flint_cutlass_guard.png
deleted file mode 100644
index 8e90d3b3..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/flint_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/flint_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/flint_cutlass_handle.png
deleted file mode 100644
index 1da696b1..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/flint_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/flux_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/flux_cutlass_effect.png
deleted file mode 100644
index 03690df6..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/flux_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/ice_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/ice_cutlass_effect.png
deleted file mode 100644
index c1bd5a79..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/ice_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/iron_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/iron_cutlass_blade.png
deleted file mode 100644
index 8138410f..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/iron_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/iron_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/iron_cutlass_blade_broken.png
deleted file mode 100644
index f91cbf56..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/iron_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/iron_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/iron_cutlass_guard.png
deleted file mode 100644
index 8e90d3b3..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/iron_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/iron_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/iron_cutlass_handle.png
deleted file mode 100644
index c879f3ea..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/iron_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/lapis_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/lapis_cutlass_effect.png
deleted file mode 100644
index da43fe61..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/lapis_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/lava_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/lava_cutlass_effect.png
deleted file mode 100644
index 89b6d397..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/lava_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/manyullyn_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/manyullyn_cutlass_blade.png
deleted file mode 100644
index a0cbb896..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/manyullyn_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/manyullyn_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/manyullyn_cutlass_blade_broken.png
deleted file mode 100644
index 63879e8b..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/manyullyn_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/manyullyn_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/manyullyn_cutlass_guard.png
deleted file mode 100644
index 2647f3b9..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/manyullyn_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/manyullyn_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/manyullyn_cutlass_handle.png
deleted file mode 100644
index 3d030db7..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/manyullyn_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/moss_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/moss_cutlass_effect.png
deleted file mode 100644
index f69aaed7..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/moss_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/necrotic_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/necrotic_cutlass_effect.png
deleted file mode 100644
index 8732995c..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/necrotic_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/netherrack_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/netherrack_cutlass_blade.png
deleted file mode 100644
index 632b811b..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/netherrack_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/netherrack_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/netherrack_cutlass_blade_broken.png
deleted file mode 100644
index 4bddd444..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/netherrack_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/netherrack_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/netherrack_cutlass_guard.png
deleted file mode 100644
index 21dab543..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/netherrack_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/netherrack_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/netherrack_cutlass_handle.png
deleted file mode 100644
index 21018d66..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/netherrack_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/obsidian_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/obsidian_cutlass_blade.png
deleted file mode 100644
index dee76198..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/obsidian_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/obsidian_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/obsidian_cutlass_blade_broken.png
deleted file mode 100644
index d37dc066..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/obsidian_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/obsidian_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/obsidian_cutlass_guard.png
deleted file mode 100644
index cac3ee70..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/obsidian_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/obsidian_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/obsidian_cutlass_handle.png
deleted file mode 100644
index 84ed5405..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/obsidian_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/paper_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/paper_cutlass_blade.png
deleted file mode 100644
index b2a386eb..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/paper_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/paper_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/paper_cutlass_blade_broken.png
deleted file mode 100644
index 3f0eb748..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/paper_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/paper_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/paper_cutlass_guard.png
deleted file mode 100644
index 848b5634..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/paper_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/paper_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/paper_cutlass_handle.png
deleted file mode 100644
index ad24c448..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/paper_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/pigiron_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/pigiron_cutlass_blade.png
deleted file mode 100644
index 8975a987..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/pigiron_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/pigiron_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/pigiron_cutlass_blade_broken.png
deleted file mode 100644
index f37ce51f..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/pigiron_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/pigiron_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/pigiron_cutlass_guard.png
deleted file mode 100644
index 57286d80..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/pigiron_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/pigiron_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/pigiron_cutlass_handle.png
deleted file mode 100644
index 547d3723..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/pigiron_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/piston_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/piston_cutlass_effect.png
deleted file mode 100644
index b843b68e..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/piston_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/quartz_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/quartz_cutlass_effect.png
deleted file mode 100644
index 068d004b..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/quartz_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/redstone_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/redstone_cutlass_effect.png
deleted file mode 100644
index 39cd2fad..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/redstone_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/reinforced_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/reinforced_cutlass_effect.png
deleted file mode 100644
index 5fa30db5..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/reinforced_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/silk_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/silk_cutlass_effect.png
deleted file mode 100644
index 1804bd13..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/silk_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/slime_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/slime_cutlass_blade.png
deleted file mode 100644
index 8bee09bd..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/slime_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/slime_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/slime_cutlass_blade_broken.png
deleted file mode 100644
index fe6e6ec1..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/slime_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/slime_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/slime_cutlass_guard.png
deleted file mode 100644
index 981f5424..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/slime_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/slime_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/slime_cutlass_handle.png
deleted file mode 100644
index a08fd1b1..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/slime_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/smite_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/smite_cutlass_effect.png
deleted file mode 100644
index eed44863..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/smite_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/spider_cutlass_effect.png b/resources/assets/tinker/textures/items/cutlass/spider_cutlass_effect.png
deleted file mode 100644
index 52adf363..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/spider_cutlass_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/steel_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/steel_cutlass_blade.png
deleted file mode 100644
index 0e363b5b..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/steel_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/steel_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/steel_cutlass_blade_broken.png
deleted file mode 100644
index 83ad240f..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/steel_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/steel_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/steel_cutlass_guard.png
deleted file mode 100644
index c16671db..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/steel_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/steel_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/steel_cutlass_handle.png
deleted file mode 100644
index 73ee660d..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/steel_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/stone_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/stone_cutlass_blade.png
deleted file mode 100644
index 6b3c0a96..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/stone_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/stone_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/stone_cutlass_blade_broken.png
deleted file mode 100644
index b89686e0..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/stone_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/stone_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/stone_cutlass_guard.png
deleted file mode 100644
index 24088383..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/stone_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/stone_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/stone_cutlass_handle.png
deleted file mode 100644
index 5208b130..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/stone_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/thaumium_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/thaumium_cutlass_blade.png
deleted file mode 100644
index 58cbfb62..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/thaumium_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/thaumium_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/thaumium_cutlass_blade_broken.png
deleted file mode 100644
index e52635d3..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/thaumium_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/thaumium_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/thaumium_cutlass_guard.png
deleted file mode 100644
index 192ae7f7..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/thaumium_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/thaumium_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/thaumium_cutlass_handle.png
deleted file mode 100644
index 7c396078..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/thaumium_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/wood_cutlass_blade.png b/resources/assets/tinker/textures/items/cutlass/wood_cutlass_blade.png
deleted file mode 100644
index ffc3d299..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/wood_cutlass_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/wood_cutlass_blade_broken.png b/resources/assets/tinker/textures/items/cutlass/wood_cutlass_blade_broken.png
deleted file mode 100644
index 3b30d545..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/wood_cutlass_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/wood_cutlass_guard.png b/resources/assets/tinker/textures/items/cutlass/wood_cutlass_guard.png
deleted file mode 100644
index 1b0b5fad..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/wood_cutlass_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/cutlass/wood_cutlass_handle.png b/resources/assets/tinker/textures/items/cutlass/wood_cutlass_handle.png
deleted file mode 100644
index 9dc620c5..00000000
Binary files a/resources/assets/tinker/textures/items/cutlass/wood_cutlass_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/alumite_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/alumite_dagger_accessory.png
deleted file mode 100644
index abdea45f..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/alumite_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/alumite_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/alumite_dagger_blade.png
deleted file mode 100644
index 71a7902e..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/alumite_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/alumite_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/alumite_dagger_blade_broken.png
deleted file mode 100644
index 745053c6..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/alumite_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/alumite_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/alumite_dagger_handle.png
deleted file mode 100644
index 3d73dba7..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/alumite_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/ardite_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/ardite_dagger_accessory.png
deleted file mode 100644
index 56b38ef0..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/ardite_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/ardite_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/ardite_dagger_blade.png
deleted file mode 100644
index c10b4320..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/ardite_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/ardite_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/ardite_dagger_blade_broken.png
deleted file mode 100644
index 1e920e78..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/ardite_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/ardite_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/ardite_dagger_handle.png
deleted file mode 100644
index 0b7d6db1..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/ardite_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/beheading_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/beheading_dagger_effect.png
deleted file mode 100644
index a9a085a4..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/beheading_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/blaze_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/blaze_dagger_effect.png
deleted file mode 100644
index e3625155..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/blaze_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/blueslime_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/blueslime_dagger_accessory.png
deleted file mode 100644
index 5d9748d3..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/blueslime_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/blueslime_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/blueslime_dagger_blade.png
deleted file mode 100644
index eec548fe..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/blueslime_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/blueslime_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/blueslime_dagger_blade_broken.png
deleted file mode 100644
index dbf8499b..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/blueslime_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/blueslime_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/blueslime_dagger_handle.png
deleted file mode 100644
index c61f1245..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/blueslime_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/bone_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/bone_dagger_accessory.png
deleted file mode 100644
index 72926bdc..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/bone_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/bone_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/bone_dagger_blade.png
deleted file mode 100644
index afe4dbb4..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/bone_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/bone_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/bone_dagger_blade_broken.png
deleted file mode 100644
index 5f9b7e8e..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/bone_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/bone_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/bone_dagger_handle.png
deleted file mode 100644
index 0d774fe9..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/bone_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/bronze_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/bronze_dagger_accessory.png
deleted file mode 100644
index 051fc1a5..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/bronze_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/bronze_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/bronze_dagger_blade.png
deleted file mode 100644
index c347cada..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/bronze_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/bronze_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/bronze_dagger_blade_broken.png
deleted file mode 100644
index 7b728ebb..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/bronze_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/bronze_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/bronze_dagger_handle.png
deleted file mode 100644
index c94dd459..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/bronze_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/cactus_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/cactus_dagger_accessory.png
deleted file mode 100644
index d571b312..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/cactus_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/cactus_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/cactus_dagger_blade.png
deleted file mode 100644
index 1fc78ec6..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/cactus_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/cactus_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/cactus_dagger_blade_broken.png
deleted file mode 100644
index c6d55e47..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/cactus_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/cactus_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/cactus_dagger_handle.png
deleted file mode 100644
index 1f5547e9..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/cactus_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/cobalt_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/cobalt_dagger_accessory.png
deleted file mode 100644
index c9cb988d..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/cobalt_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/cobalt_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/cobalt_dagger_blade.png
deleted file mode 100644
index 3a4e2b85..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/cobalt_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/cobalt_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/cobalt_dagger_blade_broken.png
deleted file mode 100644
index 7369392e..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/cobalt_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/cobalt_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/cobalt_dagger_handle.png
deleted file mode 100644
index c9edb826..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/cobalt_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/copper_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/copper_dagger_accessory.png
deleted file mode 100644
index 4db4526d..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/copper_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/copper_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/copper_dagger_blade.png
deleted file mode 100644
index 1c1882ad..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/copper_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/copper_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/copper_dagger_blade_broken.png
deleted file mode 100644
index 3d8eca62..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/copper_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/copper_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/copper_dagger_handle.png
deleted file mode 100644
index 4372d850..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/copper_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/diamond_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/diamond_dagger_effect.png
deleted file mode 100644
index 0c7f9d77..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/diamond_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/electric_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/electric_dagger_effect.png
deleted file mode 100644
index 4bbeec8d..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/electric_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/emerald_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/emerald_dagger_effect.png
deleted file mode 100644
index 496edf53..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/emerald_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/flint_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/flint_dagger_accessory.png
deleted file mode 100644
index c544a25b..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/flint_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/flint_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/flint_dagger_blade.png
deleted file mode 100644
index b527bb7e..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/flint_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/flint_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/flint_dagger_blade_broken.png
deleted file mode 100644
index 95a4cbea..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/flint_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/flint_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/flint_dagger_handle.png
deleted file mode 100644
index d63f1963..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/flint_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/flux_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/flux_dagger_effect.png
deleted file mode 100644
index d8fc37d5..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/flux_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/glowstone_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/glowstone_dagger_effect.png
deleted file mode 100644
index 13fc6e09..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/glowstone_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/ice_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/ice_dagger_effect.png
deleted file mode 100644
index badae5a8..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/ice_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/iron_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/iron_dagger_accessory.png
deleted file mode 100644
index cc08951d..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/iron_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/iron_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/iron_dagger_blade.png
deleted file mode 100644
index 76da8a10..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/iron_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/iron_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/iron_dagger_blade_broken.png
deleted file mode 100644
index 904e55cf..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/iron_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/iron_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/iron_dagger_handle.png
deleted file mode 100644
index fc158163..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/iron_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/lapis_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/lapis_dagger_effect.png
deleted file mode 100644
index 66ec8371..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/lapis_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/lava_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/lava_dagger_effect.png
deleted file mode 100644
index e6b91476..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/lava_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/manyullyn_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/manyullyn_dagger_accessory.png
deleted file mode 100644
index 46fabaff..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/manyullyn_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/manyullyn_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/manyullyn_dagger_blade.png
deleted file mode 100644
index ff8aedd4..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/manyullyn_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/manyullyn_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/manyullyn_dagger_blade_broken.png
deleted file mode 100644
index 3043fe98..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/manyullyn_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/manyullyn_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/manyullyn_dagger_handle.png
deleted file mode 100644
index 4788fe2b..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/manyullyn_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/moss_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/moss_dagger_effect.png
deleted file mode 100644
index 07035981..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/moss_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/necrotic_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/necrotic_dagger_effect.png
deleted file mode 100644
index c506cd0f..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/necrotic_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/netherrack_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/netherrack_dagger_accessory.png
deleted file mode 100644
index 8226bd4c..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/netherrack_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/netherrack_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/netherrack_dagger_blade.png
deleted file mode 100644
index dca3ecd4..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/netherrack_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/netherrack_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/netherrack_dagger_blade_broken.png
deleted file mode 100644
index 179a41a0..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/netherrack_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/netherrack_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/netherrack_dagger_handle.png
deleted file mode 100644
index 52267c15..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/netherrack_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/obsidian_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/obsidian_dagger_accessory.png
deleted file mode 100644
index 7db2dce6..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/obsidian_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/obsidian_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/obsidian_dagger_blade.png
deleted file mode 100644
index a83576a7..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/obsidian_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/obsidian_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/obsidian_dagger_blade_broken.png
deleted file mode 100644
index 50598df3..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/obsidian_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/obsidian_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/obsidian_dagger_handle.png
deleted file mode 100644
index 9107efd7..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/obsidian_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/paper_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/paper_dagger_accessory.png
deleted file mode 100644
index 851792b5..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/paper_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/paper_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/paper_dagger_blade.png
deleted file mode 100644
index 07be11cc..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/paper_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/paper_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/paper_dagger_blade_broken.png
deleted file mode 100644
index a608ca30..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/paper_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/paper_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/paper_dagger_handle.png
deleted file mode 100644
index 78d20cbc..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/paper_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/pigiron_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/pigiron_dagger_accessory.png
deleted file mode 100644
index 2f45e10f..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/pigiron_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/pigiron_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/pigiron_dagger_blade.png
deleted file mode 100644
index c1ff2fc6..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/pigiron_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/pigiron_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/pigiron_dagger_blade_broken.png
deleted file mode 100644
index f495d9c3..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/pigiron_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/pigiron_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/pigiron_dagger_handle.png
deleted file mode 100644
index 039aea77..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/pigiron_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/piston_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/piston_dagger_effect.png
deleted file mode 100644
index b5fa9b53..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/piston_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/quartz_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/quartz_dagger_effect.png
deleted file mode 100644
index 1f2a8d2e..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/quartz_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/redstone_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/redstone_dagger_effect.png
deleted file mode 100644
index 037f28bb..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/redstone_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/reinforced_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/reinforced_dagger_effect.png
deleted file mode 100644
index bce85a5f..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/reinforced_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/silk_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/silk_dagger_effect.png
deleted file mode 100644
index bd6af86f..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/silk_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/slime_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/slime_dagger_accessory.png
deleted file mode 100644
index 7d14577b..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/slime_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/slime_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/slime_dagger_blade.png
deleted file mode 100644
index 2fb15ba9..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/slime_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/slime_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/slime_dagger_blade_broken.png
deleted file mode 100644
index e8c3f18e..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/slime_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/slime_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/slime_dagger_handle.png
deleted file mode 100644
index 02129069..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/slime_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/smite_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/smite_dagger_effect.png
deleted file mode 100644
index 6e8a438e..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/smite_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/spider_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/spider_dagger_effect.png
deleted file mode 100644
index 1769ffa3..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/spider_dagger_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/steel_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/steel_dagger_accessory.png
deleted file mode 100644
index 562dc7d5..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/steel_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/steel_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/steel_dagger_blade.png
deleted file mode 100644
index 3a13d6b2..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/steel_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/steel_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/steel_dagger_blade_broken.png
deleted file mode 100644
index 792715fc..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/steel_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/steel_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/steel_dagger_handle.png
deleted file mode 100644
index 37cfdb7e..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/steel_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/stone_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/stone_dagger_accessory.png
deleted file mode 100644
index 1ff61a54..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/stone_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/stone_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/stone_dagger_blade.png
deleted file mode 100644
index c346eb09..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/stone_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/stone_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/stone_dagger_blade_broken.png
deleted file mode 100644
index 91c168a3..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/stone_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/stone_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/stone_dagger_handle.png
deleted file mode 100644
index 10774ff7..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/stone_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/thaumium_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/thaumium_dagger_accessory.png
deleted file mode 100644
index 5759320d..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/thaumium_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/thaumium_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/thaumium_dagger_blade.png
deleted file mode 100644
index 4dbabcff..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/thaumium_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/thaumium_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/thaumium_dagger_blade_broken.png
deleted file mode 100644
index cd2243d6..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/thaumium_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/thaumium_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/thaumium_dagger_handle.png
deleted file mode 100644
index a23e1712..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/thaumium_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/wood_dagger_accessory.png b/resources/assets/tinker/textures/items/dagger/wood_dagger_accessory.png
deleted file mode 100644
index e2fa701c..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/wood_dagger_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/wood_dagger_blade.png b/resources/assets/tinker/textures/items/dagger/wood_dagger_blade.png
deleted file mode 100644
index 1b9be5cf..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/wood_dagger_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/wood_dagger_blade_broken.png b/resources/assets/tinker/textures/items/dagger/wood_dagger_blade_broken.png
deleted file mode 100644
index 5e9ac412..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/wood_dagger_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/dagger/wood_dagger_handle.png b/resources/assets/tinker/textures/items/dagger/wood_dagger_handle.png
deleted file mode 100644
index 49cfd4b1..00000000
Binary files a/resources/assets/tinker/textures/items/dagger/wood_dagger_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/alumite_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/alumite_excavator_binding.png
deleted file mode 100644
index b6ba7139..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/alumite_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/alumite_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/alumite_excavator_grip.png
deleted file mode 100644
index 192725bb..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/alumite_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/alumite_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/alumite_excavator_handle.png
deleted file mode 100644
index ead7b44c..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/alumite_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/alumite_excavator_head.png b/resources/assets/tinker/textures/items/excavator/alumite_excavator_head.png
deleted file mode 100644
index 1367677d..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/alumite_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/alumite_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/alumite_excavator_head_broken.png
deleted file mode 100644
index c9ca0b9d..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/alumite_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/ardite_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/ardite_excavator_binding.png
deleted file mode 100644
index 1bdbb1cc..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/ardite_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/ardite_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/ardite_excavator_grip.png
deleted file mode 100644
index fc0800ab..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/ardite_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/ardite_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/ardite_excavator_handle.png
deleted file mode 100644
index 6a84cf09..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/ardite_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/ardite_excavator_head.png b/resources/assets/tinker/textures/items/excavator/ardite_excavator_head.png
deleted file mode 100644
index 9e0b601e..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/ardite_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/ardite_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/ardite_excavator_head_broken.png
deleted file mode 100644
index 3121d726..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/ardite_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/beheading_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/beheading_excavator_effect.png
deleted file mode 100644
index e01b644e..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/beheading_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/blaze_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/blaze_excavator_effect.png
deleted file mode 100644
index 58b13b56..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/blaze_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/blueslime_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/blueslime_excavator_binding.png
deleted file mode 100644
index f1fc4f2f..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/blueslime_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/blueslime_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/blueslime_excavator_grip.png
deleted file mode 100644
index 75228db2..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/blueslime_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/blueslime_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/blueslime_excavator_handle.png
deleted file mode 100644
index b6517557..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/blueslime_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/blueslime_excavator_head.png b/resources/assets/tinker/textures/items/excavator/blueslime_excavator_head.png
deleted file mode 100644
index 5ba61b3a..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/blueslime_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/blueslime_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/blueslime_excavator_head_broken.png
deleted file mode 100644
index dcf9b9c1..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/blueslime_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/bone_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/bone_excavator_binding.png
deleted file mode 100644
index 1d9b0424..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/bone_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/bone_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/bone_excavator_grip.png
deleted file mode 100644
index f5c9c90b..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/bone_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/bone_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/bone_excavator_handle.png
deleted file mode 100644
index 30682fdd..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/bone_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/bone_excavator_head.png b/resources/assets/tinker/textures/items/excavator/bone_excavator_head.png
deleted file mode 100644
index 6f0a9591..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/bone_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/bone_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/bone_excavator_head_broken.png
deleted file mode 100644
index 7e3dc11d..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/bone_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/bronze_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/bronze_excavator_binding.png
deleted file mode 100644
index 2f630718..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/bronze_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/bronze_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/bronze_excavator_grip.png
deleted file mode 100644
index de791ba0..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/bronze_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/bronze_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/bronze_excavator_handle.png
deleted file mode 100644
index 045344b9..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/bronze_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/bronze_excavator_head.png b/resources/assets/tinker/textures/items/excavator/bronze_excavator_head.png
deleted file mode 100644
index 59e5d24a..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/bronze_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/bronze_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/bronze_excavator_head_broken.png
deleted file mode 100644
index 23912493..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/bronze_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/cactus_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/cactus_excavator_binding.png
deleted file mode 100644
index 6e03f197..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/cactus_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/cactus_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/cactus_excavator_grip.png
deleted file mode 100644
index de341ce2..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/cactus_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/cactus_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/cactus_excavator_handle.png
deleted file mode 100644
index 9112916a..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/cactus_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/cactus_excavator_head.png b/resources/assets/tinker/textures/items/excavator/cactus_excavator_head.png
deleted file mode 100644
index 3b640ac0..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/cactus_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/cactus_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/cactus_excavator_head_broken.png
deleted file mode 100644
index d648b90e..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/cactus_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/cobalt_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/cobalt_excavator_binding.png
deleted file mode 100644
index b7c98b17..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/cobalt_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/cobalt_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/cobalt_excavator_grip.png
deleted file mode 100644
index 0714b7fc..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/cobalt_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/cobalt_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/cobalt_excavator_handle.png
deleted file mode 100644
index f00f9082..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/cobalt_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/cobalt_excavator_head.png b/resources/assets/tinker/textures/items/excavator/cobalt_excavator_head.png
deleted file mode 100644
index 590d978c..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/cobalt_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/cobalt_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/cobalt_excavator_head_broken.png
deleted file mode 100644
index ecf7bea6..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/cobalt_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/copper_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/copper_excavator_binding.png
deleted file mode 100644
index c4fb28d6..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/copper_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/copper_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/copper_excavator_grip.png
deleted file mode 100644
index efb5a4c2..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/copper_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/copper_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/copper_excavator_handle.png
deleted file mode 100644
index 16bad7bf..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/copper_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/copper_excavator_head.png b/resources/assets/tinker/textures/items/excavator/copper_excavator_head.png
deleted file mode 100644
index 85bab180..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/copper_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/copper_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/copper_excavator_head_broken.png
deleted file mode 100644
index a067aa32..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/copper_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/diamond_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/diamond_excavator_effect.png
deleted file mode 100644
index 530b204a..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/diamond_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/electric_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/electric_excavator_effect.png
deleted file mode 100644
index 3500b50e..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/electric_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/emerald_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/emerald_excavator_effect.png
deleted file mode 100644
index c2b192d6..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/emerald_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/flint_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/flint_excavator_binding.png
deleted file mode 100644
index 92e72f13..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/flint_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/flint_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/flint_excavator_grip.png
deleted file mode 100644
index ab88364f..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/flint_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/flint_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/flint_excavator_handle.png
deleted file mode 100644
index e4b48b24..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/flint_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/flint_excavator_head.png b/resources/assets/tinker/textures/items/excavator/flint_excavator_head.png
deleted file mode 100644
index 9afdbc65..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/flint_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/flint_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/flint_excavator_head_broken.png
deleted file mode 100644
index 628f1dca..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/flint_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/flux_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/flux_excavator_effect.png
deleted file mode 100644
index 29726b78..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/flux_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/ice_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/ice_excavator_effect.png
deleted file mode 100644
index 531efd90..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/ice_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/iron_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/iron_excavator_binding.png
deleted file mode 100644
index c9bb08cb..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/iron_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/iron_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/iron_excavator_grip.png
deleted file mode 100644
index fcec93cc..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/iron_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/iron_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/iron_excavator_handle.png
deleted file mode 100644
index cd7afdc9..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/iron_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/iron_excavator_head.png b/resources/assets/tinker/textures/items/excavator/iron_excavator_head.png
deleted file mode 100644
index abbfdf22..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/iron_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/iron_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/iron_excavator_head_broken.png
deleted file mode 100644
index 435d1184..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/iron_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/lapis_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/lapis_excavator_effect.png
deleted file mode 100644
index 99ea3bea..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/lapis_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/lava_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/lava_excavator_effect.png
deleted file mode 100644
index e8f5d182..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/lava_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_binding.png
deleted file mode 100644
index f21cf482..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_grip.png
deleted file mode 100644
index 02d7a57e..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_handle.png
deleted file mode 100644
index 4542a3aa..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_head.png b/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_head.png
deleted file mode 100644
index 0bd239c2..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_head_broken.png
deleted file mode 100644
index 70e46f67..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/manyullyn_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/moss_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/moss_excavator_effect.png
deleted file mode 100644
index 829cc3f3..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/moss_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/necrotic_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/necrotic_excavator_effect.png
deleted file mode 100644
index 8ad6008b..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/necrotic_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/netherrack_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/netherrack_excavator_binding.png
deleted file mode 100644
index 230c3e25..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/netherrack_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/netherrack_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/netherrack_excavator_grip.png
deleted file mode 100644
index 405c6d59..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/netherrack_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/netherrack_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/netherrack_excavator_handle.png
deleted file mode 100644
index 9b6c5ea6..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/netherrack_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/netherrack_excavator_head.png b/resources/assets/tinker/textures/items/excavator/netherrack_excavator_head.png
deleted file mode 100644
index 91864b4a..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/netherrack_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/netherrack_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/netherrack_excavator_head_broken.png
deleted file mode 100644
index 7ad1670d..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/netherrack_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/obsidian_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/obsidian_excavator_binding.png
deleted file mode 100644
index 2977601a..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/obsidian_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/obsidian_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/obsidian_excavator_grip.png
deleted file mode 100644
index 70be5ef6..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/obsidian_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/obsidian_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/obsidian_excavator_handle.png
deleted file mode 100644
index 65d777ac..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/obsidian_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/obsidian_excavator_head.png b/resources/assets/tinker/textures/items/excavator/obsidian_excavator_head.png
deleted file mode 100644
index 39823d2e..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/obsidian_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/obsidian_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/obsidian_excavator_head_broken.png
deleted file mode 100644
index 70de982d..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/obsidian_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/paper_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/paper_excavator_binding.png
deleted file mode 100644
index 1a020684..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/paper_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/paper_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/paper_excavator_grip.png
deleted file mode 100644
index 1b4f53b8..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/paper_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/paper_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/paper_excavator_handle.png
deleted file mode 100644
index 5cf27a99..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/paper_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/paper_excavator_head.png b/resources/assets/tinker/textures/items/excavator/paper_excavator_head.png
deleted file mode 100644
index 111ba1af..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/paper_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/paper_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/paper_excavator_head_broken.png
deleted file mode 100644
index 97641deb..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/paper_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/pigiron_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/pigiron_excavator_binding.png
deleted file mode 100644
index 483e66ec..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/pigiron_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/pigiron_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/pigiron_excavator_grip.png
deleted file mode 100644
index f74f0df2..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/pigiron_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/pigiron_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/pigiron_excavator_handle.png
deleted file mode 100644
index 3a605d6c..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/pigiron_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/pigiron_excavator_head.png b/resources/assets/tinker/textures/items/excavator/pigiron_excavator_head.png
deleted file mode 100644
index 991f4ac3..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/pigiron_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/pigiron_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/pigiron_excavator_head_broken.png
deleted file mode 100644
index acfd8f9a..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/pigiron_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/piston_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/piston_excavator_effect.png
deleted file mode 100644
index f8cbfe78..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/piston_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/quartz_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/quartz_excavator_effect.png
deleted file mode 100644
index 37287de6..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/quartz_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/redstone_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/redstone_excavator_effect.png
deleted file mode 100644
index e61ee31b..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/redstone_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/reinforced_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/reinforced_excavator_effect.png
deleted file mode 100644
index 5bf28a81..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/reinforced_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/silk_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/silk_excavator_effect.png
deleted file mode 100644
index 0cfdfe4d..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/silk_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/slime_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/slime_excavator_binding.png
deleted file mode 100644
index 73a0ac74..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/slime_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/slime_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/slime_excavator_grip.png
deleted file mode 100644
index 585f89e0..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/slime_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/slime_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/slime_excavator_handle.png
deleted file mode 100644
index a61e88b8..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/slime_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/slime_excavator_head.png b/resources/assets/tinker/textures/items/excavator/slime_excavator_head.png
deleted file mode 100644
index 3ae05f50..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/slime_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/slime_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/slime_excavator_head_broken.png
deleted file mode 100644
index cbe79c35..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/slime_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/smite_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/smite_excavator_effect.png
deleted file mode 100644
index 6391d1d9..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/smite_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/spider_excavator_effect.png b/resources/assets/tinker/textures/items/excavator/spider_excavator_effect.png
deleted file mode 100644
index c5dfc8aa..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/spider_excavator_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/steel_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/steel_excavator_binding.png
deleted file mode 100644
index d54af586..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/steel_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/steel_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/steel_excavator_grip.png
deleted file mode 100644
index 661f6ec4..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/steel_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/steel_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/steel_excavator_handle.png
deleted file mode 100644
index 66d7f10c..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/steel_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/steel_excavator_head.png b/resources/assets/tinker/textures/items/excavator/steel_excavator_head.png
deleted file mode 100644
index 622adccb..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/steel_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/steel_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/steel_excavator_head_broken.png
deleted file mode 100644
index 18948f46..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/steel_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/stone_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/stone_excavator_binding.png
deleted file mode 100644
index 03af970e..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/stone_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/stone_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/stone_excavator_grip.png
deleted file mode 100644
index 9ffb3898..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/stone_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/stone_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/stone_excavator_handle.png
deleted file mode 100644
index 57d0ae16..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/stone_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/stone_excavator_head.png b/resources/assets/tinker/textures/items/excavator/stone_excavator_head.png
deleted file mode 100644
index 090aa21c..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/stone_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/stone_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/stone_excavator_head_broken.png
deleted file mode 100644
index c11b82f4..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/stone_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/thaumium_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/thaumium_excavator_binding.png
deleted file mode 100644
index 434db8d8..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/thaumium_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/thaumium_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/thaumium_excavator_grip.png
deleted file mode 100644
index 84ad5b5a..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/thaumium_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/thaumium_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/thaumium_excavator_handle.png
deleted file mode 100644
index cc8945cf..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/thaumium_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/thaumium_excavator_head.png b/resources/assets/tinker/textures/items/excavator/thaumium_excavator_head.png
deleted file mode 100644
index 36f428d4..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/thaumium_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/thaumium_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/thaumium_excavator_head_broken.png
deleted file mode 100644
index d3cdee59..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/thaumium_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/wood_excavator_binding.png b/resources/assets/tinker/textures/items/excavator/wood_excavator_binding.png
deleted file mode 100644
index 0941d55d..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/wood_excavator_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/wood_excavator_grip.png b/resources/assets/tinker/textures/items/excavator/wood_excavator_grip.png
deleted file mode 100644
index f9839b13..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/wood_excavator_grip.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/wood_excavator_handle.png b/resources/assets/tinker/textures/items/excavator/wood_excavator_handle.png
deleted file mode 100644
index d6503f97..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/wood_excavator_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/wood_excavator_head.png b/resources/assets/tinker/textures/items/excavator/wood_excavator_head.png
deleted file mode 100644
index e2cc1e74..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/wood_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/excavator/wood_excavator_head_broken.png b/resources/assets/tinker/textures/items/excavator/wood_excavator_head_broken.png
deleted file mode 100644
index faf9da49..00000000
Binary files a/resources/assets/tinker/textures/items/excavator/wood_excavator_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/food/apple_diamond.png b/resources/assets/tinker/textures/items/food/apple_diamond.png
deleted file mode 100644
index a8de5b5b..00000000
Binary files a/resources/assets/tinker/textures/items/food/apple_diamond.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/food/edibleblood.png b/resources/assets/tinker/textures/items/food/edibleblood.png
deleted file mode 100644
index 4809b05b..00000000
Binary files a/resources/assets/tinker/textures/items/food/edibleblood.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/food/edibleslime.png b/resources/assets/tinker/textures/items/food/edibleslime.png
deleted file mode 100644
index 1fa82826..00000000
Binary files a/resources/assets/tinker/textures/items/food/edibleslime.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/food/jerky_beef.png b/resources/assets/tinker/textures/items/food/jerky_beef.png
deleted file mode 100644
index 1b2a71fc..00000000
Binary files a/resources/assets/tinker/textures/items/food/jerky_beef.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/food/jerky_blood.png b/resources/assets/tinker/textures/items/food/jerky_blood.png
deleted file mode 100644
index 60f71259..00000000
Binary files a/resources/assets/tinker/textures/items/food/jerky_blood.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/food/jerky_blueslime.png b/resources/assets/tinker/textures/items/food/jerky_blueslime.png
deleted file mode 100644
index 5f3d12b4..00000000
Binary files a/resources/assets/tinker/textures/items/food/jerky_blueslime.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/food/jerky_chicken.png b/resources/assets/tinker/textures/items/food/jerky_chicken.png
deleted file mode 100644
index 90ff30d1..00000000
Binary files a/resources/assets/tinker/textures/items/food/jerky_chicken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/food/jerky_fish.png b/resources/assets/tinker/textures/items/food/jerky_fish.png
deleted file mode 100644
index 3aba2b53..00000000
Binary files a/resources/assets/tinker/textures/items/food/jerky_fish.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/food/jerky_monster.png b/resources/assets/tinker/textures/items/food/jerky_monster.png
deleted file mode 100644
index 00f3217a..00000000
Binary files a/resources/assets/tinker/textures/items/food/jerky_monster.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/food/jerky_mutton.png b/resources/assets/tinker/textures/items/food/jerky_mutton.png
deleted file mode 100644
index 161b36fa..00000000
Binary files a/resources/assets/tinker/textures/items/food/jerky_mutton.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/food/jerky_pork.png b/resources/assets/tinker/textures/items/food/jerky_pork.png
deleted file mode 100644
index 3317e22f..00000000
Binary files a/resources/assets/tinker/textures/items/food/jerky_pork.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/food/mutton_cooked.png b/resources/assets/tinker/textures/items/food/mutton_cooked.png
deleted file mode 100644
index 4f7e5f19..00000000
Binary files a/resources/assets/tinker/textures/items/food/mutton_cooked.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/food/mutton_raw.png b/resources/assets/tinker/textures/items/food/mutton_raw.png
deleted file mode 100644
index 1fbf6663..00000000
Binary files a/resources/assets/tinker/textures/items/food/mutton_raw.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/friedEgg.png b/resources/assets/tinker/textures/items/friedEgg.png
deleted file mode 100644
index 85c17cde..00000000
Binary files a/resources/assets/tinker/textures/items/friedEgg.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/alumite_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/alumite_frypan_handle.png
deleted file mode 100644
index 978e3418..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/alumite_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/alumite_frypan_head.png b/resources/assets/tinker/textures/items/frypan/alumite_frypan_head.png
deleted file mode 100644
index 4c625f64..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/alumite_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/alumite_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/alumite_frypan_head_broken.png
deleted file mode 100644
index 733ce65e..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/alumite_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/ardite_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/ardite_frypan_handle.png
deleted file mode 100644
index 1611844f..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/ardite_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/ardite_frypan_head.png b/resources/assets/tinker/textures/items/frypan/ardite_frypan_head.png
deleted file mode 100644
index 3c8a80cd..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/ardite_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/ardite_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/ardite_frypan_head_broken.png
deleted file mode 100644
index 1997a5f4..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/ardite_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/beheading_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/beheading_frypan_effect.png
deleted file mode 100644
index de0af389..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/beheading_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/blaze_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/blaze_frypan_effect.png
deleted file mode 100644
index 8de25d4d..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/blaze_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/blueslime_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/blueslime_frypan_handle.png
deleted file mode 100644
index f8f190ae..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/blueslime_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/blueslime_frypan_head.png b/resources/assets/tinker/textures/items/frypan/blueslime_frypan_head.png
deleted file mode 100644
index d5e8f414..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/blueslime_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/blueslime_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/blueslime_frypan_head_broken.png
deleted file mode 100644
index 1be73b99..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/blueslime_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/bone_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/bone_frypan_handle.png
deleted file mode 100644
index 125afa0a..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/bone_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/bone_frypan_head.png b/resources/assets/tinker/textures/items/frypan/bone_frypan_head.png
deleted file mode 100644
index d206ee5a..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/bone_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/bone_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/bone_frypan_head_broken.png
deleted file mode 100644
index 15af223b..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/bone_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/bronze_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/bronze_frypan_handle.png
deleted file mode 100644
index 59fc6ad8..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/bronze_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/bronze_frypan_head.png b/resources/assets/tinker/textures/items/frypan/bronze_frypan_head.png
deleted file mode 100644
index ab3e8550..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/bronze_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/bronze_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/bronze_frypan_head_broken.png
deleted file mode 100644
index 880f0539..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/bronze_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/cactus_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/cactus_frypan_handle.png
deleted file mode 100644
index f35d2f65..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/cactus_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/cactus_frypan_head.png b/resources/assets/tinker/textures/items/frypan/cactus_frypan_head.png
deleted file mode 100644
index b33b33d7..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/cactus_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/cactus_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/cactus_frypan_head_broken.png
deleted file mode 100644
index 6ac8b0f0..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/cactus_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/cobalt_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/cobalt_frypan_handle.png
deleted file mode 100644
index 3113f553..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/cobalt_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/cobalt_frypan_head.png b/resources/assets/tinker/textures/items/frypan/cobalt_frypan_head.png
deleted file mode 100644
index cc1a9544..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/cobalt_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/cobalt_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/cobalt_frypan_head_broken.png
deleted file mode 100644
index 4c15463d..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/cobalt_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/copper_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/copper_frypan_handle.png
deleted file mode 100644
index eba4b2e8..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/copper_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/copper_frypan_head.png b/resources/assets/tinker/textures/items/frypan/copper_frypan_head.png
deleted file mode 100644
index dc639529..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/copper_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/copper_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/copper_frypan_head_broken.png
deleted file mode 100644
index 2c61fb6f..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/copper_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/diamond_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/diamond_frypan_effect.png
deleted file mode 100644
index 281b4aee..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/diamond_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/electric_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/electric_frypan_effect.png
deleted file mode 100644
index bad24664..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/electric_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/emerald_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/emerald_frypan_effect.png
deleted file mode 100644
index 6e963298..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/emerald_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/flint_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/flint_frypan_handle.png
deleted file mode 100644
index 54db593f..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/flint_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/flint_frypan_head.png b/resources/assets/tinker/textures/items/frypan/flint_frypan_head.png
deleted file mode 100644
index 6009cf92..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/flint_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/flint_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/flint_frypan_head_broken.png
deleted file mode 100644
index 2272c432..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/flint_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/flux_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/flux_frypan_effect.png
deleted file mode 100644
index 6aa7d5ce..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/flux_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/glowstone_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/glowstone_frypan_effect.png
deleted file mode 100644
index 6a7e9dd2..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/glowstone_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/ice_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/ice_frypan_effect.png
deleted file mode 100644
index f5d61eca..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/ice_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/iron_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/iron_frypan_handle.png
deleted file mode 100644
index a3e992d8..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/iron_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/iron_frypan_head.png b/resources/assets/tinker/textures/items/frypan/iron_frypan_head.png
deleted file mode 100644
index f85920da..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/iron_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/iron_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/iron_frypan_head_broken.png
deleted file mode 100644
index 7217278a..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/iron_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/lapis_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/lapis_frypan_effect.png
deleted file mode 100644
index 007b8ec7..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/lapis_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/lava_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/lava_frypan_effect.png
deleted file mode 100644
index 3f9e6581..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/lava_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/manyullyn_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/manyullyn_frypan_handle.png
deleted file mode 100644
index e370ff67..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/manyullyn_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/manyullyn_frypan_head.png b/resources/assets/tinker/textures/items/frypan/manyullyn_frypan_head.png
deleted file mode 100644
index 1f238d85..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/manyullyn_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/manyullyn_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/manyullyn_frypan_head_broken.png
deleted file mode 100644
index 47fc73ec..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/manyullyn_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/moss_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/moss_frypan_effect.png
deleted file mode 100644
index bc3758e2..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/moss_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/necrotic_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/necrotic_frypan_effect.png
deleted file mode 100644
index 6e5c1435..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/necrotic_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/netherrack_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/netherrack_frypan_handle.png
deleted file mode 100644
index 64acc534..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/netherrack_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/netherrack_frypan_head.png b/resources/assets/tinker/textures/items/frypan/netherrack_frypan_head.png
deleted file mode 100644
index 43857843..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/netherrack_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/netherrack_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/netherrack_frypan_head_broken.png
deleted file mode 100644
index 59b3cb8b..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/netherrack_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/obsidian_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/obsidian_frypan_handle.png
deleted file mode 100644
index 679ece5c..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/obsidian_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/obsidian_frypan_head.png b/resources/assets/tinker/textures/items/frypan/obsidian_frypan_head.png
deleted file mode 100644
index b2b11c71..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/obsidian_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/obsidian_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/obsidian_frypan_head_broken.png
deleted file mode 100644
index aaedc277..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/obsidian_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/paper_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/paper_frypan_handle.png
deleted file mode 100644
index 3cc4c9d0..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/paper_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/paper_frypan_head.png b/resources/assets/tinker/textures/items/frypan/paper_frypan_head.png
deleted file mode 100644
index baa357fc..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/paper_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/paper_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/paper_frypan_head_broken.png
deleted file mode 100644
index 4426a9e1..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/paper_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/pigiron_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/pigiron_frypan_handle.png
deleted file mode 100644
index 27f7a7fb..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/pigiron_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/pigiron_frypan_head.png b/resources/assets/tinker/textures/items/frypan/pigiron_frypan_head.png
deleted file mode 100644
index e4e04db4..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/pigiron_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/pigiron_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/pigiron_frypan_head_broken.png
deleted file mode 100644
index 5e390697..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/pigiron_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/piston_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/piston_frypan_effect.png
deleted file mode 100644
index f8cbfe78..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/piston_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/quartz_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/quartz_frypan_effect.png
deleted file mode 100644
index 93e79193..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/quartz_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/redstone_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/redstone_frypan_effect.png
deleted file mode 100644
index 6a7e9dd2..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/redstone_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/reinforced_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/reinforced_frypan_effect.png
deleted file mode 100644
index da4692e5..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/reinforced_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/silk_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/silk_frypan_effect.png
deleted file mode 100644
index 1f286e9e..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/silk_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/slime_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/slime_frypan_handle.png
deleted file mode 100644
index 5911fe8b..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/slime_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/slime_frypan_head.png b/resources/assets/tinker/textures/items/frypan/slime_frypan_head.png
deleted file mode 100644
index 3ecd2bae..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/slime_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/slime_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/slime_frypan_head_broken.png
deleted file mode 100644
index ae1dbfa2..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/slime_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/smite_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/smite_frypan_effect.png
deleted file mode 100644
index 8a4c7f03..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/smite_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/spider_frypan_effect.png b/resources/assets/tinker/textures/items/frypan/spider_frypan_effect.png
deleted file mode 100644
index 54a31c9e..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/spider_frypan_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/steel_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/steel_frypan_handle.png
deleted file mode 100644
index 711544c7..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/steel_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/steel_frypan_head.png b/resources/assets/tinker/textures/items/frypan/steel_frypan_head.png
deleted file mode 100644
index 34e1d06a..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/steel_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/steel_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/steel_frypan_head_broken.png
deleted file mode 100644
index cd65f574..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/steel_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/stone_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/stone_frypan_handle.png
deleted file mode 100644
index 29031da1..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/stone_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/stone_frypan_head.png b/resources/assets/tinker/textures/items/frypan/stone_frypan_head.png
deleted file mode 100644
index 1c5033fe..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/stone_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/stone_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/stone_frypan_head_broken.png
deleted file mode 100644
index d786d7b5..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/stone_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/thaumium_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/thaumium_frypan_handle.png
deleted file mode 100644
index e016c84d..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/thaumium_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/thaumium_frypan_head.png b/resources/assets/tinker/textures/items/frypan/thaumium_frypan_head.png
deleted file mode 100644
index a63dbfa3..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/thaumium_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/thaumium_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/thaumium_frypan_head_broken.png
deleted file mode 100644
index 43933667..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/thaumium_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/wood_frypan_handle.png b/resources/assets/tinker/textures/items/frypan/wood_frypan_handle.png
deleted file mode 100644
index bdd1f5db..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/wood_frypan_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/wood_frypan_head.png b/resources/assets/tinker/textures/items/frypan/wood_frypan_head.png
deleted file mode 100644
index 6c291aac..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/wood_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/frypan/wood_frypan_head_broken.png b/resources/assets/tinker/textures/items/frypan/wood_frypan_head_broken.png
deleted file mode 100644
index 5e4e508e..00000000
Binary files a/resources/assets/tinker/textures/items/frypan/wood_frypan_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/alumite_hammer_back.png b/resources/assets/tinker/textures/items/hammer/alumite_hammer_back.png
deleted file mode 100644
index 6b071788..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/alumite_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/alumite_hammer_front.png b/resources/assets/tinker/textures/items/hammer/alumite_hammer_front.png
deleted file mode 100644
index fdb4bfd0..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/alumite_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/alumite_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/alumite_hammer_handle.png
deleted file mode 100644
index 099a0172..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/alumite_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/alumite_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/alumite_hammer_handle_broken.png
deleted file mode 100644
index 9f578078..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/alumite_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/alumite_hammer_head.png b/resources/assets/tinker/textures/items/hammer/alumite_hammer_head.png
deleted file mode 100644
index d716c474..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/alumite_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/ardite_hammer_back.png b/resources/assets/tinker/textures/items/hammer/ardite_hammer_back.png
deleted file mode 100644
index 4a283879..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/ardite_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/ardite_hammer_front.png b/resources/assets/tinker/textures/items/hammer/ardite_hammer_front.png
deleted file mode 100644
index f551d754..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/ardite_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/ardite_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/ardite_hammer_handle.png
deleted file mode 100644
index 9944e4af..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/ardite_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/ardite_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/ardite_hammer_handle_broken.png
deleted file mode 100644
index 04239b4d..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/ardite_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/ardite_hammer_head.png b/resources/assets/tinker/textures/items/hammer/ardite_hammer_head.png
deleted file mode 100644
index cd7b7edb..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/ardite_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/beheading_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/beheading_hammer_effect.png
deleted file mode 100644
index 70cf2958..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/beheading_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/blaze_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/blaze_hammer_effect.png
deleted file mode 100644
index 6dee26d0..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/blaze_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/blueslime_hammer_back.png b/resources/assets/tinker/textures/items/hammer/blueslime_hammer_back.png
deleted file mode 100644
index 06310889..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/blueslime_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/blueslime_hammer_front.png b/resources/assets/tinker/textures/items/hammer/blueslime_hammer_front.png
deleted file mode 100644
index 9f27b40f..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/blueslime_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/blueslime_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/blueslime_hammer_handle.png
deleted file mode 100644
index e3475c98..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/blueslime_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/blueslime_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/blueslime_hammer_handle_broken.png
deleted file mode 100644
index e2f6bc1c..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/blueslime_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/blueslime_hammer_head.png b/resources/assets/tinker/textures/items/hammer/blueslime_hammer_head.png
deleted file mode 100644
index e62eaf5d..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/blueslime_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/bone_hammer_back.png b/resources/assets/tinker/textures/items/hammer/bone_hammer_back.png
deleted file mode 100644
index 280767e9..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/bone_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/bone_hammer_front.png b/resources/assets/tinker/textures/items/hammer/bone_hammer_front.png
deleted file mode 100644
index decf55d4..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/bone_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/bone_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/bone_hammer_handle.png
deleted file mode 100644
index d5f99cf9..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/bone_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/bone_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/bone_hammer_handle_broken.png
deleted file mode 100644
index 7e390345..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/bone_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/bone_hammer_head.png b/resources/assets/tinker/textures/items/hammer/bone_hammer_head.png
deleted file mode 100644
index b07ff177..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/bone_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/bronze_hammer_back.png b/resources/assets/tinker/textures/items/hammer/bronze_hammer_back.png
deleted file mode 100644
index b5bfee1e..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/bronze_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/bronze_hammer_front.png b/resources/assets/tinker/textures/items/hammer/bronze_hammer_front.png
deleted file mode 100644
index e5e6a65d..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/bronze_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/bronze_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/bronze_hammer_handle.png
deleted file mode 100644
index 85607bb9..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/bronze_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/bronze_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/bronze_hammer_handle_broken.png
deleted file mode 100644
index 0772347a..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/bronze_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/bronze_hammer_head.png b/resources/assets/tinker/textures/items/hammer/bronze_hammer_head.png
deleted file mode 100644
index 5b652f08..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/bronze_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/cactus_hammer_back.png b/resources/assets/tinker/textures/items/hammer/cactus_hammer_back.png
deleted file mode 100644
index 5ed473f4..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/cactus_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/cactus_hammer_front.png b/resources/assets/tinker/textures/items/hammer/cactus_hammer_front.png
deleted file mode 100644
index c71d56bd..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/cactus_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/cactus_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/cactus_hammer_handle.png
deleted file mode 100644
index 6646c36e..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/cactus_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/cactus_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/cactus_hammer_handle_broken.png
deleted file mode 100644
index 75d0aa56..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/cactus_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/cactus_hammer_head.png b/resources/assets/tinker/textures/items/hammer/cactus_hammer_head.png
deleted file mode 100644
index 86bdce86..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/cactus_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/cobalt_hammer_back.png b/resources/assets/tinker/textures/items/hammer/cobalt_hammer_back.png
deleted file mode 100644
index 084e1bc9..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/cobalt_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/cobalt_hammer_front.png b/resources/assets/tinker/textures/items/hammer/cobalt_hammer_front.png
deleted file mode 100644
index 7c8c8160..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/cobalt_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/cobalt_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/cobalt_hammer_handle.png
deleted file mode 100644
index 8cd6b244..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/cobalt_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/cobalt_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/cobalt_hammer_handle_broken.png
deleted file mode 100644
index 33018457..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/cobalt_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/cobalt_hammer_head.png b/resources/assets/tinker/textures/items/hammer/cobalt_hammer_head.png
deleted file mode 100644
index 90224b50..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/cobalt_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/copper_hammer_back.png b/resources/assets/tinker/textures/items/hammer/copper_hammer_back.png
deleted file mode 100644
index 91e5e598..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/copper_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/copper_hammer_front.png b/resources/assets/tinker/textures/items/hammer/copper_hammer_front.png
deleted file mode 100644
index 5d13bce4..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/copper_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/copper_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/copper_hammer_handle.png
deleted file mode 100644
index a3dec1e5..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/copper_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/copper_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/copper_hammer_handle_broken.png
deleted file mode 100644
index 754cc941..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/copper_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/copper_hammer_head.png b/resources/assets/tinker/textures/items/hammer/copper_hammer_head.png
deleted file mode 100644
index 64fdfc4b..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/copper_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/diamond_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/diamond_hammer_effect.png
deleted file mode 100644
index e320de5f..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/diamond_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/electric_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/electric_hammer_effect.png
deleted file mode 100644
index 5a706d37..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/electric_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/emerald_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/emerald_hammer_effect.png
deleted file mode 100644
index 2ffec164..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/emerald_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/flint_hammer_back.png b/resources/assets/tinker/textures/items/hammer/flint_hammer_back.png
deleted file mode 100644
index f89278b6..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/flint_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/flint_hammer_front.png b/resources/assets/tinker/textures/items/hammer/flint_hammer_front.png
deleted file mode 100644
index 3343e942..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/flint_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/flint_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/flint_hammer_handle.png
deleted file mode 100644
index 4e46036a..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/flint_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/flint_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/flint_hammer_handle_broken.png
deleted file mode 100644
index 950b7ee5..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/flint_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/flint_hammer_head.png b/resources/assets/tinker/textures/items/hammer/flint_hammer_head.png
deleted file mode 100644
index 76708ce6..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/flint_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/flux_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/flux_hammer_effect.png
deleted file mode 100644
index bf52941d..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/flux_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/ice_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/ice_hammer_effect.png
deleted file mode 100644
index feedb8ab..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/ice_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/iron_hammer_back.png b/resources/assets/tinker/textures/items/hammer/iron_hammer_back.png
deleted file mode 100644
index f933e5d9..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/iron_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/iron_hammer_front.png b/resources/assets/tinker/textures/items/hammer/iron_hammer_front.png
deleted file mode 100644
index ed3db494..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/iron_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/iron_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/iron_hammer_handle.png
deleted file mode 100644
index f985f9e8..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/iron_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/iron_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/iron_hammer_handle_broken.png
deleted file mode 100644
index b6570da7..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/iron_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/iron_hammer_head.png b/resources/assets/tinker/textures/items/hammer/iron_hammer_head.png
deleted file mode 100644
index 9c46ba2e..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/iron_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/lapis_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/lapis_hammer_effect.png
deleted file mode 100644
index ac1e8336..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/lapis_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/lava_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/lava_hammer_effect.png
deleted file mode 100644
index ee62bf34..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/lava_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_back.png b/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_back.png
deleted file mode 100644
index a792af92..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_front.png b/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_front.png
deleted file mode 100644
index fb841386..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_handle.png
deleted file mode 100644
index 1767e1c4..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_handle_broken.png
deleted file mode 100644
index 22caae60..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_head.png b/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_head.png
deleted file mode 100644
index 5f237bdb..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/manyullyn_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/moss_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/moss_hammer_effect.png
deleted file mode 100644
index 9d330cb4..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/moss_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/necrotic_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/necrotic_hammer_effect.png
deleted file mode 100644
index 6955c3fe..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/necrotic_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/netherrack_hammer_back.png b/resources/assets/tinker/textures/items/hammer/netherrack_hammer_back.png
deleted file mode 100644
index cab6a8a3..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/netherrack_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/netherrack_hammer_front.png b/resources/assets/tinker/textures/items/hammer/netherrack_hammer_front.png
deleted file mode 100644
index 7f579e32..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/netherrack_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/netherrack_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/netherrack_hammer_handle.png
deleted file mode 100644
index b47e1f00..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/netherrack_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/netherrack_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/netherrack_hammer_handle_broken.png
deleted file mode 100644
index 61a41aec..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/netherrack_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/netherrack_hammer_head.png b/resources/assets/tinker/textures/items/hammer/netherrack_hammer_head.png
deleted file mode 100644
index d8e9dae2..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/netherrack_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/obsidian_hammer_back.png b/resources/assets/tinker/textures/items/hammer/obsidian_hammer_back.png
deleted file mode 100644
index 3bcd5a5a..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/obsidian_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/obsidian_hammer_front.png b/resources/assets/tinker/textures/items/hammer/obsidian_hammer_front.png
deleted file mode 100644
index 4c864a67..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/obsidian_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/obsidian_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/obsidian_hammer_handle.png
deleted file mode 100644
index a29a410c..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/obsidian_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/obsidian_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/obsidian_hammer_handle_broken.png
deleted file mode 100644
index 025d4306..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/obsidian_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/obsidian_hammer_head.png b/resources/assets/tinker/textures/items/hammer/obsidian_hammer_head.png
deleted file mode 100644
index d43ac741..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/obsidian_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/paper_hammer_back.png b/resources/assets/tinker/textures/items/hammer/paper_hammer_back.png
deleted file mode 100644
index 54900af4..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/paper_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/paper_hammer_front.png b/resources/assets/tinker/textures/items/hammer/paper_hammer_front.png
deleted file mode 100644
index dcb9464c..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/paper_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/paper_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/paper_hammer_handle.png
deleted file mode 100644
index 10985cd8..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/paper_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/paper_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/paper_hammer_handle_broken.png
deleted file mode 100644
index bf0e7937..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/paper_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/paper_hammer_head.png b/resources/assets/tinker/textures/items/hammer/paper_hammer_head.png
deleted file mode 100644
index 483c021d..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/paper_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/pigiron_hammer_back.png b/resources/assets/tinker/textures/items/hammer/pigiron_hammer_back.png
deleted file mode 100644
index c626d609..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/pigiron_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/pigiron_hammer_front.png b/resources/assets/tinker/textures/items/hammer/pigiron_hammer_front.png
deleted file mode 100644
index 75f4106d..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/pigiron_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/pigiron_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/pigiron_hammer_handle.png
deleted file mode 100644
index b0cf5617..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/pigiron_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/pigiron_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/pigiron_hammer_handle_broken.png
deleted file mode 100644
index 6d7d155d..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/pigiron_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/pigiron_hammer_head.png b/resources/assets/tinker/textures/items/hammer/pigiron_hammer_head.png
deleted file mode 100644
index af698514..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/pigiron_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/piston_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/piston_hammer_effect.png
deleted file mode 100644
index b58856e2..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/piston_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/quartz_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/quartz_hammer_effect.png
deleted file mode 100644
index e48c5489..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/quartz_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/redstone_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/redstone_hammer_effect.png
deleted file mode 100644
index ed3acdac..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/redstone_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/reinforced_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/reinforced_hammer_effect.png
deleted file mode 100644
index 9870de84..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/reinforced_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/silk_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/silk_hammer_effect.png
deleted file mode 100644
index c3cdc364..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/silk_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/slime_hammer_back.png b/resources/assets/tinker/textures/items/hammer/slime_hammer_back.png
deleted file mode 100644
index 24c92799..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/slime_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/slime_hammer_front.png b/resources/assets/tinker/textures/items/hammer/slime_hammer_front.png
deleted file mode 100644
index 463d9d64..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/slime_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/slime_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/slime_hammer_handle.png
deleted file mode 100644
index 96ff38e1..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/slime_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/slime_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/slime_hammer_handle_broken.png
deleted file mode 100644
index 2c417bc8..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/slime_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/slime_hammer_head.png b/resources/assets/tinker/textures/items/hammer/slime_hammer_head.png
deleted file mode 100644
index e0754951..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/slime_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/smite_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/smite_hammer_effect.png
deleted file mode 100644
index 32ab63b5..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/smite_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/spider_hammer_effect.png b/resources/assets/tinker/textures/items/hammer/spider_hammer_effect.png
deleted file mode 100644
index 9b537001..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/spider_hammer_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/steel_hammer_back.png b/resources/assets/tinker/textures/items/hammer/steel_hammer_back.png
deleted file mode 100644
index 03148b88..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/steel_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/steel_hammer_front.png b/resources/assets/tinker/textures/items/hammer/steel_hammer_front.png
deleted file mode 100644
index 4a463e24..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/steel_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/steel_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/steel_hammer_handle.png
deleted file mode 100644
index 65664304..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/steel_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/steel_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/steel_hammer_handle_broken.png
deleted file mode 100644
index 395007d0..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/steel_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/steel_hammer_head.png b/resources/assets/tinker/textures/items/hammer/steel_hammer_head.png
deleted file mode 100644
index fa987046..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/steel_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/stone_hammer_back.png b/resources/assets/tinker/textures/items/hammer/stone_hammer_back.png
deleted file mode 100644
index c90ec376..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/stone_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/stone_hammer_front.png b/resources/assets/tinker/textures/items/hammer/stone_hammer_front.png
deleted file mode 100644
index e4603ee7..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/stone_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/stone_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/stone_hammer_handle.png
deleted file mode 100644
index 844689d7..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/stone_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/stone_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/stone_hammer_handle_broken.png
deleted file mode 100644
index b4a01478..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/stone_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/stone_hammer_head.png b/resources/assets/tinker/textures/items/hammer/stone_hammer_head.png
deleted file mode 100644
index 59cfb3dc..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/stone_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/thaumium_hammer_back.png b/resources/assets/tinker/textures/items/hammer/thaumium_hammer_back.png
deleted file mode 100644
index f3576c35..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/thaumium_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/thaumium_hammer_front.png b/resources/assets/tinker/textures/items/hammer/thaumium_hammer_front.png
deleted file mode 100644
index f3ceddf7..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/thaumium_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/thaumium_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/thaumium_hammer_handle.png
deleted file mode 100644
index e6bb2cec..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/thaumium_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/thaumium_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/thaumium_hammer_handle_broken.png
deleted file mode 100644
index e149a4a8..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/thaumium_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/thaumium_hammer_head.png b/resources/assets/tinker/textures/items/hammer/thaumium_hammer_head.png
deleted file mode 100644
index 1d6f25f0..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/thaumium_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/wood_hammer_back.png b/resources/assets/tinker/textures/items/hammer/wood_hammer_back.png
deleted file mode 100644
index d683fc67..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/wood_hammer_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/wood_hammer_front.png b/resources/assets/tinker/textures/items/hammer/wood_hammer_front.png
deleted file mode 100644
index 42fb6283..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/wood_hammer_front.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/wood_hammer_handle.png b/resources/assets/tinker/textures/items/hammer/wood_hammer_handle.png
deleted file mode 100644
index baedada6..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/wood_hammer_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/wood_hammer_handle_broken.png b/resources/assets/tinker/textures/items/hammer/wood_hammer_handle_broken.png
deleted file mode 100644
index 19c5f66f..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/wood_hammer_handle_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/hammer/wood_hammer_head.png b/resources/assets/tinker/textures/items/hammer/wood_hammer_head.png
deleted file mode 100644
index a4653065..00000000
Binary files a/resources/assets/tinker/textures/items/hammer/wood_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/alumite_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/alumite_longsword_accessory.png
deleted file mode 100644
index 62777eeb..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/alumite_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/alumite_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/alumite_longsword_blade.png
deleted file mode 100644
index 4452b696..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/alumite_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/alumite_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/alumite_longsword_blade_broken.png
deleted file mode 100644
index 25c0f5a0..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/alumite_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/alumite_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/alumite_longsword_handle.png
deleted file mode 100644
index a9b2b27f..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/alumite_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/ardite_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/ardite_longsword_accessory.png
deleted file mode 100644
index 62c208a1..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/ardite_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/ardite_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/ardite_longsword_blade.png
deleted file mode 100644
index 23662a80..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/ardite_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/ardite_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/ardite_longsword_blade_broken.png
deleted file mode 100644
index 597f6667..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/ardite_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/ardite_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/ardite_longsword_handle.png
deleted file mode 100644
index fdcea399..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/ardite_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/beheading_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/beheading_longsword_effect.png
deleted file mode 100644
index 040131c5..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/beheading_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/blaze_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/blaze_longsword_effect.png
deleted file mode 100644
index 8f1348fd..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/blaze_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/blueslime_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/blueslime_longsword_accessory.png
deleted file mode 100644
index aef3133e..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/blueslime_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/blueslime_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/blueslime_longsword_blade.png
deleted file mode 100644
index c6592837..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/blueslime_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/blueslime_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/blueslime_longsword_blade_broken.png
deleted file mode 100644
index a5340fee..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/blueslime_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/blueslime_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/blueslime_longsword_handle.png
deleted file mode 100644
index 18c7af0f..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/blueslime_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/bone_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/bone_longsword_accessory.png
deleted file mode 100644
index 934deaec..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/bone_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/bone_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/bone_longsword_blade.png
deleted file mode 100644
index cb612775..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/bone_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/bone_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/bone_longsword_blade_broken.png
deleted file mode 100644
index 29161b55..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/bone_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/bone_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/bone_longsword_handle.png
deleted file mode 100644
index 0e04e2c7..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/bone_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/bronze_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/bronze_longsword_accessory.png
deleted file mode 100644
index 32459c2b..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/bronze_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/bronze_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/bronze_longsword_blade.png
deleted file mode 100644
index e5217d32..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/bronze_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/bronze_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/bronze_longsword_blade_broken.png
deleted file mode 100644
index 868d2f49..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/bronze_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/bronze_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/bronze_longsword_handle.png
deleted file mode 100644
index 58e8e967..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/bronze_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/cactus_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/cactus_longsword_accessory.png
deleted file mode 100644
index 5faaaa9d..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/cactus_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/cactus_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/cactus_longsword_blade.png
deleted file mode 100644
index 203e87bd..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/cactus_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/cactus_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/cactus_longsword_blade_broken.png
deleted file mode 100644
index 5e3c4a12..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/cactus_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/cactus_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/cactus_longsword_handle.png
deleted file mode 100644
index f43b229b..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/cactus_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/cobalt_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/cobalt_longsword_accessory.png
deleted file mode 100644
index 09822e2a..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/cobalt_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/cobalt_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/cobalt_longsword_blade.png
deleted file mode 100644
index d656fd57..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/cobalt_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/cobalt_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/cobalt_longsword_blade_broken.png
deleted file mode 100644
index cfab553f..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/cobalt_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/cobalt_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/cobalt_longsword_handle.png
deleted file mode 100644
index 16e1834c..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/cobalt_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/copper_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/copper_longsword_accessory.png
deleted file mode 100644
index 5d643d8d..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/copper_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/copper_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/copper_longsword_blade.png
deleted file mode 100644
index e6e5d7ce..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/copper_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/copper_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/copper_longsword_blade_broken.png
deleted file mode 100644
index bb5276e0..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/copper_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/copper_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/copper_longsword_handle.png
deleted file mode 100644
index 674dd529..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/copper_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/diamond_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/diamond_longsword_effect.png
deleted file mode 100644
index e101b4d5..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/diamond_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/electric_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/electric_longsword_effect.png
deleted file mode 100644
index 6b72e0a3..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/electric_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/emerald_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/emerald_longsword_effect.png
deleted file mode 100644
index d2ae8d58..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/emerald_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/flint_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/flint_longsword_accessory.png
deleted file mode 100644
index 15b0a31c..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/flint_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/flint_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/flint_longsword_blade.png
deleted file mode 100644
index 7fc7e079..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/flint_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/flint_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/flint_longsword_blade_broken.png
deleted file mode 100644
index 137e0ca4..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/flint_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/flint_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/flint_longsword_handle.png
deleted file mode 100644
index f0e650d2..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/flint_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/flux_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/flux_longsword_effect.png
deleted file mode 100644
index d2482447..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/flux_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/glowstone_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/glowstone_longsword_effect.png
deleted file mode 100644
index 8db1d796..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/glowstone_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/ice_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/ice_longsword_effect.png
deleted file mode 100644
index 8ad82be7..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/ice_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/iron_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/iron_longsword_accessory.png
deleted file mode 100644
index 1d08caa6..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/iron_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/iron_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/iron_longsword_blade.png
deleted file mode 100644
index 8a3e99d5..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/iron_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/iron_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/iron_longsword_blade_broken.png
deleted file mode 100644
index f63301d8..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/iron_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/iron_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/iron_longsword_handle.png
deleted file mode 100644
index 36bba9f2..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/iron_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/lapis_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/lapis_longsword_effect.png
deleted file mode 100644
index a612ad5d..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/lapis_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/lava_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/lava_longsword_effect.png
deleted file mode 100644
index 30957827..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/lava_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/manyullyn_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/manyullyn_longsword_accessory.png
deleted file mode 100644
index a3619c91..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/manyullyn_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/manyullyn_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/manyullyn_longsword_blade.png
deleted file mode 100644
index bf9e5d24..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/manyullyn_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/manyullyn_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/manyullyn_longsword_blade_broken.png
deleted file mode 100644
index 2e381112..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/manyullyn_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/manyullyn_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/manyullyn_longsword_handle.png
deleted file mode 100644
index d7e3cb37..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/manyullyn_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/moss_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/moss_longsword_effect.png
deleted file mode 100644
index 3841e214..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/moss_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/necrotic_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/necrotic_longsword_effect.png
deleted file mode 100644
index b87ec94e..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/necrotic_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/netherrack_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/netherrack_longsword_accessory.png
deleted file mode 100644
index 2a5e0916..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/netherrack_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/netherrack_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/netherrack_longsword_blade.png
deleted file mode 100644
index 1258ee08..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/netherrack_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/netherrack_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/netherrack_longsword_blade_broken.png
deleted file mode 100644
index 90dc7175..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/netherrack_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/netherrack_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/netherrack_longsword_handle.png
deleted file mode 100644
index f47198c7..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/netherrack_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/obsidian_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/obsidian_longsword_accessory.png
deleted file mode 100644
index 68b4b45f..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/obsidian_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/obsidian_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/obsidian_longsword_blade.png
deleted file mode 100644
index 522370d4..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/obsidian_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/obsidian_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/obsidian_longsword_blade_broken.png
deleted file mode 100644
index a582555a..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/obsidian_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/obsidian_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/obsidian_longsword_handle.png
deleted file mode 100644
index d5be789c..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/obsidian_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/paper_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/paper_longsword_accessory.png
deleted file mode 100644
index 976a39cf..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/paper_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/paper_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/paper_longsword_blade.png
deleted file mode 100644
index bc0df743..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/paper_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/paper_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/paper_longsword_blade_broken.png
deleted file mode 100644
index b32e1f42..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/paper_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/paper_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/paper_longsword_handle.png
deleted file mode 100644
index 99fc5cf5..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/paper_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/pigiron_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/pigiron_longsword_accessory.png
deleted file mode 100644
index 2e8c37a4..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/pigiron_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/pigiron_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/pigiron_longsword_blade.png
deleted file mode 100644
index 889c0b2e..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/pigiron_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/pigiron_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/pigiron_longsword_blade_broken.png
deleted file mode 100644
index 914a335e..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/pigiron_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/pigiron_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/pigiron_longsword_handle.png
deleted file mode 100644
index 457a1c85..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/pigiron_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/piston_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/piston_longsword_effect.png
deleted file mode 100644
index 6c010d5b..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/piston_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/quartz_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/quartz_longsword_effect.png
deleted file mode 100644
index a2a53644..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/quartz_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/redstone_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/redstone_longsword_effect.png
deleted file mode 100644
index 57f6719c..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/redstone_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/reinforced_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/reinforced_longsword_effect.png
deleted file mode 100644
index 7f2f9425..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/reinforced_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/silk_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/silk_longsword_effect.png
deleted file mode 100644
index 1f501cf2..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/silk_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/slime_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/slime_longsword_accessory.png
deleted file mode 100644
index b05b42cc..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/slime_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/slime_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/slime_longsword_blade.png
deleted file mode 100644
index d23bee36..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/slime_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/slime_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/slime_longsword_blade_broken.png
deleted file mode 100644
index 3ae972ff..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/slime_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/slime_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/slime_longsword_handle.png
deleted file mode 100644
index 275809df..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/slime_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/smite_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/smite_longsword_effect.png
deleted file mode 100644
index edac40f2..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/smite_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/spider_longsword_effect.png b/resources/assets/tinker/textures/items/longsword/spider_longsword_effect.png
deleted file mode 100644
index a6f80043..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/spider_longsword_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/steel_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/steel_longsword_accessory.png
deleted file mode 100644
index 5125c61f..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/steel_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/steel_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/steel_longsword_blade.png
deleted file mode 100644
index 0be314f8..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/steel_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/steel_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/steel_longsword_blade_broken.png
deleted file mode 100644
index 69a7f8bf..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/steel_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/steel_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/steel_longsword_handle.png
deleted file mode 100644
index d63b2d20..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/steel_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/stone_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/stone_longsword_accessory.png
deleted file mode 100644
index 63d86af0..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/stone_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/stone_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/stone_longsword_blade.png
deleted file mode 100644
index a71d5879..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/stone_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/stone_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/stone_longsword_blade_broken.png
deleted file mode 100644
index f657dc73..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/stone_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/stone_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/stone_longsword_handle.png
deleted file mode 100644
index 2f1de108..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/stone_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/thaumium_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/thaumium_longsword_accessory.png
deleted file mode 100644
index 6b3fa0c8..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/thaumium_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/thaumium_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/thaumium_longsword_blade.png
deleted file mode 100644
index d1d230e8..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/thaumium_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/thaumium_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/thaumium_longsword_blade_broken.png
deleted file mode 100644
index 97e06e49..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/thaumium_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/thaumium_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/thaumium_longsword_handle.png
deleted file mode 100644
index 945078a6..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/thaumium_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/wood_longsword_accessory.png b/resources/assets/tinker/textures/items/longsword/wood_longsword_accessory.png
deleted file mode 100644
index d6976c7d..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/wood_longsword_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/wood_longsword_blade.png b/resources/assets/tinker/textures/items/longsword/wood_longsword_blade.png
deleted file mode 100644
index 26c3b178..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/wood_longsword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/wood_longsword_blade_broken.png b/resources/assets/tinker/textures/items/longsword/wood_longsword_blade_broken.png
deleted file mode 100644
index fc8c40b4..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/wood_longsword_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/longsword/wood_longsword_handle.png b/resources/assets/tinker/textures/items/longsword/wood_longsword_handle.png
deleted file mode 100644
index 27c0b26a..00000000
Binary files a/resources/assets/tinker/textures/items/longsword/wood_longsword_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_binding.png
deleted file mode 100644
index 2ca79fb9..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_handle.png
deleted file mode 100644
index efe665d0..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_head.png
deleted file mode 100644
index 0644091e..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_head_broken.png
deleted file mode 100644
index d9957c27..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_shield.png
deleted file mode 100644
index c0c1899e..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/alumite_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_binding.png
deleted file mode 100644
index 151568ba..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_handle.png
deleted file mode 100644
index 57d8ad9e..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_head.png
deleted file mode 100644
index de82521d..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_head_broken.png
deleted file mode 100644
index aa79c36d..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_shield.png
deleted file mode 100644
index fedbe6f0..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/ardite_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/beheading_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/beheading_lumberaxe_effect.png
deleted file mode 100644
index d7c587b8..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/beheading_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/blaze_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/blaze_lumberaxe_effect.png
deleted file mode 100644
index 3b6573dd..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/blaze_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_binding.png
deleted file mode 100644
index 85ffd52d..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_handle.png
deleted file mode 100644
index 3f98ea91..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_head.png
deleted file mode 100644
index fb5bf3ef..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_head_broken.png
deleted file mode 100644
index 514fd973..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_shield.png
deleted file mode 100644
index 3bb72901..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/blueslime_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_binding.png
deleted file mode 100644
index e79274a4..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_handle.png
deleted file mode 100644
index f0eee838..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_head.png
deleted file mode 100644
index 4f03497d..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_head_broken.png
deleted file mode 100644
index 3e5d3d79..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_shield.png
deleted file mode 100644
index 4709cb53..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/bone_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_binding.png
deleted file mode 100644
index 47286439..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_handle.png
deleted file mode 100644
index a5def96a..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_head.png
deleted file mode 100644
index 57e68e66..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_head_broken.png
deleted file mode 100644
index 0d08b8ea..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_shield.png
deleted file mode 100644
index 1a9df33d..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/bronze_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_binding.png
deleted file mode 100644
index 9d7959db..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_handle.png
deleted file mode 100644
index eee44c16..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_head.png
deleted file mode 100644
index 85207cd2..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_head_broken.png
deleted file mode 100644
index a8cb1fbe..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_shield.png
deleted file mode 100644
index fc1d9f99..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/cactus_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_binding.png
deleted file mode 100644
index 06597730..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_handle.png
deleted file mode 100644
index 369043dd..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_head.png
deleted file mode 100644
index 525d3b63..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_head_broken.png
deleted file mode 100644
index 0c74926e..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_shield.png
deleted file mode 100644
index f02a06de..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/cobalt_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_binding.png
deleted file mode 100644
index 80740d81..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_handle.png
deleted file mode 100644
index 1e5ecc13..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_head.png
deleted file mode 100644
index 52d622d4..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_head_broken.png
deleted file mode 100644
index 6a77fc86..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_shield.png
deleted file mode 100644
index 23d9f6ce..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/copper_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/diamond_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/diamond_lumberaxe_effect.png
deleted file mode 100644
index b734d6e0..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/diamond_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/electric_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/electric_lumberaxe_effect.png
deleted file mode 100644
index 52c0f79a..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/electric_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/emerald_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/emerald_lumberaxe_effect.png
deleted file mode 100644
index 1ebe5fcd..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/emerald_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_binding.png
deleted file mode 100644
index 37b345e6..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_handle.png
deleted file mode 100644
index b81e610d..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_head.png
deleted file mode 100644
index ac956d84..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_head_broken.png
deleted file mode 100644
index 05ab2b80..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_shield.png
deleted file mode 100644
index a8677607..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/flint_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/flux_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/flux_lumberaxe_effect.png
deleted file mode 100644
index b9b6d239..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/flux_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/ice_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/ice_lumberaxe_effect.png
deleted file mode 100644
index 838c0af7..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/ice_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_binding.png
deleted file mode 100644
index 20ec3200..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_handle.png
deleted file mode 100644
index aedf5f41..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_head.png
deleted file mode 100644
index beafd5fd..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_head_broken.png
deleted file mode 100644
index 79b0cc11..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_shield.png
deleted file mode 100644
index 5170d326..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/iron_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/lapis_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/lapis_lumberaxe_effect.png
deleted file mode 100644
index f6b1a072..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/lapis_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/lava_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/lava_lumberaxe_effect.png
deleted file mode 100644
index 3f394558..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/lava_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_binding.png
deleted file mode 100644
index d028ef47..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_handle.png
deleted file mode 100644
index 2901dfbb..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_head.png
deleted file mode 100644
index 7a7b9735..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_head_broken.png
deleted file mode 100644
index fb3716d3..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_shield.png
deleted file mode 100644
index 167d3d23..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/manyullyn_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/moss_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/moss_lumberaxe_effect.png
deleted file mode 100644
index 5f75a267..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/moss_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/necrotic_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/necrotic_lumberaxe_effect.png
deleted file mode 100644
index 717711c3..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/necrotic_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_binding.png
deleted file mode 100644
index ecaec56e..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_handle.png
deleted file mode 100644
index b86bb644..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_head.png
deleted file mode 100644
index 9126f4b3..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_head_broken.png
deleted file mode 100644
index 1eb7d69c..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_shield.png
deleted file mode 100644
index 56d1a119..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/netherrack_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_binding.png
deleted file mode 100644
index 22d2ca8e..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_handle.png
deleted file mode 100644
index 4fc4a92e..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_head.png
deleted file mode 100644
index fa23c56c..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_head_broken.png
deleted file mode 100644
index 9ff4db58..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_shield.png
deleted file mode 100644
index 98e85c9a..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/obsidian_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_binding.png
deleted file mode 100644
index ac6ff7df..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_handle.png
deleted file mode 100644
index eae7f334..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_head.png
deleted file mode 100644
index 45fcbb02..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_head_broken.png
deleted file mode 100644
index d0b2fd7d..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_shield.png
deleted file mode 100644
index e525d468..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/paper_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_binding.png
deleted file mode 100644
index 860a8ff0..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_handle.png
deleted file mode 100644
index e7d67b76..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_head.png
deleted file mode 100644
index db77491f..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_head_broken.png
deleted file mode 100644
index b6466c2a..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_shield.png
deleted file mode 100644
index 5d84847a..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/pigiron_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/piston_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/piston_lumberaxe_effect.png
deleted file mode 100644
index 694069fb..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/piston_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/quartz_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/quartz_lumberaxe_effect.png
deleted file mode 100644
index 8c41cd05..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/quartz_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/redstone_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/redstone_lumberaxe_effect.png
deleted file mode 100644
index 47f7602f..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/redstone_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/reinforced_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/reinforced_lumberaxe_effect.png
deleted file mode 100644
index ac8a72ca..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/reinforced_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/silk_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/silk_lumberaxe_effect.png
deleted file mode 100644
index 540aca33..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/silk_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_binding.png
deleted file mode 100644
index f3554c1c..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_handle.png
deleted file mode 100644
index 21fd7f6e..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_head.png
deleted file mode 100644
index 751a5b52..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_head_broken.png
deleted file mode 100644
index e9e508a9..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_shield.png
deleted file mode 100644
index ac4a377a..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/slime_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/smite_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/smite_lumberaxe_effect.png
deleted file mode 100644
index 42e39fc3..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/smite_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/spider_lumberaxe_effect.png b/resources/assets/tinker/textures/items/lumberaxe/spider_lumberaxe_effect.png
deleted file mode 100644
index c73e9d7c..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/spider_lumberaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_binding.png
deleted file mode 100644
index 9db8aed9..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_handle.png
deleted file mode 100644
index 863dcae0..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_head.png
deleted file mode 100644
index 9747ced5..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_head_broken.png
deleted file mode 100644
index 0a86704e..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_shield.png
deleted file mode 100644
index fb013b85..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/steel_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_binding.png
deleted file mode 100644
index 5b8ed045..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_handle.png
deleted file mode 100644
index 7a53a0ca..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_head.png
deleted file mode 100644
index ff6da3ac..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_head_broken.png
deleted file mode 100644
index 3b7da966..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_shield.png
deleted file mode 100644
index cc553ed6..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/stone_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_binding.png
deleted file mode 100644
index aae7bf93..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_handle.png
deleted file mode 100644
index 7a159687..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_head.png
deleted file mode 100644
index b4c45259..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_head_broken.png
deleted file mode 100644
index f129c6a7..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_shield.png
deleted file mode 100644
index 1a139dd2..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/thaumium_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_binding.png b/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_binding.png
deleted file mode 100644
index 0f1cb41c..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_handle.png b/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_handle.png
deleted file mode 100644
index 185cbce6..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_head.png b/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_head.png
deleted file mode 100644
index de7571d8..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_head_broken.png b/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_head_broken.png
deleted file mode 100644
index b281031c..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_shield.png b/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_shield.png
deleted file mode 100644
index d46f03f5..00000000
Binary files a/resources/assets/tinker/textures/items/lumberaxe/wood_lumberaxe_shield.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/armor_cast.png b/resources/assets/tinker/textures/items/materials/armor_cast.png
deleted file mode 100644
index 3b0fc0a9..00000000
Binary files a/resources/assets/tinker/textures/items/materials/armor_cast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/armorcast_boots.png b/resources/assets/tinker/textures/items/materials/armorcast_boots.png
deleted file mode 100644
index ffd0e001..00000000
Binary files a/resources/assets/tinker/textures/items/materials/armorcast_boots.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/armorcast_chestplate.png b/resources/assets/tinker/textures/items/materials/armorcast_chestplate.png
deleted file mode 100644
index 4e1afda7..00000000
Binary files a/resources/assets/tinker/textures/items/materials/armorcast_chestplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/armorcast_helmet.png b/resources/assets/tinker/textures/items/materials/armorcast_helmet.png
deleted file mode 100644
index ea624be4..00000000
Binary files a/resources/assets/tinker/textures/items/materials/armorcast_helmet.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/armorcast_leggings.png b/resources/assets/tinker/textures/items/materials/armorcast_leggings.png
deleted file mode 100644
index e907951b..00000000
Binary files a/resources/assets/tinker/textures/items/materials/armorcast_leggings.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/blank_cast.png b/resources/assets/tinker/textures/items/materials/blank_cast.png
deleted file mode 100644
index 3b0fc0a9..00000000
Binary files a/resources/assets/tinker/textures/items/materials/blank_cast.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/blank_pattern.png b/resources/assets/tinker/textures/items/materials/blank_pattern.png
deleted file mode 100644
index a0888a28..00000000
Binary files a/resources/assets/tinker/textures/items/materials/blank_pattern.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bone_chunk.png b/resources/assets/tinker/textures/items/materials/bone_chunk.png
deleted file mode 100644
index 3d487db0..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bone_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_alubrass.png b/resources/assets/tinker/textures/items/materials/bucket_alubrass.png
deleted file mode 100644
index 00d1819d..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_alubrass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_aluminum.png b/resources/assets/tinker/textures/items/materials/bucket_aluminum.png
deleted file mode 100644
index 120b4c1e..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_aluminum.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_alumite.png b/resources/assets/tinker/textures/items/materials/bucket_alumite.png
deleted file mode 100644
index 4ca65705..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_alumite.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_angmallen.png b/resources/assets/tinker/textures/items/materials/bucket_angmallen.png
deleted file mode 100644
index 00d1819d..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_angmallen.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_ardite.png b/resources/assets/tinker/textures/items/materials/bucket_ardite.png
deleted file mode 100644
index 0db2887b..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_ardite.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_blood.png b/resources/assets/tinker/textures/items/materials/bucket_blood.png
deleted file mode 100644
index c5f1927b..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_blood.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_bronze.png b/resources/assets/tinker/textures/items/materials/bucket_bronze.png
deleted file mode 100644
index fdaf58bf..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_bronze.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_cobalt.png b/resources/assets/tinker/textures/items/materials/bucket_cobalt.png
deleted file mode 100644
index b2475312..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_cobalt.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_copper.png b/resources/assets/tinker/textures/items/materials/bucket_copper.png
deleted file mode 100644
index fe2c9217..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_copper.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_electrum.png b/resources/assets/tinker/textures/items/materials/bucket_electrum.png
deleted file mode 100644
index 00d1819d..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_electrum.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_emerald.png b/resources/assets/tinker/textures/items/materials/bucket_emerald.png
deleted file mode 100644
index bb3580fe..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_emerald.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_ender.png b/resources/assets/tinker/textures/items/materials/bucket_ender.png
deleted file mode 100644
index d957a2c2..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_ender.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_glass.png b/resources/assets/tinker/textures/items/materials/bucket_glass.png
deleted file mode 100644
index 607cb095..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_glass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_glue.png b/resources/assets/tinker/textures/items/materials/bucket_glue.png
deleted file mode 100644
index ddc29bea..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_glue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_gold.png b/resources/assets/tinker/textures/items/materials/bucket_gold.png
deleted file mode 100644
index b3de504b..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_gold.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_invar.png b/resources/assets/tinker/textures/items/materials/bucket_invar.png
deleted file mode 100644
index c8e0f24b..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_invar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_iron.png b/resources/assets/tinker/textures/items/materials/bucket_iron.png
deleted file mode 100644
index be1b08ef..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_iron.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_lead.png b/resources/assets/tinker/textures/items/materials/bucket_lead.png
deleted file mode 100644
index 164cc3ba..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_lead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_manyullyn.png b/resources/assets/tinker/textures/items/materials/bucket_manyullyn.png
deleted file mode 100644
index ee363759..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_manyullyn.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_nickel.png b/resources/assets/tinker/textures/items/materials/bucket_nickel.png
deleted file mode 100644
index ff248756..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_nickel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_obsidian.png b/resources/assets/tinker/textures/items/materials/bucket_obsidian.png
deleted file mode 100644
index 510dbddb..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_obsidian.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_pigiron.png b/resources/assets/tinker/textures/items/materials/bucket_pigiron.png
deleted file mode 100644
index 88ee21af..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_pigiron.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_shiny.png b/resources/assets/tinker/textures/items/materials/bucket_shiny.png
deleted file mode 100644
index b2082441..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_shiny.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_silver.png b/resources/assets/tinker/textures/items/materials/bucket_silver.png
deleted file mode 100644
index c8e81d96..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_silver.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_slime.png b/resources/assets/tinker/textures/items/materials/bucket_slime.png
deleted file mode 100644
index c8e81d96..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_slime.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_steel.png b/resources/assets/tinker/textures/items/materials/bucket_steel.png
deleted file mode 100644
index 8453b904..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_steel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_stone.png b/resources/assets/tinker/textures/items/materials/bucket_stone.png
deleted file mode 100644
index 8453b904..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_stone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/bucket_tin.png b/resources/assets/tinker/textures/items/materials/bucket_tin.png
deleted file mode 100644
index f0ac1f48..00000000
Binary files a/resources/assets/tinker/textures/items/materials/bucket_tin.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_arrowhead.png b/resources/assets/tinker/textures/items/materials/cast_arrowhead.png
deleted file mode 100644
index c29d2f1f..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_axe.png b/resources/assets/tinker/textures/items/materials/cast_axe.png
deleted file mode 100644
index cd1007a3..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_axe.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_binding.png b/resources/assets/tinker/textures/items/materials/cast_binding.png
deleted file mode 100644
index 1e2c8c03..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_bowstring.png b/resources/assets/tinker/textures/items/materials/cast_bowstring.png
deleted file mode 100644
index 3b0fc0a9..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_bowstring.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_broadaxe.png b/resources/assets/tinker/textures/items/materials/cast_broadaxe.png
deleted file mode 100644
index dcf357ca..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_broadaxe.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_chisel.png b/resources/assets/tinker/textures/items/materials/cast_chisel.png
deleted file mode 100644
index 3e4ebe30..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_chisel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_crossbar.png b/resources/assets/tinker/textures/items/materials/cast_crossbar.png
deleted file mode 100644
index e6d5766b..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_excavator.png b/resources/assets/tinker/textures/items/materials/cast_excavator.png
deleted file mode 100644
index f43f7807..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_excavator.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_fletching.png b/resources/assets/tinker/textures/items/materials/cast_fletching.png
deleted file mode 100644
index 3b0fc0a9..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_fletching.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_frypan.png b/resources/assets/tinker/textures/items/materials/cast_frypan.png
deleted file mode 100644
index 0a2fb8ac..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_frypan.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_fullguard.png b/resources/assets/tinker/textures/items/materials/cast_fullguard.png
deleted file mode 100644
index b54b4f93..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_fullguard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_gem.png b/resources/assets/tinker/textures/items/materials/cast_gem.png
deleted file mode 100644
index 5ba859fe..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_gem.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_hammerhead.png b/resources/assets/tinker/textures/items/materials/cast_hammerhead.png
deleted file mode 100644
index 176c9dc7..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_hammerhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_ingot.png b/resources/assets/tinker/textures/items/materials/cast_ingot.png
deleted file mode 100644
index 1467d176..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_ingot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_knifeblade.png b/resources/assets/tinker/textures/items/materials/cast_knifeblade.png
deleted file mode 100644
index b407708b..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_knifeblade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_largeblade.png b/resources/assets/tinker/textures/items/materials/cast_largeblade.png
deleted file mode 100644
index a1b19a13..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_largeblade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_largeguard.png b/resources/assets/tinker/textures/items/materials/cast_largeguard.png
deleted file mode 100644
index ba0f5d95..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_largeguard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_largeplate.png b/resources/assets/tinker/textures/items/materials/cast_largeplate.png
deleted file mode 100644
index ffc8a730..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_largerod.png b/resources/assets/tinker/textures/items/materials/cast_largerod.png
deleted file mode 100644
index 4f20f7cc..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_largerod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_mediumguard.png b/resources/assets/tinker/textures/items/materials/cast_mediumguard.png
deleted file mode 100644
index 2dcf0812..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_mediumguard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_nugget.png b/resources/assets/tinker/textures/items/materials/cast_nugget.png
deleted file mode 100644
index 6a00ef4f..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_nugget.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_pickaxe.png b/resources/assets/tinker/textures/items/materials/cast_pickaxe.png
deleted file mode 100644
index 236f67db..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_pickaxe.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_rod.png b/resources/assets/tinker/textures/items/materials/cast_rod.png
deleted file mode 100644
index 473c991f..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_scythe.png b/resources/assets/tinker/textures/items/materials/cast_scythe.png
deleted file mode 100644
index 99b4d505..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_scythe.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_shovel.png b/resources/assets/tinker/textures/items/materials/cast_shovel.png
deleted file mode 100644
index 32ed3383..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_shovel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_sign.png b/resources/assets/tinker/textures/items/materials/cast_sign.png
deleted file mode 100644
index 6ea2b9b4..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_sign.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_swordblade.png b/resources/assets/tinker/textures/items/materials/cast_swordblade.png
deleted file mode 100644
index 2eff7f2c..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_swordblade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/cast_toughbinding.png b/resources/assets/tinker/textures/items/materials/cast_toughbinding.png
deleted file mode 100644
index a0bb8912..00000000
Binary files a/resources/assets/tinker/textures/items/materials/cast_toughbinding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/grout.png b/resources/assets/tinker/textures/items/materials/grout.png
deleted file mode 100644
index 545f6a43..00000000
Binary files a/resources/assets/tinker/textures/items/materials/grout.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_alubrassingot.png b/resources/assets/tinker/textures/items/materials/material_alubrassingot.png
deleted file mode 100644
index 6e8a9172..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_alubrassingot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_aluminumingot.png b/resources/assets/tinker/textures/items/materials/material_aluminumingot.png
deleted file mode 100644
index 4852a31b..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_aluminumingot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_aluminumraw.png b/resources/assets/tinker/textures/items/materials/material_aluminumraw.png
deleted file mode 100644
index 36ca158a..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_aluminumraw.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_alumiteingot.png b/resources/assets/tinker/textures/items/materials/material_alumiteingot.png
deleted file mode 100644
index 8779fec3..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_alumiteingot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_arditeingot.png b/resources/assets/tinker/textures/items/materials/material_arditeingot.png
deleted file mode 100644
index 87eeea9a..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_arditeingot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_blueslimecrystal.png b/resources/assets/tinker/textures/items/materials/material_blueslimecrystal.png
deleted file mode 100644
index d13bc60f..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_blueslimecrystal.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_bronzeingot.png b/resources/assets/tinker/textures/items/materials/material_bronzeingot.png
deleted file mode 100644
index 980be319..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_bronzeingot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_cobaltingot.png b/resources/assets/tinker/textures/items/materials/material_cobaltingot.png
deleted file mode 100644
index b623a303..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_cobaltingot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_copperingot.png b/resources/assets/tinker/textures/items/materials/material_copperingot.png
deleted file mode 100644
index a6525e74..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_copperingot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_fancydiamond.png b/resources/assets/tinker/textures/items/materials/material_fancydiamond.png
deleted file mode 100644
index c4529093..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_fancydiamond.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_glueball.png b/resources/assets/tinker/textures/items/materials/material_glueball.png
deleted file mode 100644
index 35a0b6b8..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_glueball.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_lavacrystal.png b/resources/assets/tinker/textures/items/materials/material_lavacrystal.png
deleted file mode 100644
index b5a4f9d3..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_lavacrystal.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_manyullyningot.png b/resources/assets/tinker/textures/items/materials/material_manyullyningot.png
deleted file mode 100644
index a9181b76..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_manyullyningot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_mossball.png b/resources/assets/tinker/textures/items/materials/material_mossball.png
deleted file mode 100644
index 95d808bc..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_mossball.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_necroticbone.png b/resources/assets/tinker/textures/items/materials/material_necroticbone.png
deleted file mode 100644
index 23b1ffc3..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_necroticbone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_nugget_alubrass.png b/resources/assets/tinker/textures/items/materials/material_nugget_alubrass.png
deleted file mode 100644
index 4140dabe..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_nugget_alubrass.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_nugget_aluminum.png b/resources/assets/tinker/textures/items/materials/material_nugget_aluminum.png
deleted file mode 100644
index 55f121ab..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_nugget_aluminum.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_nugget_alumite.png b/resources/assets/tinker/textures/items/materials/material_nugget_alumite.png
deleted file mode 100644
index 4cad27ca..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_nugget_alumite.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_nugget_ardite.png b/resources/assets/tinker/textures/items/materials/material_nugget_ardite.png
deleted file mode 100644
index f82ee499..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_nugget_ardite.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_nugget_bronze.png b/resources/assets/tinker/textures/items/materials/material_nugget_bronze.png
deleted file mode 100644
index 960ce169..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_nugget_bronze.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_nugget_cobalt.png b/resources/assets/tinker/textures/items/materials/material_nugget_cobalt.png
deleted file mode 100644
index 2907aeb5..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_nugget_cobalt.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_nugget_copper.png b/resources/assets/tinker/textures/items/materials/material_nugget_copper.png
deleted file mode 100644
index 93e3d4c4..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_nugget_copper.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_nugget_iron.png b/resources/assets/tinker/textures/items/materials/material_nugget_iron.png
deleted file mode 100644
index 7bc4a31a..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_nugget_iron.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_nugget_manyullyn.png b/resources/assets/tinker/textures/items/materials/material_nugget_manyullyn.png
deleted file mode 100644
index c70ccaf9..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_nugget_manyullyn.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_nugget_obsidian.png b/resources/assets/tinker/textures/items/materials/material_nugget_obsidian.png
deleted file mode 100644
index 06a43ece..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_nugget_obsidian.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_nugget_pigiron.png b/resources/assets/tinker/textures/items/materials/material_nugget_pigiron.png
deleted file mode 100644
index 81137558..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_nugget_pigiron.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_nugget_silver.png b/resources/assets/tinker/textures/items/materials/material_nugget_silver.png
deleted file mode 100644
index eb05db80..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_nugget_silver.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_nugget_steel.png b/resources/assets/tinker/textures/items/materials/material_nugget_steel.png
deleted file mode 100644
index f216cfee..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_nugget_steel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_nugget_tin.png b/resources/assets/tinker/textures/items/materials/material_nugget_tin.png
deleted file mode 100644
index 662496ee..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_nugget_tin.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_obsidianingot.png b/resources/assets/tinker/textures/items/materials/material_obsidianingot.png
deleted file mode 100644
index 2418c6e7..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_obsidianingot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_ocelotskin.png b/resources/assets/tinker/textures/items/materials/material_ocelotskin.png
deleted file mode 100644
index 7e87d0a3..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_ocelotskin.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_paperstack.png b/resources/assets/tinker/textures/items/materials/material_paperstack.png
deleted file mode 100644
index dee79ee8..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_paperstack.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_pigironingot.png b/resources/assets/tinker/textures/items/materials/material_pigironingot.png
deleted file mode 100644
index c3ccb8c2..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_pigironingot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_searedbrick.png b/resources/assets/tinker/textures/items/materials/material_searedbrick.png
deleted file mode 100644
index 7be38c30..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_searedbrick.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_searedbrick_nether.png b/resources/assets/tinker/textures/items/materials/material_searedbrick_nether.png
deleted file mode 100644
index ddfe47b1..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_searedbrick_nether.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_silkycloth.png b/resources/assets/tinker/textures/items/materials/material_silkycloth.png
deleted file mode 100644
index 8bd9a3e9..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_silkycloth.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_silkyjewel.png b/resources/assets/tinker/textures/items/materials/material_silkyjewel.png
deleted file mode 100644
index 6740ce22..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_silkyjewel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_slimecrystal.png b/resources/assets/tinker/textures/items/materials/material_slimecrystal.png
deleted file mode 100644
index 7b21dad0..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_slimecrystal.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_steelingot.png b/resources/assets/tinker/textures/items/materials/material_steelingot.png
deleted file mode 100644
index 9b9e1220..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_steelingot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/material_tiningot.png b/resources/assets/tinker/textures/items/materials/material_tiningot.png
deleted file mode 100644
index 009e475b..00000000
Binary files a/resources/assets/tinker/textures/items/materials/material_tiningot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/paper_chunk.png b/resources/assets/tinker/textures/items/materials/paper_chunk.png
deleted file mode 100644
index b72adae8..00000000
Binary files a/resources/assets/tinker/textures/items/materials/paper_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_arrowhead.png b/resources/assets/tinker/textures/items/materials/pattern_arrowhead.png
deleted file mode 100644
index 814b5e63..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_axe.png b/resources/assets/tinker/textures/items/materials/pattern_axe.png
deleted file mode 100644
index cbfcc4dc..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_axe.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_binding.png b/resources/assets/tinker/textures/items/materials/pattern_binding.png
deleted file mode 100644
index d359d9d7..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_bowstring.png b/resources/assets/tinker/textures/items/materials/pattern_bowstring.png
deleted file mode 100644
index d30ac437..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_bowstring.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_broadaxe.png b/resources/assets/tinker/textures/items/materials/pattern_broadaxe.png
deleted file mode 100644
index b6461fe9..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_broadaxe.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_chisel.png b/resources/assets/tinker/textures/items/materials/pattern_chisel.png
deleted file mode 100644
index 68e1557a..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_chisel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_crossbar.png b/resources/assets/tinker/textures/items/materials/pattern_crossbar.png
deleted file mode 100644
index b940f83d..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_excavator.png b/resources/assets/tinker/textures/items/materials/pattern_excavator.png
deleted file mode 100644
index a7348475..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_excavator.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_fletching.png b/resources/assets/tinker/textures/items/materials/pattern_fletching.png
deleted file mode 100644
index 8108f45c..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_fletching.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_frypan.png b/resources/assets/tinker/textures/items/materials/pattern_frypan.png
deleted file mode 100644
index aee08dde..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_frypan.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_fullguard.png b/resources/assets/tinker/textures/items/materials/pattern_fullguard.png
deleted file mode 100644
index 8c4ce73f..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_fullguard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_hammerhead.png b/resources/assets/tinker/textures/items/materials/pattern_hammerhead.png
deleted file mode 100644
index d261f5d0..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_hammerhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_ingot.png b/resources/assets/tinker/textures/items/materials/pattern_ingot.png
deleted file mode 100644
index 40bb221c..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_ingot.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_knifeblade.png b/resources/assets/tinker/textures/items/materials/pattern_knifeblade.png
deleted file mode 100644
index 2a584832..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_knifeblade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_largeblade.png b/resources/assets/tinker/textures/items/materials/pattern_largeblade.png
deleted file mode 100644
index 1f4b963b..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_largeblade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_largeguard.png b/resources/assets/tinker/textures/items/materials/pattern_largeguard.png
deleted file mode 100644
index f3b23c12..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_largeguard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_largeplate.png b/resources/assets/tinker/textures/items/materials/pattern_largeplate.png
deleted file mode 100644
index 2aea3052..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_largerod.png b/resources/assets/tinker/textures/items/materials/pattern_largerod.png
deleted file mode 100644
index f535e8e4..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_largerod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_mediumguard.png b/resources/assets/tinker/textures/items/materials/pattern_mediumguard.png
deleted file mode 100644
index 7744264d..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_mediumguard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_pickaxe.png b/resources/assets/tinker/textures/items/materials/pattern_pickaxe.png
deleted file mode 100644
index e041cd08..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_pickaxe.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_rod.png b/resources/assets/tinker/textures/items/materials/pattern_rod.png
deleted file mode 100644
index 938add37..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_scythe.png b/resources/assets/tinker/textures/items/materials/pattern_scythe.png
deleted file mode 100644
index d0efafd8..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_scythe.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_shovel.png b/resources/assets/tinker/textures/items/materials/pattern_shovel.png
deleted file mode 100644
index f64fb0a2..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_shovel.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_sign.png b/resources/assets/tinker/textures/items/materials/pattern_sign.png
deleted file mode 100644
index 35858c3b..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_sign.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_spike.png b/resources/assets/tinker/textures/items/materials/pattern_spike.png
deleted file mode 100644
index ea58bee7..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_spike.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_swordblade.png b/resources/assets/tinker/textures/items/materials/pattern_swordblade.png
deleted file mode 100644
index 6546ee66..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_swordblade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/pattern_toughbinding.png b/resources/assets/tinker/textures/items/materials/pattern_toughbinding.png
deleted file mode 100644
index c74ba151..00000000
Binary files a/resources/assets/tinker/textures/items/materials/pattern_toughbinding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/materials/tinkerbook_diary.png b/resources/assets/tinker/textures/items/materials/tinkerbook_diary.png
deleted file mode 100644
index 70feacb0..00000000
Binary files a/resources/assets/tinker/textures/items/materials/tinkerbook_diary.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/alumite_mattock_back.png b/resources/assets/tinker/textures/items/mattock/alumite_mattock_back.png
deleted file mode 100644
index e54ad9e9..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/alumite_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/alumite_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/alumite_mattock_handle.png
deleted file mode 100644
index e750f724..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/alumite_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/alumite_mattock_head.png b/resources/assets/tinker/textures/items/mattock/alumite_mattock_head.png
deleted file mode 100644
index 91a2c455..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/alumite_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/alumite_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/alumite_mattock_head_broken.png
deleted file mode 100644
index 4828acd0..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/alumite_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/ardite_mattock_back.png b/resources/assets/tinker/textures/items/mattock/ardite_mattock_back.png
deleted file mode 100644
index 66248f48..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/ardite_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/ardite_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/ardite_mattock_handle.png
deleted file mode 100644
index eb82e4a8..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/ardite_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/ardite_mattock_head.png b/resources/assets/tinker/textures/items/mattock/ardite_mattock_head.png
deleted file mode 100644
index a22d4db5..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/ardite_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/ardite_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/ardite_mattock_head_broken.png
deleted file mode 100644
index ecedac52..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/ardite_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/beheading_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/beheading_mattock_effect.png
deleted file mode 100644
index 005a5635..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/beheading_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/blaze_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/blaze_mattock_effect.png
deleted file mode 100644
index b4381f95..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/blaze_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/blueslime_mattock_back.png b/resources/assets/tinker/textures/items/mattock/blueslime_mattock_back.png
deleted file mode 100644
index ed6520f0..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/blueslime_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/blueslime_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/blueslime_mattock_handle.png
deleted file mode 100644
index f04295ca..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/blueslime_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/blueslime_mattock_head.png b/resources/assets/tinker/textures/items/mattock/blueslime_mattock_head.png
deleted file mode 100644
index dd28eba5..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/blueslime_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/blueslime_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/blueslime_mattock_head_broken.png
deleted file mode 100644
index a82a3e05..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/blueslime_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/bone_mattock_back.png b/resources/assets/tinker/textures/items/mattock/bone_mattock_back.png
deleted file mode 100644
index 9fe34888..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/bone_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/bone_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/bone_mattock_handle.png
deleted file mode 100644
index 87fbdc44..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/bone_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/bone_mattock_head.png b/resources/assets/tinker/textures/items/mattock/bone_mattock_head.png
deleted file mode 100644
index 051b5469..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/bone_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/bone_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/bone_mattock_head_broken.png
deleted file mode 100644
index 8638ada9..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/bone_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/bronze_mattock_back.png b/resources/assets/tinker/textures/items/mattock/bronze_mattock_back.png
deleted file mode 100644
index c67056fe..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/bronze_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/bronze_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/bronze_mattock_handle.png
deleted file mode 100644
index 5dc0618f..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/bronze_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/bronze_mattock_head.png b/resources/assets/tinker/textures/items/mattock/bronze_mattock_head.png
deleted file mode 100644
index b9b548b3..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/bronze_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/bronze_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/bronze_mattock_head_broken.png
deleted file mode 100644
index 0f6bab0f..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/bronze_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/cactus_mattock_back.png b/resources/assets/tinker/textures/items/mattock/cactus_mattock_back.png
deleted file mode 100644
index e7a03398..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/cactus_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/cactus_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/cactus_mattock_handle.png
deleted file mode 100644
index 356fc083..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/cactus_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/cactus_mattock_head.png b/resources/assets/tinker/textures/items/mattock/cactus_mattock_head.png
deleted file mode 100644
index c4bb564e..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/cactus_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/cactus_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/cactus_mattock_head_broken.png
deleted file mode 100644
index ee89fcb2..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/cactus_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/cobalt_mattock_back.png b/resources/assets/tinker/textures/items/mattock/cobalt_mattock_back.png
deleted file mode 100644
index 786e2d41..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/cobalt_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/cobalt_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/cobalt_mattock_handle.png
deleted file mode 100644
index e2113afc..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/cobalt_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/cobalt_mattock_head.png b/resources/assets/tinker/textures/items/mattock/cobalt_mattock_head.png
deleted file mode 100644
index a10a8f1c..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/cobalt_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/cobalt_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/cobalt_mattock_head_broken.png
deleted file mode 100644
index 1887874d..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/cobalt_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/copper_mattock_back.png b/resources/assets/tinker/textures/items/mattock/copper_mattock_back.png
deleted file mode 100644
index c6eeb0dc..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/copper_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/copper_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/copper_mattock_handle.png
deleted file mode 100644
index 4236dbdd..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/copper_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/copper_mattock_head.png b/resources/assets/tinker/textures/items/mattock/copper_mattock_head.png
deleted file mode 100644
index 2874da17..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/copper_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/copper_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/copper_mattock_head_broken.png
deleted file mode 100644
index e31f5ba2..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/copper_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/diamond_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/diamond_mattock_effect.png
deleted file mode 100644
index 48803587..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/diamond_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/electric_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/electric_mattock_effect.png
deleted file mode 100644
index 03c4a674..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/electric_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/emerald_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/emerald_mattock_effect.png
deleted file mode 100644
index c880b3d7..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/emerald_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/flint_mattock_back.png b/resources/assets/tinker/textures/items/mattock/flint_mattock_back.png
deleted file mode 100644
index dc4fd22c..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/flint_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/flint_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/flint_mattock_handle.png
deleted file mode 100644
index 547ce73d..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/flint_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/flint_mattock_head.png b/resources/assets/tinker/textures/items/mattock/flint_mattock_head.png
deleted file mode 100644
index 79d3b991..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/flint_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/flint_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/flint_mattock_head_broken.png
deleted file mode 100644
index dcc576fe..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/flint_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/flux_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/flux_mattock_effect.png
deleted file mode 100644
index 6fa9440e..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/flux_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/glowstone_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/glowstone_mattock_effect.png
deleted file mode 100644
index 10bdf19c..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/glowstone_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/ice_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/ice_mattock_effect.png
deleted file mode 100644
index fb07d195..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/ice_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/iron_mattock_back.png b/resources/assets/tinker/textures/items/mattock/iron_mattock_back.png
deleted file mode 100644
index 271ee4ef..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/iron_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/iron_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/iron_mattock_handle.png
deleted file mode 100644
index a26a3a66..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/iron_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/iron_mattock_head.png b/resources/assets/tinker/textures/items/mattock/iron_mattock_head.png
deleted file mode 100644
index 4e3a65b5..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/iron_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/iron_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/iron_mattock_head_broken.png
deleted file mode 100644
index e388b04f..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/iron_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/lapis_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/lapis_mattock_effect.png
deleted file mode 100644
index 3a29bd6f..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/lapis_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/lava_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/lava_mattock_effect.png
deleted file mode 100644
index 92df8c98..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/lava_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/manyullyn_mattock_back.png b/resources/assets/tinker/textures/items/mattock/manyullyn_mattock_back.png
deleted file mode 100644
index 4e43ba58..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/manyullyn_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/manyullyn_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/manyullyn_mattock_handle.png
deleted file mode 100644
index 5e7e7789..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/manyullyn_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/manyullyn_mattock_head.png b/resources/assets/tinker/textures/items/mattock/manyullyn_mattock_head.png
deleted file mode 100644
index f30cd74d..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/manyullyn_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/manyullyn_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/manyullyn_mattock_head_broken.png
deleted file mode 100644
index 893f77e9..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/manyullyn_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/moss_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/moss_mattock_effect.png
deleted file mode 100644
index f7ec2024..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/moss_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/necrotic_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/necrotic_mattock_effect.png
deleted file mode 100644
index 945822dc..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/necrotic_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/netherrack_mattock_back.png b/resources/assets/tinker/textures/items/mattock/netherrack_mattock_back.png
deleted file mode 100644
index df266c97..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/netherrack_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/netherrack_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/netherrack_mattock_handle.png
deleted file mode 100644
index 147867cc..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/netherrack_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/netherrack_mattock_head.png b/resources/assets/tinker/textures/items/mattock/netherrack_mattock_head.png
deleted file mode 100644
index 646a71f2..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/netherrack_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/netherrack_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/netherrack_mattock_head_broken.png
deleted file mode 100644
index b5ca8054..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/netherrack_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/obsidian_mattock_back.png b/resources/assets/tinker/textures/items/mattock/obsidian_mattock_back.png
deleted file mode 100644
index 39c5a878..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/obsidian_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/obsidian_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/obsidian_mattock_handle.png
deleted file mode 100644
index 390d03be..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/obsidian_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/obsidian_mattock_head.png b/resources/assets/tinker/textures/items/mattock/obsidian_mattock_head.png
deleted file mode 100644
index d4d6c3b8..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/obsidian_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/obsidian_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/obsidian_mattock_head_broken.png
deleted file mode 100644
index c4ce747b..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/obsidian_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/paper_mattock_back.png b/resources/assets/tinker/textures/items/mattock/paper_mattock_back.png
deleted file mode 100644
index 9601dfba..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/paper_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/paper_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/paper_mattock_handle.png
deleted file mode 100644
index ef6ec59d..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/paper_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/paper_mattock_head.png b/resources/assets/tinker/textures/items/mattock/paper_mattock_head.png
deleted file mode 100644
index 5fcac7e5..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/paper_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/paper_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/paper_mattock_head_broken.png
deleted file mode 100644
index 29913632..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/paper_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/pigiron_mattock_back.png b/resources/assets/tinker/textures/items/mattock/pigiron_mattock_back.png
deleted file mode 100644
index 37cd3c75..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/pigiron_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/pigiron_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/pigiron_mattock_handle.png
deleted file mode 100644
index ef9fc4a2..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/pigiron_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/pigiron_mattock_head.png b/resources/assets/tinker/textures/items/mattock/pigiron_mattock_head.png
deleted file mode 100644
index a6222c69..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/pigiron_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/pigiron_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/pigiron_mattock_head_broken.png
deleted file mode 100644
index d0b4f42c..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/pigiron_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/piston_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/piston_mattock_effect.png
deleted file mode 100644
index 1fdb2564..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/piston_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/quartz_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/quartz_mattock_effect.png
deleted file mode 100644
index 052fa309..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/quartz_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/redstone_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/redstone_mattock_effect.png
deleted file mode 100644
index a54276e2..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/redstone_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/reinforced_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/reinforced_mattock_effect.png
deleted file mode 100644
index 5fdfc4b5..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/reinforced_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/silk_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/silk_mattock_effect.png
deleted file mode 100644
index 31037ff1..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/silk_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/slime_mattock_back.png b/resources/assets/tinker/textures/items/mattock/slime_mattock_back.png
deleted file mode 100644
index 4aed6cbe..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/slime_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/slime_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/slime_mattock_handle.png
deleted file mode 100644
index 51398815..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/slime_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/slime_mattock_head.png b/resources/assets/tinker/textures/items/mattock/slime_mattock_head.png
deleted file mode 100644
index 0f0b3c35..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/slime_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/slime_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/slime_mattock_head_broken.png
deleted file mode 100644
index 54072bea..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/slime_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/smite_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/smite_mattock_effect.png
deleted file mode 100644
index c9fb290e..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/smite_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/spider_mattock_effect.png b/resources/assets/tinker/textures/items/mattock/spider_mattock_effect.png
deleted file mode 100644
index 3c35407f..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/spider_mattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/steel_mattock_back.png b/resources/assets/tinker/textures/items/mattock/steel_mattock_back.png
deleted file mode 100644
index dc235268..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/steel_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/steel_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/steel_mattock_handle.png
deleted file mode 100644
index 880395fc..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/steel_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/steel_mattock_head.png b/resources/assets/tinker/textures/items/mattock/steel_mattock_head.png
deleted file mode 100644
index 3728338e..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/steel_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/steel_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/steel_mattock_head_broken.png
deleted file mode 100644
index 6b6b56e8..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/steel_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/stone_mattock_back.png b/resources/assets/tinker/textures/items/mattock/stone_mattock_back.png
deleted file mode 100644
index a78863d5..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/stone_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/stone_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/stone_mattock_handle.png
deleted file mode 100644
index 6573815e..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/stone_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/stone_mattock_head.png b/resources/assets/tinker/textures/items/mattock/stone_mattock_head.png
deleted file mode 100644
index 469a9239..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/stone_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/stone_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/stone_mattock_head_broken.png
deleted file mode 100644
index 15f09a1a..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/stone_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/thaumium_mattock_back.png b/resources/assets/tinker/textures/items/mattock/thaumium_mattock_back.png
deleted file mode 100644
index 86acd064..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/thaumium_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/thaumium_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/thaumium_mattock_handle.png
deleted file mode 100644
index c4a82103..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/thaumium_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/thaumium_mattock_head.png b/resources/assets/tinker/textures/items/mattock/thaumium_mattock_head.png
deleted file mode 100644
index f93a35dd..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/thaumium_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/thaumium_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/thaumium_mattock_head_broken.png
deleted file mode 100644
index 96df8a29..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/thaumium_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/wood_mattock_back.png b/resources/assets/tinker/textures/items/mattock/wood_mattock_back.png
deleted file mode 100644
index efedfc9a..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/wood_mattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/wood_mattock_handle.png b/resources/assets/tinker/textures/items/mattock/wood_mattock_handle.png
deleted file mode 100644
index 9b86c982..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/wood_mattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/wood_mattock_head.png b/resources/assets/tinker/textures/items/mattock/wood_mattock_head.png
deleted file mode 100644
index 2209f2ee..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/wood_mattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/mattock/wood_mattock_head_broken.png b/resources/assets/tinker/textures/items/mattock/wood_mattock_head_broken.png
deleted file mode 100644
index ad404197..00000000
Binary files a/resources/assets/tinker/textures/items/mattock/wood_mattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/metalball.png b/resources/assets/tinker/textures/items/metalball.png
deleted file mode 100644
index 7e8f33bf..00000000
Binary files a/resources/assets/tinker/textures/items/metalball.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/miniheart_red.png b/resources/assets/tinker/textures/items/miniheart_red.png
deleted file mode 100644
index 258b6303..00000000
Binary files a/resources/assets/tinker/textures/items/miniheart_red.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/oreberries/oreberry_aluminum.png b/resources/assets/tinker/textures/items/oreberries/oreberry_aluminum.png
deleted file mode 100644
index 80993e88..00000000
Binary files a/resources/assets/tinker/textures/items/oreberries/oreberry_aluminum.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/oreberries/oreberry_copper.png b/resources/assets/tinker/textures/items/oreberries/oreberry_copper.png
deleted file mode 100644
index aab963bb..00000000
Binary files a/resources/assets/tinker/textures/items/oreberries/oreberry_copper.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/oreberries/oreberry_essence.png b/resources/assets/tinker/textures/items/oreberries/oreberry_essence.png
deleted file mode 100644
index 06e04d2b..00000000
Binary files a/resources/assets/tinker/textures/items/oreberries/oreberry_essence.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/oreberries/oreberry_essence.png.mcmeta b/resources/assets/tinker/textures/items/oreberries/oreberry_essence.png.mcmeta
deleted file mode 100644
index 1d6239fb..00000000
--- a/resources/assets/tinker/textures/items/oreberries/oreberry_essence.png.mcmeta
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "animation": {
- "frametime": 2,
- "frames": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 5,
- 4,
- 3,
- 2,
- 1
- ]
- }
-}
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/items/oreberries/oreberry_essence.txt b/resources/assets/tinker/textures/items/oreberries/oreberry_essence.txt
deleted file mode 100644
index f31124a4..00000000
--- a/resources/assets/tinker/textures/items/oreberries/oreberry_essence.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-0*2
-1*2
-2*2
-3*2
-4*2
-5*2
-6*2
-5*2
-4*2
-3*2
-2*2
-1*2
diff --git a/resources/assets/tinker/textures/items/oreberries/oreberry_gold.png b/resources/assets/tinker/textures/items/oreberries/oreberry_gold.png
deleted file mode 100644
index c6f39c35..00000000
Binary files a/resources/assets/tinker/textures/items/oreberries/oreberry_gold.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/oreberries/oreberry_iron.png b/resources/assets/tinker/textures/items/oreberries/oreberry_iron.png
deleted file mode 100644
index 1b20f6e6..00000000
Binary files a/resources/assets/tinker/textures/items/oreberries/oreberry_iron.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/oreberries/oreberry_silver.png b/resources/assets/tinker/textures/items/oreberries/oreberry_silver.png
deleted file mode 100644
index 098df935..00000000
Binary files a/resources/assets/tinker/textures/items/oreberries/oreberry_silver.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/oreberries/oreberry_tin.png b/resources/assets/tinker/textures/items/oreberries/oreberry_tin.png
deleted file mode 100644
index c7bac25f..00000000
Binary files a/resources/assets/tinker/textures/items/oreberries/oreberry_tin.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alubrass_chunk.png b/resources/assets/tinker/textures/items/parts/alubrass_chunk.png
deleted file mode 100644
index 191164df..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alubrass_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/aluminum_chunk.png b/resources/assets/tinker/textures/items/parts/aluminum_chunk.png
deleted file mode 100644
index 2991e00c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/aluminum_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_arrowhead.png b/resources/assets/tinker/textures/items/parts/alumite_arrowhead.png
deleted file mode 100644
index 9c563d0b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_axe_head.png b/resources/assets/tinker/textures/items/parts/alumite_axe_head.png
deleted file mode 100644
index 1b467420..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_battlesign_head.png b/resources/assets/tinker/textures/items/parts/alumite_battlesign_head.png
deleted file mode 100644
index c7780cbb..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_binding.png b/resources/assets/tinker/textures/items/parts/alumite_binding.png
deleted file mode 100644
index a3acce5e..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_chisel_head.png b/resources/assets/tinker/textures/items/parts/alumite_chisel_head.png
deleted file mode 100644
index bbff9ae2..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_chunk.png b/resources/assets/tinker/textures/items/parts/alumite_chunk.png
deleted file mode 100644
index fd5a8cc3..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_crossbar.png b/resources/assets/tinker/textures/items/parts/alumite_crossbar.png
deleted file mode 100644
index 467e4f12..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_excavator_head.png b/resources/assets/tinker/textures/items/parts/alumite_excavator_head.png
deleted file mode 100644
index e6950270..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_frypan_head.png b/resources/assets/tinker/textures/items/parts/alumite_frypan_head.png
deleted file mode 100644
index ba5c762a..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_full_guard.png b/resources/assets/tinker/textures/items/parts/alumite_full_guard.png
deleted file mode 100644
index e47a080c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_hammer_head.png b/resources/assets/tinker/textures/items/parts/alumite_hammer_head.png
deleted file mode 100644
index 776be8e7..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_knife_blade.png b/resources/assets/tinker/textures/items/parts/alumite_knife_blade.png
deleted file mode 100644
index dca867d0..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_large_guard.png b/resources/assets/tinker/textures/items/parts/alumite_large_guard.png
deleted file mode 100644
index 6fa5f4f6..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/alumite_large_sword_blade.png
deleted file mode 100644
index cc3b6da5..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_largeplate.png b/resources/assets/tinker/textures/items/parts/alumite_largeplate.png
deleted file mode 100644
index f94f069e..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/alumite_lumberaxe_head.png
deleted file mode 100644
index 53572171..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_medium_guard.png b/resources/assets/tinker/textures/items/parts/alumite_medium_guard.png
deleted file mode 100644
index bd18f4ea..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/alumite_pickaxe_head.png
deleted file mode 100644
index ddcd55a5..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_rod.png b/resources/assets/tinker/textures/items/parts/alumite_rod.png
deleted file mode 100644
index 7da9f1d2..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_scythe_head.png b/resources/assets/tinker/textures/items/parts/alumite_scythe_head.png
deleted file mode 100644
index 7d202113..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_shovel_head.png b/resources/assets/tinker/textures/items/parts/alumite_shovel_head.png
deleted file mode 100644
index 3ae87129..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_sword_blade.png b/resources/assets/tinker/textures/items/parts/alumite_sword_blade.png
deleted file mode 100644
index 6c798445..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_toughbind.png b/resources/assets/tinker/textures/items/parts/alumite_toughbind.png
deleted file mode 100644
index 4a313f1b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/alumite_toughrod.png b/resources/assets/tinker/textures/items/parts/alumite_toughrod.png
deleted file mode 100644
index 14af1854..00000000
Binary files a/resources/assets/tinker/textures/items/parts/alumite_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_arrowhead.png b/resources/assets/tinker/textures/items/parts/ardite_arrowhead.png
deleted file mode 100644
index 5468df11..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_axe_head.png b/resources/assets/tinker/textures/items/parts/ardite_axe_head.png
deleted file mode 100644
index 7efdb229..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_battlesign_head.png b/resources/assets/tinker/textures/items/parts/ardite_battlesign_head.png
deleted file mode 100644
index 476b9ede..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_binding.png b/resources/assets/tinker/textures/items/parts/ardite_binding.png
deleted file mode 100644
index e3adccdf..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_chisel_head.png b/resources/assets/tinker/textures/items/parts/ardite_chisel_head.png
deleted file mode 100644
index 4101ce5b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_chunk.png b/resources/assets/tinker/textures/items/parts/ardite_chunk.png
deleted file mode 100644
index a32dd938..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_crossbar.png b/resources/assets/tinker/textures/items/parts/ardite_crossbar.png
deleted file mode 100644
index 8a4ce322..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_excavator_head.png b/resources/assets/tinker/textures/items/parts/ardite_excavator_head.png
deleted file mode 100644
index 18d28b0a..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_frypan_head.png b/resources/assets/tinker/textures/items/parts/ardite_frypan_head.png
deleted file mode 100644
index 43ba8635..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_full_guard.png b/resources/assets/tinker/textures/items/parts/ardite_full_guard.png
deleted file mode 100644
index 3644e21b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_hammer_head.png b/resources/assets/tinker/textures/items/parts/ardite_hammer_head.png
deleted file mode 100644
index 4d5e2ade..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_knife_blade.png b/resources/assets/tinker/textures/items/parts/ardite_knife_blade.png
deleted file mode 100644
index 60043284..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_large_guard.png b/resources/assets/tinker/textures/items/parts/ardite_large_guard.png
deleted file mode 100644
index 81ff464d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/ardite_large_sword_blade.png
deleted file mode 100644
index 54cb1ba2..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_largeplate.png b/resources/assets/tinker/textures/items/parts/ardite_largeplate.png
deleted file mode 100644
index c1d8a205..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/ardite_lumberaxe_head.png
deleted file mode 100644
index dadf08ed..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_medium_guard.png b/resources/assets/tinker/textures/items/parts/ardite_medium_guard.png
deleted file mode 100644
index 0ac649bf..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/ardite_pickaxe_head.png
deleted file mode 100644
index 552b12e5..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_rod.png b/resources/assets/tinker/textures/items/parts/ardite_rod.png
deleted file mode 100644
index b6176634..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_scythe_head.png b/resources/assets/tinker/textures/items/parts/ardite_scythe_head.png
deleted file mode 100644
index eac28c08..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_shovel_head.png b/resources/assets/tinker/textures/items/parts/ardite_shovel_head.png
deleted file mode 100644
index 8bc267b1..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_sword_blade.png b/resources/assets/tinker/textures/items/parts/ardite_sword_blade.png
deleted file mode 100644
index d0230e60..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_toughbind.png b/resources/assets/tinker/textures/items/parts/ardite_toughbind.png
deleted file mode 100644
index f731b80f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/ardite_toughrod.png b/resources/assets/tinker/textures/items/parts/ardite_toughrod.png
deleted file mode 100644
index 9b614d43..00000000
Binary files a/resources/assets/tinker/textures/items/parts/ardite_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_arrowhead.png b/resources/assets/tinker/textures/items/parts/blueslime_arrowhead.png
deleted file mode 100644
index 733aa61e..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_axe_head.png b/resources/assets/tinker/textures/items/parts/blueslime_axe_head.png
deleted file mode 100644
index 787db8d1..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_battlesign_head.png b/resources/assets/tinker/textures/items/parts/blueslime_battlesign_head.png
deleted file mode 100644
index 0d4a1d77..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_binding.png b/resources/assets/tinker/textures/items/parts/blueslime_binding.png
deleted file mode 100644
index bee42f5e..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_chisel_head.png b/resources/assets/tinker/textures/items/parts/blueslime_chisel_head.png
deleted file mode 100644
index 0c3efcb7..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_chunk.png b/resources/assets/tinker/textures/items/parts/blueslime_chunk.png
deleted file mode 100644
index 91b7d5ad..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_crossbar.png b/resources/assets/tinker/textures/items/parts/blueslime_crossbar.png
deleted file mode 100644
index 6f3eea24..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_excavator_head.png b/resources/assets/tinker/textures/items/parts/blueslime_excavator_head.png
deleted file mode 100644
index 8329fcbd..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_fletching.png b/resources/assets/tinker/textures/items/parts/blueslime_fletching.png
deleted file mode 100644
index 8ac5d2d9..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_fletching.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_frypan_head.png b/resources/assets/tinker/textures/items/parts/blueslime_frypan_head.png
deleted file mode 100644
index 817ce67c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_full_guard.png b/resources/assets/tinker/textures/items/parts/blueslime_full_guard.png
deleted file mode 100644
index bcb50b9c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_hammer_head.png b/resources/assets/tinker/textures/items/parts/blueslime_hammer_head.png
deleted file mode 100644
index e7f8535c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_knife_blade.png b/resources/assets/tinker/textures/items/parts/blueslime_knife_blade.png
deleted file mode 100644
index 19a40611..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_large_guard.png b/resources/assets/tinker/textures/items/parts/blueslime_large_guard.png
deleted file mode 100644
index b1bef698..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/blueslime_large_sword_blade.png
deleted file mode 100644
index ff4cccae..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_largeplate.png b/resources/assets/tinker/textures/items/parts/blueslime_largeplate.png
deleted file mode 100644
index 65daea6c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/blueslime_lumberaxe_head.png
deleted file mode 100644
index 7d305adb..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_medium_guard.png b/resources/assets/tinker/textures/items/parts/blueslime_medium_guard.png
deleted file mode 100644
index 95325230..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/blueslime_pickaxe_head.png
deleted file mode 100644
index 1f455b88..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_rod.png b/resources/assets/tinker/textures/items/parts/blueslime_rod.png
deleted file mode 100644
index 73f684b3..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_scythe_head.png b/resources/assets/tinker/textures/items/parts/blueslime_scythe_head.png
deleted file mode 100644
index 7c11a4ab..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_shovel_head.png b/resources/assets/tinker/textures/items/parts/blueslime_shovel_head.png
deleted file mode 100644
index 6ccff96b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_sword_blade.png b/resources/assets/tinker/textures/items/parts/blueslime_sword_blade.png
deleted file mode 100644
index c1634e3b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_toughbind.png b/resources/assets/tinker/textures/items/parts/blueslime_toughbind.png
deleted file mode 100644
index 91fa26e1..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/blueslime_toughrod.png b/resources/assets/tinker/textures/items/parts/blueslime_toughrod.png
deleted file mode 100644
index 1b371fb9..00000000
Binary files a/resources/assets/tinker/textures/items/parts/blueslime_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_arrowhead.png b/resources/assets/tinker/textures/items/parts/bone_arrowhead.png
deleted file mode 100644
index 0b71baf2..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_axe_head.png b/resources/assets/tinker/textures/items/parts/bone_axe_head.png
deleted file mode 100644
index 12c154d9..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_battlesign_head.png b/resources/assets/tinker/textures/items/parts/bone_battlesign_head.png
deleted file mode 100644
index e5603661..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_binding.png b/resources/assets/tinker/textures/items/parts/bone_binding.png
deleted file mode 100644
index fb78b520..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_chisel_head.png b/resources/assets/tinker/textures/items/parts/bone_chisel_head.png
deleted file mode 100644
index 4ad6a56f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_chunk.png b/resources/assets/tinker/textures/items/parts/bone_chunk.png
deleted file mode 100644
index 40bb221c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_crossbar.png b/resources/assets/tinker/textures/items/parts/bone_crossbar.png
deleted file mode 100644
index 24116df5..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_excavator_head.png b/resources/assets/tinker/textures/items/parts/bone_excavator_head.png
deleted file mode 100644
index 40682de6..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_frypan_head.png b/resources/assets/tinker/textures/items/parts/bone_frypan_head.png
deleted file mode 100644
index 52559935..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_full_guard.png b/resources/assets/tinker/textures/items/parts/bone_full_guard.png
deleted file mode 100644
index 83db7dd0..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_hammer_head.png b/resources/assets/tinker/textures/items/parts/bone_hammer_head.png
deleted file mode 100644
index f3116b1b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_knife_blade.png b/resources/assets/tinker/textures/items/parts/bone_knife_blade.png
deleted file mode 100644
index 3371d29f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_large_guard.png b/resources/assets/tinker/textures/items/parts/bone_large_guard.png
deleted file mode 100644
index 7bb069df..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/bone_large_sword_blade.png
deleted file mode 100644
index f73a57d3..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_largeplate.png b/resources/assets/tinker/textures/items/parts/bone_largeplate.png
deleted file mode 100644
index ba4ebad4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/bone_lumberaxe_head.png
deleted file mode 100644
index 916509bb..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_medium_guard.png b/resources/assets/tinker/textures/items/parts/bone_medium_guard.png
deleted file mode 100644
index 4d5ea068..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/bone_pickaxe_head.png
deleted file mode 100644
index 55d19b40..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_rod.png b/resources/assets/tinker/textures/items/parts/bone_rod.png
deleted file mode 100644
index 0903213e..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_scythe_head.png b/resources/assets/tinker/textures/items/parts/bone_scythe_head.png
deleted file mode 100644
index a0f02813..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_shovel_head.png b/resources/assets/tinker/textures/items/parts/bone_shovel_head.png
deleted file mode 100644
index ecb56505..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_sword_blade.png b/resources/assets/tinker/textures/items/parts/bone_sword_blade.png
deleted file mode 100644
index 60781215..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_toughbind.png b/resources/assets/tinker/textures/items/parts/bone_toughbind.png
deleted file mode 100644
index 0045464c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bone_toughrod.png b/resources/assets/tinker/textures/items/parts/bone_toughrod.png
deleted file mode 100644
index 4da3c20e..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bone_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_arrowhead.png b/resources/assets/tinker/textures/items/parts/bronze_arrowhead.png
deleted file mode 100644
index 3a0f60bc..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_axe_head.png b/resources/assets/tinker/textures/items/parts/bronze_axe_head.png
deleted file mode 100644
index 5ce68844..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_battlesign_head.png b/resources/assets/tinker/textures/items/parts/bronze_battlesign_head.png
deleted file mode 100644
index 3549e555..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_binding.png b/resources/assets/tinker/textures/items/parts/bronze_binding.png
deleted file mode 100644
index 4be2cd36..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_chisel_head.png b/resources/assets/tinker/textures/items/parts/bronze_chisel_head.png
deleted file mode 100644
index 222fb37f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_chunk.png b/resources/assets/tinker/textures/items/parts/bronze_chunk.png
deleted file mode 100644
index 4b14d5f9..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_crossbar.png b/resources/assets/tinker/textures/items/parts/bronze_crossbar.png
deleted file mode 100644
index 796fed26..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_excavator_head.png b/resources/assets/tinker/textures/items/parts/bronze_excavator_head.png
deleted file mode 100644
index 5fcad1ba..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_frypan_head.png b/resources/assets/tinker/textures/items/parts/bronze_frypan_head.png
deleted file mode 100644
index 1a6c039d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_full_guard.png b/resources/assets/tinker/textures/items/parts/bronze_full_guard.png
deleted file mode 100644
index 952edae5..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_hammer_head.png b/resources/assets/tinker/textures/items/parts/bronze_hammer_head.png
deleted file mode 100644
index a4951de8..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_knife_blade.png b/resources/assets/tinker/textures/items/parts/bronze_knife_blade.png
deleted file mode 100644
index e6b98278..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_large_guard.png b/resources/assets/tinker/textures/items/parts/bronze_large_guard.png
deleted file mode 100644
index 54881b7f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/bronze_large_sword_blade.png
deleted file mode 100644
index 5590d0f7..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_largeplate.png b/resources/assets/tinker/textures/items/parts/bronze_largeplate.png
deleted file mode 100644
index 7de1d498..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/bronze_lumberaxe_head.png
deleted file mode 100644
index fc065c5d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_medium_guard.png b/resources/assets/tinker/textures/items/parts/bronze_medium_guard.png
deleted file mode 100644
index 33cbc05b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/bronze_pickaxe_head.png
deleted file mode 100644
index d636f5b3..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_rod.png b/resources/assets/tinker/textures/items/parts/bronze_rod.png
deleted file mode 100644
index 3008f5a3..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_scythe_head.png b/resources/assets/tinker/textures/items/parts/bronze_scythe_head.png
deleted file mode 100644
index edb05d22..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_shovel_head.png b/resources/assets/tinker/textures/items/parts/bronze_shovel_head.png
deleted file mode 100644
index 6bf0530b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_sword_blade.png b/resources/assets/tinker/textures/items/parts/bronze_sword_blade.png
deleted file mode 100644
index fd1be00f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_toughbind.png b/resources/assets/tinker/textures/items/parts/bronze_toughbind.png
deleted file mode 100644
index 356142fe..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/bronze_toughrod.png b/resources/assets/tinker/textures/items/parts/bronze_toughrod.png
deleted file mode 100644
index d43985d4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/bronze_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_arrowhead.png b/resources/assets/tinker/textures/items/parts/cactus_arrowhead.png
deleted file mode 100644
index a7f66bac..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_axe_head.png b/resources/assets/tinker/textures/items/parts/cactus_axe_head.png
deleted file mode 100644
index b5c12ee5..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_battlesign_head.png b/resources/assets/tinker/textures/items/parts/cactus_battlesign_head.png
deleted file mode 100644
index f0b317bc..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_binding.png b/resources/assets/tinker/textures/items/parts/cactus_binding.png
deleted file mode 100644
index 6d92d836..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_chisel_head.png b/resources/assets/tinker/textures/items/parts/cactus_chisel_head.png
deleted file mode 100644
index 89dc541c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_chunk.png b/resources/assets/tinker/textures/items/parts/cactus_chunk.png
deleted file mode 100644
index 4c939ef1..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_crossbar.png b/resources/assets/tinker/textures/items/parts/cactus_crossbar.png
deleted file mode 100644
index c76accd7..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_excavator_head.png b/resources/assets/tinker/textures/items/parts/cactus_excavator_head.png
deleted file mode 100644
index c239b627..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_frypan_head.png b/resources/assets/tinker/textures/items/parts/cactus_frypan_head.png
deleted file mode 100644
index 410293c3..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_full_guard.png b/resources/assets/tinker/textures/items/parts/cactus_full_guard.png
deleted file mode 100644
index 6104f554..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_hammer_head.png b/resources/assets/tinker/textures/items/parts/cactus_hammer_head.png
deleted file mode 100644
index 5189be08..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_knife_blade.png b/resources/assets/tinker/textures/items/parts/cactus_knife_blade.png
deleted file mode 100644
index b0ace0e8..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_large_guard.png b/resources/assets/tinker/textures/items/parts/cactus_large_guard.png
deleted file mode 100644
index 0dcc1543..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/cactus_large_sword_blade.png
deleted file mode 100644
index 737b16a0..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_largeplate.png b/resources/assets/tinker/textures/items/parts/cactus_largeplate.png
deleted file mode 100644
index ee5b10fa..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/cactus_lumberaxe_head.png
deleted file mode 100644
index 8b2bb730..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_medium_guard.png b/resources/assets/tinker/textures/items/parts/cactus_medium_guard.png
deleted file mode 100644
index 7525f4a4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/cactus_pickaxe_head.png
deleted file mode 100644
index 731d741c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_rod.png b/resources/assets/tinker/textures/items/parts/cactus_rod.png
deleted file mode 100644
index 97e1f039..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_scythe_head.png b/resources/assets/tinker/textures/items/parts/cactus_scythe_head.png
deleted file mode 100644
index a0f83272..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_shovel_head.png b/resources/assets/tinker/textures/items/parts/cactus_shovel_head.png
deleted file mode 100644
index d406858c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_sword_blade.png b/resources/assets/tinker/textures/items/parts/cactus_sword_blade.png
deleted file mode 100644
index 2bf0131f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_toughbind.png b/resources/assets/tinker/textures/items/parts/cactus_toughbind.png
deleted file mode 100644
index 4d6308b0..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cactus_toughrod.png b/resources/assets/tinker/textures/items/parts/cactus_toughrod.png
deleted file mode 100644
index cdac09fb..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cactus_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_arrowhead.png b/resources/assets/tinker/textures/items/parts/cobalt_arrowhead.png
deleted file mode 100644
index 8added18..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_axe_head.png b/resources/assets/tinker/textures/items/parts/cobalt_axe_head.png
deleted file mode 100644
index 114c1a03..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_battlesign_head.png b/resources/assets/tinker/textures/items/parts/cobalt_battlesign_head.png
deleted file mode 100644
index 9e92f913..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_binding.png b/resources/assets/tinker/textures/items/parts/cobalt_binding.png
deleted file mode 100644
index a13487a6..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_chisel_head.png b/resources/assets/tinker/textures/items/parts/cobalt_chisel_head.png
deleted file mode 100644
index f999b9af..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_chunk.png b/resources/assets/tinker/textures/items/parts/cobalt_chunk.png
deleted file mode 100644
index eff1f94f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_crossbar.png b/resources/assets/tinker/textures/items/parts/cobalt_crossbar.png
deleted file mode 100644
index 31a2a3d2..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_excavator_head.png b/resources/assets/tinker/textures/items/parts/cobalt_excavator_head.png
deleted file mode 100644
index c71f6adb..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_frypan_head.png b/resources/assets/tinker/textures/items/parts/cobalt_frypan_head.png
deleted file mode 100644
index 7b997565..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_full_guard.png b/resources/assets/tinker/textures/items/parts/cobalt_full_guard.png
deleted file mode 100644
index 5447a95d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_hammer_head.png b/resources/assets/tinker/textures/items/parts/cobalt_hammer_head.png
deleted file mode 100644
index 0dabe0a1..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_knife_blade.png b/resources/assets/tinker/textures/items/parts/cobalt_knife_blade.png
deleted file mode 100644
index cce4970c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_large_guard.png b/resources/assets/tinker/textures/items/parts/cobalt_large_guard.png
deleted file mode 100644
index 263031ac..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/cobalt_large_sword_blade.png
deleted file mode 100644
index a82eacae..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_largeplate.png b/resources/assets/tinker/textures/items/parts/cobalt_largeplate.png
deleted file mode 100644
index a5c71712..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/cobalt_lumberaxe_head.png
deleted file mode 100644
index 58b9a538..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_medium_guard.png b/resources/assets/tinker/textures/items/parts/cobalt_medium_guard.png
deleted file mode 100644
index 824f43b6..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/cobalt_pickaxe_head.png
deleted file mode 100644
index ec72c3be..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_rod.png b/resources/assets/tinker/textures/items/parts/cobalt_rod.png
deleted file mode 100644
index d4766531..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_scythe_head.png b/resources/assets/tinker/textures/items/parts/cobalt_scythe_head.png
deleted file mode 100644
index 18fedfaa..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_shovel_head.png b/resources/assets/tinker/textures/items/parts/cobalt_shovel_head.png
deleted file mode 100644
index d4077016..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_sword_blade.png b/resources/assets/tinker/textures/items/parts/cobalt_sword_blade.png
deleted file mode 100644
index fa485869..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_toughbind.png b/resources/assets/tinker/textures/items/parts/cobalt_toughbind.png
deleted file mode 100644
index 7dd58835..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/cobalt_toughrod.png b/resources/assets/tinker/textures/items/parts/cobalt_toughrod.png
deleted file mode 100644
index e13d3d03..00000000
Binary files a/resources/assets/tinker/textures/items/parts/cobalt_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_arrowhead.png b/resources/assets/tinker/textures/items/parts/copper_arrowhead.png
deleted file mode 100644
index 708bb43a..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_axe_head.png b/resources/assets/tinker/textures/items/parts/copper_axe_head.png
deleted file mode 100644
index 75c8409f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_battlesign_head.png b/resources/assets/tinker/textures/items/parts/copper_battlesign_head.png
deleted file mode 100644
index e32c5130..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_binding.png b/resources/assets/tinker/textures/items/parts/copper_binding.png
deleted file mode 100644
index c2ead674..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_chisel_head.png b/resources/assets/tinker/textures/items/parts/copper_chisel_head.png
deleted file mode 100644
index 286ff9d4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_chunk.png b/resources/assets/tinker/textures/items/parts/copper_chunk.png
deleted file mode 100644
index 87844075..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_crossbar.png b/resources/assets/tinker/textures/items/parts/copper_crossbar.png
deleted file mode 100644
index bd75879e..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_excavator_head.png b/resources/assets/tinker/textures/items/parts/copper_excavator_head.png
deleted file mode 100644
index fcfcb9da..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_frypan_head.png b/resources/assets/tinker/textures/items/parts/copper_frypan_head.png
deleted file mode 100644
index ad0c4cfa..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_full_guard.png b/resources/assets/tinker/textures/items/parts/copper_full_guard.png
deleted file mode 100644
index aa7e07df..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_hammer_head.png b/resources/assets/tinker/textures/items/parts/copper_hammer_head.png
deleted file mode 100644
index c16b3a1a..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_knife_blade.png b/resources/assets/tinker/textures/items/parts/copper_knife_blade.png
deleted file mode 100644
index aa71eafe..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_large_guard.png b/resources/assets/tinker/textures/items/parts/copper_large_guard.png
deleted file mode 100644
index 9f00b807..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/copper_large_sword_blade.png
deleted file mode 100644
index d69250ec..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_largeplate.png b/resources/assets/tinker/textures/items/parts/copper_largeplate.png
deleted file mode 100644
index c4f51157..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/copper_lumberaxe_head.png
deleted file mode 100644
index 85fdcc06..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_medium_guard.png b/resources/assets/tinker/textures/items/parts/copper_medium_guard.png
deleted file mode 100644
index 1ae57e26..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/copper_pickaxe_head.png
deleted file mode 100644
index 1405f216..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_rod.png b/resources/assets/tinker/textures/items/parts/copper_rod.png
deleted file mode 100644
index 4fa5f386..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_scythe_head.png b/resources/assets/tinker/textures/items/parts/copper_scythe_head.png
deleted file mode 100644
index 6db7d10c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_shovel_head.png b/resources/assets/tinker/textures/items/parts/copper_shovel_head.png
deleted file mode 100644
index e1a32495..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_sword_blade.png b/resources/assets/tinker/textures/items/parts/copper_sword_blade.png
deleted file mode 100644
index 3a9c56b6..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_toughbind.png b/resources/assets/tinker/textures/items/parts/copper_toughbind.png
deleted file mode 100644
index b8ada8fc..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/copper_toughrod.png b/resources/assets/tinker/textures/items/parts/copper_toughrod.png
deleted file mode 100644
index 14e8a5f6..00000000
Binary files a/resources/assets/tinker/textures/items/parts/copper_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/feather_fletching.png b/resources/assets/tinker/textures/items/parts/feather_fletching.png
deleted file mode 100644
index a898c6ce..00000000
Binary files a/resources/assets/tinker/textures/items/parts/feather_fletching.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flamestring_bowstring.png b/resources/assets/tinker/textures/items/parts/flamestring_bowstring.png
deleted file mode 100644
index b9dd5049..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flamestring_bowstring.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_arrowhead.png b/resources/assets/tinker/textures/items/parts/flint_arrowhead.png
deleted file mode 100644
index 3c1fe903..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_axe_head.png b/resources/assets/tinker/textures/items/parts/flint_axe_head.png
deleted file mode 100644
index 8394aee6..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_battlesign_head.png b/resources/assets/tinker/textures/items/parts/flint_battlesign_head.png
deleted file mode 100644
index 328c89c9..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_binding.png b/resources/assets/tinker/textures/items/parts/flint_binding.png
deleted file mode 100644
index ad716273..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_chisel_head.png b/resources/assets/tinker/textures/items/parts/flint_chisel_head.png
deleted file mode 100644
index d131c612..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_chunk.png b/resources/assets/tinker/textures/items/parts/flint_chunk.png
deleted file mode 100644
index 8f21f83b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_crossbar.png b/resources/assets/tinker/textures/items/parts/flint_crossbar.png
deleted file mode 100644
index 0580b56c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_excavator_head.png b/resources/assets/tinker/textures/items/parts/flint_excavator_head.png
deleted file mode 100644
index 4b8a6cf9..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_frypan_head.png b/resources/assets/tinker/textures/items/parts/flint_frypan_head.png
deleted file mode 100644
index 6baeea23..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_full_guard.png b/resources/assets/tinker/textures/items/parts/flint_full_guard.png
deleted file mode 100644
index 89bc3f5a..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_hammer_head.png b/resources/assets/tinker/textures/items/parts/flint_hammer_head.png
deleted file mode 100644
index 2524cf08..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_knife_blade.png b/resources/assets/tinker/textures/items/parts/flint_knife_blade.png
deleted file mode 100644
index b29c4006..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_large_guard.png b/resources/assets/tinker/textures/items/parts/flint_large_guard.png
deleted file mode 100644
index d85fa3f7..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/flint_large_sword_blade.png
deleted file mode 100644
index c0cd0728..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_largeplate.png b/resources/assets/tinker/textures/items/parts/flint_largeplate.png
deleted file mode 100644
index 43976b17..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/flint_lumberaxe_head.png
deleted file mode 100644
index 3350264a..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_medium_guard.png b/resources/assets/tinker/textures/items/parts/flint_medium_guard.png
deleted file mode 100644
index 9bd33e62..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/flint_pickaxe_head.png
deleted file mode 100644
index 386cfa63..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_rod.png b/resources/assets/tinker/textures/items/parts/flint_rod.png
deleted file mode 100644
index e3992943..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_scythe_head.png b/resources/assets/tinker/textures/items/parts/flint_scythe_head.png
deleted file mode 100644
index f5c5cce5..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_shovel_head.png b/resources/assets/tinker/textures/items/parts/flint_shovel_head.png
deleted file mode 100644
index 6f73c011..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_sword_blade.png b/resources/assets/tinker/textures/items/parts/flint_sword_blade.png
deleted file mode 100644
index 00e764c1..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_toughbind.png b/resources/assets/tinker/textures/items/parts/flint_toughbind.png
deleted file mode 100644
index 70a7d769..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/flint_toughrod.png b/resources/assets/tinker/textures/items/parts/flint_toughrod.png
deleted file mode 100644
index 8fc5db5d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/flint_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_arrowhead.png b/resources/assets/tinker/textures/items/parts/iron_arrowhead.png
deleted file mode 100644
index 2325b342..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_axe_head.png b/resources/assets/tinker/textures/items/parts/iron_axe_head.png
deleted file mode 100644
index 947c023d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_battlesign_head.png b/resources/assets/tinker/textures/items/parts/iron_battlesign_head.png
deleted file mode 100644
index 58651a7a..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_binding.png b/resources/assets/tinker/textures/items/parts/iron_binding.png
deleted file mode 100644
index 8ead0447..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_chisel_head.png b/resources/assets/tinker/textures/items/parts/iron_chisel_head.png
deleted file mode 100644
index 78524921..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_chunk.png b/resources/assets/tinker/textures/items/parts/iron_chunk.png
deleted file mode 100644
index 7be492bb..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_crossbar.png b/resources/assets/tinker/textures/items/parts/iron_crossbar.png
deleted file mode 100644
index 2488ea38..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_excavator_head.png b/resources/assets/tinker/textures/items/parts/iron_excavator_head.png
deleted file mode 100644
index 0fc58c8d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_frypan_head.png b/resources/assets/tinker/textures/items/parts/iron_frypan_head.png
deleted file mode 100644
index a94c5241..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_full_guard.png b/resources/assets/tinker/textures/items/parts/iron_full_guard.png
deleted file mode 100644
index ce36b988..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_hammer_head.png b/resources/assets/tinker/textures/items/parts/iron_hammer_head.png
deleted file mode 100644
index 3700392c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_knife_blade.png b/resources/assets/tinker/textures/items/parts/iron_knife_blade.png
deleted file mode 100644
index 0d2f7bb4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_large_guard.png b/resources/assets/tinker/textures/items/parts/iron_large_guard.png
deleted file mode 100644
index 39190ada..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/iron_large_sword_blade.png
deleted file mode 100644
index d0a1b2a4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_largeplate.png b/resources/assets/tinker/textures/items/parts/iron_largeplate.png
deleted file mode 100644
index f045c4ff..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/iron_lumberaxe_head.png
deleted file mode 100644
index 3de48059..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_medium_guard.png b/resources/assets/tinker/textures/items/parts/iron_medium_guard.png
deleted file mode 100644
index 697ab363..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/iron_pickaxe_head.png
deleted file mode 100644
index 662385c3..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_rod.png b/resources/assets/tinker/textures/items/parts/iron_rod.png
deleted file mode 100644
index 6d2901fd..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_scythe_head.png b/resources/assets/tinker/textures/items/parts/iron_scythe_head.png
deleted file mode 100644
index 12ffc4c9..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_shovel_head.png b/resources/assets/tinker/textures/items/parts/iron_shovel_head.png
deleted file mode 100644
index 7a5ee936..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_sword_blade.png b/resources/assets/tinker/textures/items/parts/iron_sword_blade.png
deleted file mode 100644
index 6c3b5ebb..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_toughbind.png b/resources/assets/tinker/textures/items/parts/iron_toughbind.png
deleted file mode 100644
index 3164ee0d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/iron_toughrod.png b/resources/assets/tinker/textures/items/parts/iron_toughrod.png
deleted file mode 100644
index 4bcc6afc..00000000
Binary files a/resources/assets/tinker/textures/items/parts/iron_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/leaf_fletching.png b/resources/assets/tinker/textures/items/parts/leaf_fletching.png
deleted file mode 100644
index f703b57b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/leaf_fletching.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/magicfabric_bowstring.png b/resources/assets/tinker/textures/items/parts/magicfabric_bowstring.png
deleted file mode 100644
index 5996d0b4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/magicfabric_bowstring.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_arrowhead.png b/resources/assets/tinker/textures/items/parts/manyullyn_arrowhead.png
deleted file mode 100644
index 57981164..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_axe_head.png b/resources/assets/tinker/textures/items/parts/manyullyn_axe_head.png
deleted file mode 100644
index 0145468d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_battlesign_head.png b/resources/assets/tinker/textures/items/parts/manyullyn_battlesign_head.png
deleted file mode 100644
index dac54bc3..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_binding.png b/resources/assets/tinker/textures/items/parts/manyullyn_binding.png
deleted file mode 100644
index 8648476a..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_chisel_head.png b/resources/assets/tinker/textures/items/parts/manyullyn_chisel_head.png
deleted file mode 100644
index d6f01a60..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_chunk.png b/resources/assets/tinker/textures/items/parts/manyullyn_chunk.png
deleted file mode 100644
index 9e281b1c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_crossbar.png b/resources/assets/tinker/textures/items/parts/manyullyn_crossbar.png
deleted file mode 100644
index b50db682..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_excavator_head.png b/resources/assets/tinker/textures/items/parts/manyullyn_excavator_head.png
deleted file mode 100644
index 1060c624..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_frypan_head.png b/resources/assets/tinker/textures/items/parts/manyullyn_frypan_head.png
deleted file mode 100644
index b977084c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_full_guard.png b/resources/assets/tinker/textures/items/parts/manyullyn_full_guard.png
deleted file mode 100644
index a56e2082..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_hammer_head.png b/resources/assets/tinker/textures/items/parts/manyullyn_hammer_head.png
deleted file mode 100644
index 7452616f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_knife_blade.png b/resources/assets/tinker/textures/items/parts/manyullyn_knife_blade.png
deleted file mode 100644
index e38f03fc..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_large_guard.png b/resources/assets/tinker/textures/items/parts/manyullyn_large_guard.png
deleted file mode 100644
index 26a09dfb..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/manyullyn_large_sword_blade.png
deleted file mode 100644
index fe0e2635..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_largeplate.png b/resources/assets/tinker/textures/items/parts/manyullyn_largeplate.png
deleted file mode 100644
index f8cd0529..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/manyullyn_lumberaxe_head.png
deleted file mode 100644
index a3648b4c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_medium_guard.png b/resources/assets/tinker/textures/items/parts/manyullyn_medium_guard.png
deleted file mode 100644
index 60752f30..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/manyullyn_pickaxe_head.png
deleted file mode 100644
index ef923a27..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_rod.png b/resources/assets/tinker/textures/items/parts/manyullyn_rod.png
deleted file mode 100644
index d55680b3..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_scythe_head.png b/resources/assets/tinker/textures/items/parts/manyullyn_scythe_head.png
deleted file mode 100644
index 369e574e..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_shovel_head.png b/resources/assets/tinker/textures/items/parts/manyullyn_shovel_head.png
deleted file mode 100644
index ff9d39cb..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_sword_blade.png b/resources/assets/tinker/textures/items/parts/manyullyn_sword_blade.png
deleted file mode 100644
index fc0c0565..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_toughbind.png b/resources/assets/tinker/textures/items/parts/manyullyn_toughbind.png
deleted file mode 100644
index 5f938c97..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/manyullyn_toughrod.png b/resources/assets/tinker/textures/items/parts/manyullyn_toughrod.png
deleted file mode 100644
index 1ae93aeb..00000000
Binary files a/resources/assets/tinker/textures/items/parts/manyullyn_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_arrowhead.png b/resources/assets/tinker/textures/items/parts/netherrack_arrowhead.png
deleted file mode 100644
index 47338a69..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_axe_head.png b/resources/assets/tinker/textures/items/parts/netherrack_axe_head.png
deleted file mode 100644
index f7f92148..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_battlesign_head.png b/resources/assets/tinker/textures/items/parts/netherrack_battlesign_head.png
deleted file mode 100644
index c61ced0f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_binding.png b/resources/assets/tinker/textures/items/parts/netherrack_binding.png
deleted file mode 100644
index dd6eb052..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_chisel_head.png b/resources/assets/tinker/textures/items/parts/netherrack_chisel_head.png
deleted file mode 100644
index 431213e7..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_chunk.png b/resources/assets/tinker/textures/items/parts/netherrack_chunk.png
deleted file mode 100644
index 2941a212..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_crossbar.png b/resources/assets/tinker/textures/items/parts/netherrack_crossbar.png
deleted file mode 100644
index bf4ee387..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_excavator_head.png b/resources/assets/tinker/textures/items/parts/netherrack_excavator_head.png
deleted file mode 100644
index b0ae6d93..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_frypan_head.png b/resources/assets/tinker/textures/items/parts/netherrack_frypan_head.png
deleted file mode 100644
index 0c99094c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_full_guard.png b/resources/assets/tinker/textures/items/parts/netherrack_full_guard.png
deleted file mode 100644
index 7daa938f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_hammer_head.png b/resources/assets/tinker/textures/items/parts/netherrack_hammer_head.png
deleted file mode 100644
index 1fac315e..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_knife_blade.png b/resources/assets/tinker/textures/items/parts/netherrack_knife_blade.png
deleted file mode 100644
index 2eadeb62..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_large_guard.png b/resources/assets/tinker/textures/items/parts/netherrack_large_guard.png
deleted file mode 100644
index 98333e51..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/netherrack_large_sword_blade.png
deleted file mode 100644
index bdf4a78f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_largeplate.png b/resources/assets/tinker/textures/items/parts/netherrack_largeplate.png
deleted file mode 100644
index 2527a3ca..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/netherrack_lumberaxe_head.png
deleted file mode 100644
index 702703ad..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_medium_guard.png b/resources/assets/tinker/textures/items/parts/netherrack_medium_guard.png
deleted file mode 100644
index e5fc84c9..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/netherrack_pickaxe_head.png
deleted file mode 100644
index 777e21f6..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_rod.png b/resources/assets/tinker/textures/items/parts/netherrack_rod.png
deleted file mode 100644
index 628305f8..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_scythe_head.png b/resources/assets/tinker/textures/items/parts/netherrack_scythe_head.png
deleted file mode 100644
index 6c69902b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_shovel_head.png b/resources/assets/tinker/textures/items/parts/netherrack_shovel_head.png
deleted file mode 100644
index b1c6abc0..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_sword_blade.png b/resources/assets/tinker/textures/items/parts/netherrack_sword_blade.png
deleted file mode 100644
index 2074273b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_toughbind.png b/resources/assets/tinker/textures/items/parts/netherrack_toughbind.png
deleted file mode 100644
index ef832249..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/netherrack_toughrod.png b/resources/assets/tinker/textures/items/parts/netherrack_toughrod.png
deleted file mode 100644
index b50e2ab9..00000000
Binary files a/resources/assets/tinker/textures/items/parts/netherrack_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_arrowhead.png b/resources/assets/tinker/textures/items/parts/obsidian_arrowhead.png
deleted file mode 100644
index 1e1dacd2..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_axe_head.png b/resources/assets/tinker/textures/items/parts/obsidian_axe_head.png
deleted file mode 100644
index 905138b2..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_battlesign_head.png b/resources/assets/tinker/textures/items/parts/obsidian_battlesign_head.png
deleted file mode 100644
index ec1ea01f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_binding.png b/resources/assets/tinker/textures/items/parts/obsidian_binding.png
deleted file mode 100644
index 255b2eb2..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_chisel_head.png b/resources/assets/tinker/textures/items/parts/obsidian_chisel_head.png
deleted file mode 100644
index 759e920a..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_chunk.png b/resources/assets/tinker/textures/items/parts/obsidian_chunk.png
deleted file mode 100644
index 0d6dea22..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_crossbar.png b/resources/assets/tinker/textures/items/parts/obsidian_crossbar.png
deleted file mode 100644
index d7bb277b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_excavator_head.png b/resources/assets/tinker/textures/items/parts/obsidian_excavator_head.png
deleted file mode 100644
index fa470aa6..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_frypan_head.png b/resources/assets/tinker/textures/items/parts/obsidian_frypan_head.png
deleted file mode 100644
index 9fb9912d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_full_guard.png b/resources/assets/tinker/textures/items/parts/obsidian_full_guard.png
deleted file mode 100644
index 5272e927..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_hammer_head.png b/resources/assets/tinker/textures/items/parts/obsidian_hammer_head.png
deleted file mode 100644
index a1a36557..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_knife_blade.png b/resources/assets/tinker/textures/items/parts/obsidian_knife_blade.png
deleted file mode 100644
index dc8032d8..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_large_guard.png b/resources/assets/tinker/textures/items/parts/obsidian_large_guard.png
deleted file mode 100644
index af4bd965..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/obsidian_large_sword_blade.png
deleted file mode 100644
index 85513d15..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_largeplate.png b/resources/assets/tinker/textures/items/parts/obsidian_largeplate.png
deleted file mode 100644
index f70d12b3..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/obsidian_lumberaxe_head.png
deleted file mode 100644
index e9e82028..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_medium_guard.png b/resources/assets/tinker/textures/items/parts/obsidian_medium_guard.png
deleted file mode 100644
index ff575f75..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/obsidian_pickaxe_head.png
deleted file mode 100644
index 95f79279..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_rod.png b/resources/assets/tinker/textures/items/parts/obsidian_rod.png
deleted file mode 100644
index 7f801cbb..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_scythe_head.png b/resources/assets/tinker/textures/items/parts/obsidian_scythe_head.png
deleted file mode 100644
index 0c24bb57..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_shovel_head.png b/resources/assets/tinker/textures/items/parts/obsidian_shovel_head.png
deleted file mode 100644
index 991f708c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_sword_blade.png b/resources/assets/tinker/textures/items/parts/obsidian_sword_blade.png
deleted file mode 100644
index 5ed75c2b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_toughbind.png b/resources/assets/tinker/textures/items/parts/obsidian_toughbind.png
deleted file mode 100644
index 0120a8de..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/obsidian_toughrod.png b/resources/assets/tinker/textures/items/parts/obsidian_toughrod.png
deleted file mode 100644
index 8c9b6ea4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/obsidian_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_arrowhead.png b/resources/assets/tinker/textures/items/parts/paper_arrowhead.png
deleted file mode 100644
index d2810c5b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_axe_head.png b/resources/assets/tinker/textures/items/parts/paper_axe_head.png
deleted file mode 100644
index f2a25f9d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_battlesign_head.png b/resources/assets/tinker/textures/items/parts/paper_battlesign_head.png
deleted file mode 100644
index 19438897..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_binding.png b/resources/assets/tinker/textures/items/parts/paper_binding.png
deleted file mode 100644
index 9c246613..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_chisel_head.png b/resources/assets/tinker/textures/items/parts/paper_chisel_head.png
deleted file mode 100644
index 20569408..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_chunk.png b/resources/assets/tinker/textures/items/parts/paper_chunk.png
deleted file mode 100644
index 40bb221c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_crossbar.png b/resources/assets/tinker/textures/items/parts/paper_crossbar.png
deleted file mode 100644
index 12f1d651..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_excavator_head.png b/resources/assets/tinker/textures/items/parts/paper_excavator_head.png
deleted file mode 100644
index e3f075b0..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_frypan_head.png b/resources/assets/tinker/textures/items/parts/paper_frypan_head.png
deleted file mode 100644
index 1158d32d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_full_guard.png b/resources/assets/tinker/textures/items/parts/paper_full_guard.png
deleted file mode 100644
index 6b213f79..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_hammer_head.png b/resources/assets/tinker/textures/items/parts/paper_hammer_head.png
deleted file mode 100644
index 04bc8984..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_knife_blade.png b/resources/assets/tinker/textures/items/parts/paper_knife_blade.png
deleted file mode 100644
index dca0a8e0..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_large_guard.png b/resources/assets/tinker/textures/items/parts/paper_large_guard.png
deleted file mode 100644
index 48c08ecc..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/paper_large_sword_blade.png
deleted file mode 100644
index 8db13a6d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_largeplate.png b/resources/assets/tinker/textures/items/parts/paper_largeplate.png
deleted file mode 100644
index eeceea27..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/paper_lumberaxe_head.png
deleted file mode 100644
index 671a2001..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_medium_guard.png b/resources/assets/tinker/textures/items/parts/paper_medium_guard.png
deleted file mode 100644
index 449e9bce..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/paper_pickaxe_head.png
deleted file mode 100644
index 564016cc..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_rod.png b/resources/assets/tinker/textures/items/parts/paper_rod.png
deleted file mode 100644
index ee8c0209..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_scythe_head.png b/resources/assets/tinker/textures/items/parts/paper_scythe_head.png
deleted file mode 100644
index 3a3535ab..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_shovel_head.png b/resources/assets/tinker/textures/items/parts/paper_shovel_head.png
deleted file mode 100644
index b992ed4c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_sword_blade.png b/resources/assets/tinker/textures/items/parts/paper_sword_blade.png
deleted file mode 100644
index 31b2a901..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_toughbind.png b/resources/assets/tinker/textures/items/parts/paper_toughbind.png
deleted file mode 100644
index f15c9aaf..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/paper_toughrod.png b/resources/assets/tinker/textures/items/parts/paper_toughrod.png
deleted file mode 100644
index 3dcf54ec..00000000
Binary files a/resources/assets/tinker/textures/items/parts/paper_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_arrowhead.png b/resources/assets/tinker/textures/items/parts/pigiron_arrowhead.png
deleted file mode 100644
index 401fcd95..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_axe_head.png b/resources/assets/tinker/textures/items/parts/pigiron_axe_head.png
deleted file mode 100644
index 68d6fb94..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_battlesign_head.png b/resources/assets/tinker/textures/items/parts/pigiron_battlesign_head.png
deleted file mode 100644
index 3ccdb4a9..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_binding.png b/resources/assets/tinker/textures/items/parts/pigiron_binding.png
deleted file mode 100644
index 48a236e2..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_chisel_head.png b/resources/assets/tinker/textures/items/parts/pigiron_chisel_head.png
deleted file mode 100644
index c4a728cd..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_chunk.png b/resources/assets/tinker/textures/items/parts/pigiron_chunk.png
deleted file mode 100644
index 40bb221c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_crossbar.png b/resources/assets/tinker/textures/items/parts/pigiron_crossbar.png
deleted file mode 100644
index 1df6e65d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_excavator_head.png b/resources/assets/tinker/textures/items/parts/pigiron_excavator_head.png
deleted file mode 100644
index 7c9d5dd4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_fletching.png b/resources/assets/tinker/textures/items/parts/pigiron_fletching.png
deleted file mode 100644
index b122353d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_fletching.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_frypan_head.png b/resources/assets/tinker/textures/items/parts/pigiron_frypan_head.png
deleted file mode 100644
index 775d83ba..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_full_guard.png b/resources/assets/tinker/textures/items/parts/pigiron_full_guard.png
deleted file mode 100644
index 8ec9353b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_hammer_head.png b/resources/assets/tinker/textures/items/parts/pigiron_hammer_head.png
deleted file mode 100644
index 9f5cf962..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_knife_blade.png b/resources/assets/tinker/textures/items/parts/pigiron_knife_blade.png
deleted file mode 100644
index cdcc7ed6..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_large_guard.png b/resources/assets/tinker/textures/items/parts/pigiron_large_guard.png
deleted file mode 100644
index 393dd033..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/pigiron_large_sword_blade.png
deleted file mode 100644
index ff9737f6..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_largeplate.png b/resources/assets/tinker/textures/items/parts/pigiron_largeplate.png
deleted file mode 100644
index 1c6c575c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/pigiron_lumberaxe_head.png
deleted file mode 100644
index a21b4142..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_medium_guard.png b/resources/assets/tinker/textures/items/parts/pigiron_medium_guard.png
deleted file mode 100644
index c7a6f95a..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/pigiron_pickaxe_head.png
deleted file mode 100644
index fd9ef58e..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_rod.png b/resources/assets/tinker/textures/items/parts/pigiron_rod.png
deleted file mode 100644
index 8ef0d877..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_scythe_head.png b/resources/assets/tinker/textures/items/parts/pigiron_scythe_head.png
deleted file mode 100644
index a13afd7f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_shovel_head.png b/resources/assets/tinker/textures/items/parts/pigiron_shovel_head.png
deleted file mode 100644
index a3a69e08..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_sword_blade.png b/resources/assets/tinker/textures/items/parts/pigiron_sword_blade.png
deleted file mode 100644
index 038ede70..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_toughbind.png b/resources/assets/tinker/textures/items/parts/pigiron_toughbind.png
deleted file mode 100644
index 7ecccfb2..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/pigiron_toughrod.png b/resources/assets/tinker/textures/items/parts/pigiron_toughrod.png
deleted file mode 100644
index 8138b1ea..00000000
Binary files a/resources/assets/tinker/textures/items/parts/pigiron_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_arrowhead.png b/resources/assets/tinker/textures/items/parts/slime_arrowhead.png
deleted file mode 100644
index e60dbbef..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_axe_head.png b/resources/assets/tinker/textures/items/parts/slime_axe_head.png
deleted file mode 100644
index 524b9b6e..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_battlesign_head.png b/resources/assets/tinker/textures/items/parts/slime_battlesign_head.png
deleted file mode 100644
index ae9223d3..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_binding.png b/resources/assets/tinker/textures/items/parts/slime_binding.png
deleted file mode 100644
index 6a0d5900..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_chisel_head.png b/resources/assets/tinker/textures/items/parts/slime_chisel_head.png
deleted file mode 100644
index 37cf5f5b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_chunk.png b/resources/assets/tinker/textures/items/parts/slime_chunk.png
deleted file mode 100644
index 5806a451..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_crossbar.png b/resources/assets/tinker/textures/items/parts/slime_crossbar.png
deleted file mode 100644
index b67fcfb4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_excavator_head.png b/resources/assets/tinker/textures/items/parts/slime_excavator_head.png
deleted file mode 100644
index 6a60f3a1..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_fletching.png b/resources/assets/tinker/textures/items/parts/slime_fletching.png
deleted file mode 100644
index 24b0e317..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_fletching.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_frypan_head.png b/resources/assets/tinker/textures/items/parts/slime_frypan_head.png
deleted file mode 100644
index cc57bb6e..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_full_guard.png b/resources/assets/tinker/textures/items/parts/slime_full_guard.png
deleted file mode 100644
index ab1c5464..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_hammer_head.png b/resources/assets/tinker/textures/items/parts/slime_hammer_head.png
deleted file mode 100644
index 9526aaf6..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_knife_blade.png b/resources/assets/tinker/textures/items/parts/slime_knife_blade.png
deleted file mode 100644
index 666a97cb..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_large_guard.png b/resources/assets/tinker/textures/items/parts/slime_large_guard.png
deleted file mode 100644
index efbc7c52..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/slime_large_sword_blade.png
deleted file mode 100644
index eb37d4e8..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_largeplate.png b/resources/assets/tinker/textures/items/parts/slime_largeplate.png
deleted file mode 100644
index 3ca01edc..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/slime_lumberaxe_head.png
deleted file mode 100644
index bd85401b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_medium_guard.png b/resources/assets/tinker/textures/items/parts/slime_medium_guard.png
deleted file mode 100644
index cff7b92e..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/slime_pickaxe_head.png
deleted file mode 100644
index 9921e215..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_rod.png b/resources/assets/tinker/textures/items/parts/slime_rod.png
deleted file mode 100644
index ef410e8d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_scythe_head.png b/resources/assets/tinker/textures/items/parts/slime_scythe_head.png
deleted file mode 100644
index b0fddabd..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_shovel_head.png b/resources/assets/tinker/textures/items/parts/slime_shovel_head.png
deleted file mode 100644
index accdfa06..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_sword_blade.png b/resources/assets/tinker/textures/items/parts/slime_sword_blade.png
deleted file mode 100644
index 76185dea..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_toughbind.png b/resources/assets/tinker/textures/items/parts/slime_toughbind.png
deleted file mode 100644
index dd8a5475..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/slime_toughrod.png b/resources/assets/tinker/textures/items/parts/slime_toughrod.png
deleted file mode 100644
index 8fba27b2..00000000
Binary files a/resources/assets/tinker/textures/items/parts/slime_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_arrowhead.png b/resources/assets/tinker/textures/items/parts/steel_arrowhead.png
deleted file mode 100644
index ed89ea7c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_axe_head.png b/resources/assets/tinker/textures/items/parts/steel_axe_head.png
deleted file mode 100644
index eb8cc60c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_battlesign_head.png b/resources/assets/tinker/textures/items/parts/steel_battlesign_head.png
deleted file mode 100644
index 4af1bfbb..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_binding.png b/resources/assets/tinker/textures/items/parts/steel_binding.png
deleted file mode 100644
index 6b1c8909..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_chisel_head.png b/resources/assets/tinker/textures/items/parts/steel_chisel_head.png
deleted file mode 100644
index 755d1c7b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_chunk.png b/resources/assets/tinker/textures/items/parts/steel_chunk.png
deleted file mode 100644
index d9167677..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_crossbar.png b/resources/assets/tinker/textures/items/parts/steel_crossbar.png
deleted file mode 100644
index 7baf7d4a..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_excavator_head.png b/resources/assets/tinker/textures/items/parts/steel_excavator_head.png
deleted file mode 100644
index 836494f1..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_frypan_head.png b/resources/assets/tinker/textures/items/parts/steel_frypan_head.png
deleted file mode 100644
index a1017b92..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_full_guard.png b/resources/assets/tinker/textures/items/parts/steel_full_guard.png
deleted file mode 100644
index 7f312764..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_hammer_head.png b/resources/assets/tinker/textures/items/parts/steel_hammer_head.png
deleted file mode 100644
index c4f13ef4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_knife_blade.png b/resources/assets/tinker/textures/items/parts/steel_knife_blade.png
deleted file mode 100644
index a835085d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_large_guard.png b/resources/assets/tinker/textures/items/parts/steel_large_guard.png
deleted file mode 100644
index 3a423bd7..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/steel_large_sword_blade.png
deleted file mode 100644
index ca83e76e..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_largeplate.png b/resources/assets/tinker/textures/items/parts/steel_largeplate.png
deleted file mode 100644
index 64c50910..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/steel_lumberaxe_head.png
deleted file mode 100644
index cdd40502..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_medium_guard.png b/resources/assets/tinker/textures/items/parts/steel_medium_guard.png
deleted file mode 100644
index f019747f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/steel_pickaxe_head.png
deleted file mode 100644
index 4502e40a..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_rod.png b/resources/assets/tinker/textures/items/parts/steel_rod.png
deleted file mode 100644
index f0a1d5a5..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_scythe_head.png b/resources/assets/tinker/textures/items/parts/steel_scythe_head.png
deleted file mode 100644
index d0a0b6b4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_shovel_head.png b/resources/assets/tinker/textures/items/parts/steel_shovel_head.png
deleted file mode 100644
index 8673b0de..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_sword_blade.png b/resources/assets/tinker/textures/items/parts/steel_sword_blade.png
deleted file mode 100644
index 37985c95..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_toughbind.png b/resources/assets/tinker/textures/items/parts/steel_toughbind.png
deleted file mode 100644
index 56ace8b3..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/steel_toughrod.png b/resources/assets/tinker/textures/items/parts/steel_toughrod.png
deleted file mode 100644
index 814a4df7..00000000
Binary files a/resources/assets/tinker/textures/items/parts/steel_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_arrowhead.png b/resources/assets/tinker/textures/items/parts/stone_arrowhead.png
deleted file mode 100644
index 2dc7b560..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_axe_head.png b/resources/assets/tinker/textures/items/parts/stone_axe_head.png
deleted file mode 100644
index 02904427..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_battlesign_head.png b/resources/assets/tinker/textures/items/parts/stone_battlesign_head.png
deleted file mode 100644
index 0f817ecc..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_binding.png b/resources/assets/tinker/textures/items/parts/stone_binding.png
deleted file mode 100644
index e1fef712..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_chisel_head.png b/resources/assets/tinker/textures/items/parts/stone_chisel_head.png
deleted file mode 100644
index 07c3b480..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_chunk.png b/resources/assets/tinker/textures/items/parts/stone_chunk.png
deleted file mode 100644
index f8a8d7a0..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_crossbar.png b/resources/assets/tinker/textures/items/parts/stone_crossbar.png
deleted file mode 100644
index 44a442f6..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_excavator_head.png b/resources/assets/tinker/textures/items/parts/stone_excavator_head.png
deleted file mode 100644
index a47d189b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_frypan_head.png b/resources/assets/tinker/textures/items/parts/stone_frypan_head.png
deleted file mode 100644
index 6ea4ed63..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_full_guard.png b/resources/assets/tinker/textures/items/parts/stone_full_guard.png
deleted file mode 100644
index 855c5fa5..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_hammer_head.png b/resources/assets/tinker/textures/items/parts/stone_hammer_head.png
deleted file mode 100644
index fe79f2b8..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_knife_blade.png b/resources/assets/tinker/textures/items/parts/stone_knife_blade.png
deleted file mode 100644
index adf3acf1..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_large_guard.png b/resources/assets/tinker/textures/items/parts/stone_large_guard.png
deleted file mode 100644
index 1639a8d2..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/stone_large_sword_blade.png
deleted file mode 100644
index 9343b14b..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_largeplate.png b/resources/assets/tinker/textures/items/parts/stone_largeplate.png
deleted file mode 100644
index 9c3d6889..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/stone_lumberaxe_head.png
deleted file mode 100644
index 7d420664..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_medium_guard.png b/resources/assets/tinker/textures/items/parts/stone_medium_guard.png
deleted file mode 100644
index 4da8fdbe..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/stone_pickaxe_head.png
deleted file mode 100644
index 2fe8d238..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_rod.png b/resources/assets/tinker/textures/items/parts/stone_rod.png
deleted file mode 100644
index 4cfdc8b1..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_scythe_head.png b/resources/assets/tinker/textures/items/parts/stone_scythe_head.png
deleted file mode 100644
index 2ef7d9de..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_shovel_head.png b/resources/assets/tinker/textures/items/parts/stone_shovel_head.png
deleted file mode 100644
index 4f29a635..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_sword_blade.png b/resources/assets/tinker/textures/items/parts/stone_sword_blade.png
deleted file mode 100644
index 7cf45688..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_toughbind.png b/resources/assets/tinker/textures/items/parts/stone_toughbind.png
deleted file mode 100644
index e868ffdb..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/stone_toughrod.png b/resources/assets/tinker/textures/items/parts/stone_toughrod.png
deleted file mode 100644
index 2fa05a10..00000000
Binary files a/resources/assets/tinker/textures/items/parts/stone_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/string_bowstring.png b/resources/assets/tinker/textures/items/parts/string_bowstring.png
deleted file mode 100644
index e78d562c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/string_bowstring.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_arrowhead.png b/resources/assets/tinker/textures/items/parts/thaumium_arrowhead.png
deleted file mode 100644
index 06f155f5..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_axe_head.png b/resources/assets/tinker/textures/items/parts/thaumium_axe_head.png
deleted file mode 100644
index 5cb5eb50..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_battlesign_head.png b/resources/assets/tinker/textures/items/parts/thaumium_battlesign_head.png
deleted file mode 100644
index f8fbaf16..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_binding.png b/resources/assets/tinker/textures/items/parts/thaumium_binding.png
deleted file mode 100644
index 95dfef94..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_chisel_head.png b/resources/assets/tinker/textures/items/parts/thaumium_chisel_head.png
deleted file mode 100644
index 3a6cb9d4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_chunk.png b/resources/assets/tinker/textures/items/parts/thaumium_chunk.png
deleted file mode 100644
index 9c73b9ff..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_crossbar.png b/resources/assets/tinker/textures/items/parts/thaumium_crossbar.png
deleted file mode 100644
index 3f178cee..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_excavator_head.png b/resources/assets/tinker/textures/items/parts/thaumium_excavator_head.png
deleted file mode 100644
index 6bc65802..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_frypan_head.png b/resources/assets/tinker/textures/items/parts/thaumium_frypan_head.png
deleted file mode 100644
index 9657852d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_full_guard.png b/resources/assets/tinker/textures/items/parts/thaumium_full_guard.png
deleted file mode 100644
index 974c00ad..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_hammer_head.png b/resources/assets/tinker/textures/items/parts/thaumium_hammer_head.png
deleted file mode 100644
index 48e14c8d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_knife_blade.png b/resources/assets/tinker/textures/items/parts/thaumium_knife_blade.png
deleted file mode 100644
index 567cf162..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_large_guard.png b/resources/assets/tinker/textures/items/parts/thaumium_large_guard.png
deleted file mode 100644
index 15de0716..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/thaumium_large_sword_blade.png
deleted file mode 100644
index 889f79f0..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_largeplate.png b/resources/assets/tinker/textures/items/parts/thaumium_largeplate.png
deleted file mode 100644
index c04495d1..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/thaumium_lumberaxe_head.png
deleted file mode 100644
index 175cfecf..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_medium_guard.png b/resources/assets/tinker/textures/items/parts/thaumium_medium_guard.png
deleted file mode 100644
index bd9e3dc4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/thaumium_pickaxe_head.png
deleted file mode 100644
index 0246db5a..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_rod.png b/resources/assets/tinker/textures/items/parts/thaumium_rod.png
deleted file mode 100644
index e3bb3d16..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_scythe_head.png b/resources/assets/tinker/textures/items/parts/thaumium_scythe_head.png
deleted file mode 100644
index 45b120a9..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_shovel_head.png b/resources/assets/tinker/textures/items/parts/thaumium_shovel_head.png
deleted file mode 100644
index f92ade58..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_sword_blade.png b/resources/assets/tinker/textures/items/parts/thaumium_sword_blade.png
deleted file mode 100644
index 5b7047c8..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_toughbind.png b/resources/assets/tinker/textures/items/parts/thaumium_toughbind.png
deleted file mode 100644
index 485df1c1..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/thaumium_toughrod.png b/resources/assets/tinker/textures/items/parts/thaumium_toughrod.png
deleted file mode 100644
index 0521c358..00000000
Binary files a/resources/assets/tinker/textures/items/parts/thaumium_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/tin_chunk.png b/resources/assets/tinker/textures/items/parts/tin_chunk.png
deleted file mode 100644
index 45daa6c4..00000000
Binary files a/resources/assets/tinker/textures/items/parts/tin_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_arrowhead.png b/resources/assets/tinker/textures/items/parts/wood_arrowhead.png
deleted file mode 100644
index 7b6adb56..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_arrowhead.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_axe_head.png b/resources/assets/tinker/textures/items/parts/wood_axe_head.png
deleted file mode 100644
index f1022f4d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_axe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_battlesign_head.png b/resources/assets/tinker/textures/items/parts/wood_battlesign_head.png
deleted file mode 100644
index 4aed10cf..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_battlesign_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_binding.png b/resources/assets/tinker/textures/items/parts/wood_binding.png
deleted file mode 100644
index 292dc51f..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_chisel_head.png b/resources/assets/tinker/textures/items/parts/wood_chisel_head.png
deleted file mode 100644
index 3db4d524..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_chisel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_chunk.png b/resources/assets/tinker/textures/items/parts/wood_chunk.png
deleted file mode 100644
index 9f221938..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_chunk.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_crossbar.png b/resources/assets/tinker/textures/items/parts/wood_crossbar.png
deleted file mode 100644
index cac8fff0..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_crossbar.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_excavator_head.png b/resources/assets/tinker/textures/items/parts/wood_excavator_head.png
deleted file mode 100644
index 0b3cc6ca..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_excavator_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_frypan_head.png b/resources/assets/tinker/textures/items/parts/wood_frypan_head.png
deleted file mode 100644
index c1ff3425..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_frypan_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_full_guard.png b/resources/assets/tinker/textures/items/parts/wood_full_guard.png
deleted file mode 100644
index 9da95bc2..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_full_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_hammer_head.png b/resources/assets/tinker/textures/items/parts/wood_hammer_head.png
deleted file mode 100644
index 1429e248..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_hammer_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_knife_blade.png b/resources/assets/tinker/textures/items/parts/wood_knife_blade.png
deleted file mode 100644
index 5b41e949..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_knife_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_large_guard.png b/resources/assets/tinker/textures/items/parts/wood_large_guard.png
deleted file mode 100644
index 74fbba06..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_large_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_large_sword_blade.png b/resources/assets/tinker/textures/items/parts/wood_large_sword_blade.png
deleted file mode 100644
index 9322302d..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_large_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_largeplate.png b/resources/assets/tinker/textures/items/parts/wood_largeplate.png
deleted file mode 100644
index 6fe322fa..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_largeplate.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_lumberaxe_head.png b/resources/assets/tinker/textures/items/parts/wood_lumberaxe_head.png
deleted file mode 100644
index d8786002..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_lumberaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_medium_guard.png b/resources/assets/tinker/textures/items/parts/wood_medium_guard.png
deleted file mode 100644
index 6605a7d5..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_medium_guard.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_pickaxe_head.png b/resources/assets/tinker/textures/items/parts/wood_pickaxe_head.png
deleted file mode 100644
index 56ec7763..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_rod.png b/resources/assets/tinker/textures/items/parts/wood_rod.png
deleted file mode 100644
index a80813a8..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_rod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_scythe_head.png b/resources/assets/tinker/textures/items/parts/wood_scythe_head.png
deleted file mode 100644
index 42d37527..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_shovel_head.png b/resources/assets/tinker/textures/items/parts/wood_shovel_head.png
deleted file mode 100644
index a13f4b84..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_sword_blade.png b/resources/assets/tinker/textures/items/parts/wood_sword_blade.png
deleted file mode 100644
index 875e3b2c..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_sword_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_toughbind.png b/resources/assets/tinker/textures/items/parts/wood_toughbind.png
deleted file mode 100644
index 02cbcc91..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_toughbind.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/parts/wood_toughrod.png b/resources/assets/tinker/textures/items/parts/wood_toughrod.png
deleted file mode 100644
index b4ecae81..00000000
Binary files a/resources/assets/tinker/textures/items/parts/wood_toughrod.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/alumite_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/alumite_pickaxe_accessory.png
deleted file mode 100644
index 555eda0b..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/alumite_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/alumite_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/alumite_pickaxe_handle.png
deleted file mode 100644
index 2234e6c3..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/alumite_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/alumite_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/alumite_pickaxe_head.png
deleted file mode 100644
index afe316de..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/alumite_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/alumite_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/alumite_pickaxe_head_broken.png
deleted file mode 100644
index afe6ed61..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/alumite_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/ardite_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/ardite_pickaxe_accessory.png
deleted file mode 100644
index 764e6d15..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/ardite_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/ardite_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/ardite_pickaxe_handle.png
deleted file mode 100644
index 178ed4ae..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/ardite_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/ardite_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/ardite_pickaxe_head.png
deleted file mode 100644
index 1e2ba2c4..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/ardite_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/ardite_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/ardite_pickaxe_head_broken.png
deleted file mode 100644
index 288e52a7..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/ardite_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/beheading_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/beheading_pickaxe_effect.png
deleted file mode 100644
index 8fd35341..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/beheading_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/blaze_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/blaze_pickaxe_effect.png
deleted file mode 100644
index 894e5a39..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/blaze_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/blueslime_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/blueslime_pickaxe_accessory.png
deleted file mode 100644
index 4dedab1e..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/blueslime_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/blueslime_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/blueslime_pickaxe_handle.png
deleted file mode 100644
index 56b68f54..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/blueslime_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/blueslime_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/blueslime_pickaxe_head.png
deleted file mode 100644
index a98db0be..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/blueslime_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/blueslime_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/blueslime_pickaxe_head_broken.png
deleted file mode 100644
index bf369593..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/blueslime_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/bone_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/bone_pickaxe_accessory.png
deleted file mode 100644
index 51f735d7..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/bone_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/bone_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/bone_pickaxe_handle.png
deleted file mode 100644
index 1ef4d659..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/bone_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/bone_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/bone_pickaxe_head.png
deleted file mode 100644
index 45ff088c..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/bone_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/bone_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/bone_pickaxe_head_broken.png
deleted file mode 100644
index 27df72ba..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/bone_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/bronze_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/bronze_pickaxe_accessory.png
deleted file mode 100644
index 58e192a4..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/bronze_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/bronze_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/bronze_pickaxe_handle.png
deleted file mode 100644
index dd39b7a2..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/bronze_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/bronze_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/bronze_pickaxe_head.png
deleted file mode 100644
index 89572461..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/bronze_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/bronze_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/bronze_pickaxe_head_broken.png
deleted file mode 100644
index 601cf008..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/bronze_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/cactus_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/cactus_pickaxe_accessory.png
deleted file mode 100644
index 9e973bc3..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/cactus_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/cactus_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/cactus_pickaxe_handle.png
deleted file mode 100644
index 1c443cb8..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/cactus_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/cactus_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/cactus_pickaxe_head.png
deleted file mode 100644
index 6f6873b5..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/cactus_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/cactus_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/cactus_pickaxe_head_broken.png
deleted file mode 100644
index 7eb9adca..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/cactus_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/cobalt_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/cobalt_pickaxe_accessory.png
deleted file mode 100644
index aca4f0ca..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/cobalt_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/cobalt_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/cobalt_pickaxe_handle.png
deleted file mode 100644
index b76c5b8b..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/cobalt_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/cobalt_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/cobalt_pickaxe_head.png
deleted file mode 100644
index 1b5001ff..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/cobalt_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/cobalt_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/cobalt_pickaxe_head_broken.png
deleted file mode 100644
index d00b58be..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/cobalt_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/copper_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/copper_pickaxe_accessory.png
deleted file mode 100644
index 50133810..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/copper_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/copper_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/copper_pickaxe_handle.png
deleted file mode 100644
index 2f071054..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/copper_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/copper_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/copper_pickaxe_head.png
deleted file mode 100644
index 79d8158f..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/copper_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/copper_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/copper_pickaxe_head_broken.png
deleted file mode 100644
index 9f7561ad..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/copper_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/diamond_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/diamond_pickaxe_effect.png
deleted file mode 100644
index b790c48f..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/diamond_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/electric_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/electric_pickaxe_effect.png
deleted file mode 100644
index 03c4a674..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/electric_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/emerald_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/emerald_pickaxe_effect.png
deleted file mode 100644
index 30b1a236..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/emerald_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/flint_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/flint_pickaxe_accessory.png
deleted file mode 100644
index 068ebc49..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/flint_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/flint_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/flint_pickaxe_handle.png
deleted file mode 100644
index 20c3a8e8..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/flint_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/flint_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/flint_pickaxe_head.png
deleted file mode 100644
index 0d426aad..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/flint_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/flint_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/flint_pickaxe_head_broken.png
deleted file mode 100644
index 9a7087c8..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/flint_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/flux_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/flux_pickaxe_effect.png
deleted file mode 100644
index 599d97e9..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/flux_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/glowstone_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/glowstone_pickaxe_effect.png
deleted file mode 100644
index bb258bdc..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/glowstone_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/ice_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/ice_pickaxe_effect.png
deleted file mode 100644
index 5182eb8c..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/ice_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/iron_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/iron_pickaxe_accessory.png
deleted file mode 100644
index bc3ac639..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/iron_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/iron_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/iron_pickaxe_handle.png
deleted file mode 100644
index f6e57db3..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/iron_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/iron_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/iron_pickaxe_head.png
deleted file mode 100644
index 59b49d72..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/iron_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/iron_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/iron_pickaxe_head_broken.png
deleted file mode 100644
index 69b843dc..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/iron_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/lapis_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/lapis_pickaxe_effect.png
deleted file mode 100644
index fbcb1f8d..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/lapis_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/lava_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/lava_pickaxe_effect.png
deleted file mode 100644
index 19a63301..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/lava_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/manyullyn_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/manyullyn_pickaxe_accessory.png
deleted file mode 100644
index 0489ee9a..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/manyullyn_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/manyullyn_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/manyullyn_pickaxe_handle.png
deleted file mode 100644
index 51ba2d02..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/manyullyn_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/manyullyn_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/manyullyn_pickaxe_head.png
deleted file mode 100644
index ecac0479..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/manyullyn_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/manyullyn_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/manyullyn_pickaxe_head_broken.png
deleted file mode 100644
index 9dbec136..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/manyullyn_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/moss_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/moss_pickaxe_effect.png
deleted file mode 100644
index f6d96315..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/moss_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/necrotic_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/necrotic_pickaxe_effect.png
deleted file mode 100644
index a851b384..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/necrotic_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/netherrack_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/netherrack_pickaxe_accessory.png
deleted file mode 100644
index 156b777b..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/netherrack_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/netherrack_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/netherrack_pickaxe_handle.png
deleted file mode 100644
index cfa6aaab..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/netherrack_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/netherrack_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/netherrack_pickaxe_head.png
deleted file mode 100644
index 4c76c617..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/netherrack_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/netherrack_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/netherrack_pickaxe_head_broken.png
deleted file mode 100644
index 0e58cc72..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/netherrack_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/obsidian_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/obsidian_pickaxe_accessory.png
deleted file mode 100644
index 53a14324..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/obsidian_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/obsidian_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/obsidian_pickaxe_handle.png
deleted file mode 100644
index 4543d7ac..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/obsidian_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/obsidian_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/obsidian_pickaxe_head.png
deleted file mode 100644
index 27342dc5..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/obsidian_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/obsidian_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/obsidian_pickaxe_head_broken.png
deleted file mode 100644
index cd58ef59..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/obsidian_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/paper_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/paper_pickaxe_accessory.png
deleted file mode 100644
index 5dd10d5c..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/paper_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/paper_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/paper_pickaxe_handle.png
deleted file mode 100644
index 17eeb7e7..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/paper_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/paper_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/paper_pickaxe_head.png
deleted file mode 100644
index 6dae2bb7..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/paper_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/paper_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/paper_pickaxe_head_broken.png
deleted file mode 100644
index 622b87ef..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/paper_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/pigiron_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/pigiron_pickaxe_accessory.png
deleted file mode 100644
index d17aae27..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/pigiron_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/pigiron_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/pigiron_pickaxe_handle.png
deleted file mode 100644
index d7464e18..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/pigiron_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/pigiron_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/pigiron_pickaxe_head.png
deleted file mode 100644
index 47f7402b..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/pigiron_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/pigiron_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/pigiron_pickaxe_head_broken.png
deleted file mode 100644
index aaeb8fd1..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/pigiron_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/piston_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/piston_pickaxe_effect.png
deleted file mode 100644
index 1e96326d..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/piston_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/quartz_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/quartz_pickaxe_effect.png
deleted file mode 100644
index e7563900..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/quartz_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/redstone_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/redstone_pickaxe_effect.png
deleted file mode 100644
index 32c2e769..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/redstone_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/reinforced_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/reinforced_pickaxe_effect.png
deleted file mode 100644
index 33ca7c85..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/reinforced_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/silk_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/silk_pickaxe_effect.png
deleted file mode 100644
index cae9dc62..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/silk_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/slime_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/slime_pickaxe_accessory.png
deleted file mode 100644
index 077008e3..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/slime_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/slime_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/slime_pickaxe_handle.png
deleted file mode 100644
index f3ee8fe6..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/slime_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/slime_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/slime_pickaxe_head.png
deleted file mode 100644
index c6b6c7e0..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/slime_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/slime_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/slime_pickaxe_head_broken.png
deleted file mode 100644
index 60ac17cb..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/slime_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/smite_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/smite_pickaxe_effect.png
deleted file mode 100644
index 46737a52..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/smite_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/spider_pickaxe_effect.png b/resources/assets/tinker/textures/items/pickaxe/spider_pickaxe_effect.png
deleted file mode 100644
index 2ad093ad..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/spider_pickaxe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/steel_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/steel_pickaxe_accessory.png
deleted file mode 100644
index b7bbe131..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/steel_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/steel_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/steel_pickaxe_handle.png
deleted file mode 100644
index 3c574ca9..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/steel_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/steel_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/steel_pickaxe_head.png
deleted file mode 100644
index 876bf735..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/steel_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/steel_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/steel_pickaxe_head_broken.png
deleted file mode 100644
index ab382304..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/steel_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/stone_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/stone_pickaxe_accessory.png
deleted file mode 100644
index e020ba61..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/stone_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/stone_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/stone_pickaxe_handle.png
deleted file mode 100644
index 39568833..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/stone_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/stone_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/stone_pickaxe_head.png
deleted file mode 100644
index 3d1ff580..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/stone_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/stone_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/stone_pickaxe_head_broken.png
deleted file mode 100644
index 78c4ca80..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/stone_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/thaumium_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/thaumium_pickaxe_accessory.png
deleted file mode 100644
index f00c73dd..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/thaumium_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/thaumium_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/thaumium_pickaxe_handle.png
deleted file mode 100644
index 1178bfcc..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/thaumium_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/thaumium_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/thaumium_pickaxe_head.png
deleted file mode 100644
index c72a3040..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/thaumium_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/thaumium_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/thaumium_pickaxe_head_broken.png
deleted file mode 100644
index 340065a2..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/thaumium_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/wood_pickaxe_accessory.png b/resources/assets/tinker/textures/items/pickaxe/wood_pickaxe_accessory.png
deleted file mode 100644
index 85127245..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/wood_pickaxe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/wood_pickaxe_handle.png b/resources/assets/tinker/textures/items/pickaxe/wood_pickaxe_handle.png
deleted file mode 100644
index ed659ecd..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/wood_pickaxe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/wood_pickaxe_head.png b/resources/assets/tinker/textures/items/pickaxe/wood_pickaxe_head.png
deleted file mode 100644
index c460f406..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/wood_pickaxe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickaxe/wood_pickaxe_head_broken.png b/resources/assets/tinker/textures/items/pickaxe/wood_pickaxe_head_broken.png
deleted file mode 100644
index fe69922d..00000000
Binary files a/resources/assets/tinker/textures/items/pickaxe/wood_pickaxe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_accessory.png
deleted file mode 100644
index 555eda0b..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_back.png
deleted file mode 100644
index e54ad9e9..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_handle.png
deleted file mode 100644
index e750f724..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_head.png
deleted file mode 100644
index c46c536c..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_head_broken.png
deleted file mode 100644
index e59e25f9..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/alumite_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_accessory.png
deleted file mode 100644
index 764e6d15..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_back.png
deleted file mode 100644
index 66248f48..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_handle.png
deleted file mode 100644
index eb82e4a8..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_head.png
deleted file mode 100644
index 1f5657a1..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_head_broken.png
deleted file mode 100644
index ebaf5892..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/ardite_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/beheading_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/beheading_pickmattock_effect.png
deleted file mode 100644
index 812f82f9..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/beheading_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/blaze_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/blaze_pickmattock_effect.png
deleted file mode 100644
index 5c9fac5f..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/blaze_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_accessory.png
deleted file mode 100644
index 4dedab1e..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_back.png
deleted file mode 100644
index ed6520f0..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_handle.png
deleted file mode 100644
index f04295ca..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_head.png
deleted file mode 100644
index 84c0c3fc..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_head_broken.png
deleted file mode 100644
index 2d33c93a..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/blueslime_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_accessory.png
deleted file mode 100644
index 51f735d7..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_back.png
deleted file mode 100644
index 9fe34888..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_handle.png
deleted file mode 100644
index 87fbdc44..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_head.png
deleted file mode 100644
index 9937934a..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_head_broken.png
deleted file mode 100644
index 0171a179..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/bone_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_accessory.png
deleted file mode 100644
index 58e192a4..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_back.png
deleted file mode 100644
index c67056fe..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_handle.png
deleted file mode 100644
index 5dc0618f..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_head.png
deleted file mode 100644
index 25f657fd..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_head_broken.png
deleted file mode 100644
index ed075587..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/bronze_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_accessory.png
deleted file mode 100644
index 9e973bc3..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_back.png
deleted file mode 100644
index e7a03398..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_handle.png
deleted file mode 100644
index 356fc083..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_head.png
deleted file mode 100644
index 3a6dcd77..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_head_broken.png
deleted file mode 100644
index fb2270dc..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/cactus_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_accessory.png
deleted file mode 100644
index aca4f0ca..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_back.png
deleted file mode 100644
index 786e2d41..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_handle.png
deleted file mode 100644
index e2113afc..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_head.png
deleted file mode 100644
index c5e7f9c8..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_head_broken.png
deleted file mode 100644
index 8d8cabe8..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/cobalt_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_accessory.png
deleted file mode 100644
index 50133810..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_back.png
deleted file mode 100644
index c6eeb0dc..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_handle.png
deleted file mode 100644
index 4236dbdd..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_head.png
deleted file mode 100644
index aeeb1086..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_head_broken.png
deleted file mode 100644
index 42621871..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/copper_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/diamond_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/diamond_pickmattock_effect.png
deleted file mode 100644
index a42a86d7..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/diamond_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/electric_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/electric_pickmattock_effect.png
deleted file mode 100644
index 03c4a674..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/electric_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/emerald_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/emerald_pickmattock_effect.png
deleted file mode 100644
index c880b3d7..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/emerald_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_accessory.png
deleted file mode 100644
index 068ebc49..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_back.png
deleted file mode 100644
index dc4fd22c..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_handle.png
deleted file mode 100644
index 547ce73d..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_head.png
deleted file mode 100644
index bebb62ec..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_head_broken.png
deleted file mode 100644
index 8e601595..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/flint_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/flux_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/flux_pickmattock_effect.png
deleted file mode 100644
index b5d0c2b7..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/flux_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/glowstone_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/glowstone_pickmattock_effect.png
deleted file mode 100644
index c415cb0c..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/glowstone_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/ice_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/ice_pickmattock_effect.png
deleted file mode 100644
index a543aefb..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/ice_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_accessory.png
deleted file mode 100644
index bc3ac639..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_back.png
deleted file mode 100644
index 271ee4ef..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_handle.png
deleted file mode 100644
index a26a3a66..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_head.png
deleted file mode 100644
index 600ebb73..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_head_broken.png
deleted file mode 100644
index 5c79460e..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/iron_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/lapis_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/lapis_pickmattock_effect.png
deleted file mode 100644
index 3a29bd6f..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/lapis_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/lava_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/lava_pickmattock_effect.png
deleted file mode 100644
index 70d0fbe8..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/lava_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_accessory.png
deleted file mode 100644
index 0489ee9a..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_back.png
deleted file mode 100644
index 4e43ba58..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_handle.png
deleted file mode 100644
index 5e7e7789..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_head.png
deleted file mode 100644
index 94ae1717..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_head_broken.png
deleted file mode 100644
index 5c9f5fcc..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/manyullyn_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/moss_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/moss_pickmattock_effect.png
deleted file mode 100644
index f7ec2024..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/moss_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/necrotic_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/necrotic_pickmattock_effect.png
deleted file mode 100644
index 945822dc..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/necrotic_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_accessory.png
deleted file mode 100644
index 156b777b..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_back.png
deleted file mode 100644
index df266c97..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_handle.png
deleted file mode 100644
index 147867cc..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_head.png
deleted file mode 100644
index b224ed4c..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_head_broken.png
deleted file mode 100644
index 4d8bd479..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/netherrack_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_accessory.png
deleted file mode 100644
index 53a14324..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_back.png
deleted file mode 100644
index 39c5a878..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_handle.png
deleted file mode 100644
index 390d03be..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_head.png
deleted file mode 100644
index 59ca231a..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_head_broken.png
deleted file mode 100644
index d6943a6c..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/obsidian_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_accessory.png
deleted file mode 100644
index 5dd10d5c..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_back.png
deleted file mode 100644
index 9601dfba..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_handle.png
deleted file mode 100644
index ef6ec59d..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_head.png
deleted file mode 100644
index b01669f4..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_head_broken.png
deleted file mode 100644
index 9d32cec1..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/paper_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_accessory.png
deleted file mode 100644
index d17aae27..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_back.png
deleted file mode 100644
index 37cd3c75..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_handle.png
deleted file mode 100644
index ef9fc4a2..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_head.png
deleted file mode 100644
index 0e2bf872..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_head_broken.png
deleted file mode 100644
index a110f5bf..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/pigiron_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/piston_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/piston_pickmattock_effect.png
deleted file mode 100644
index 1fdb2564..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/piston_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/quartz_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/quartz_pickmattock_effect.png
deleted file mode 100644
index 8dc5138d..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/quartz_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/redstone_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/redstone_pickmattock_effect.png
deleted file mode 100644
index a54276e2..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/redstone_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/reinforced_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/reinforced_pickmattock_effect.png
deleted file mode 100644
index 5fdfc4b5..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/reinforced_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/silk_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/silk_pickmattock_effect.png
deleted file mode 100644
index a795b724..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/silk_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_accessory.png
deleted file mode 100644
index 077008e3..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_back.png
deleted file mode 100644
index 4aed6cbe..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_handle.png
deleted file mode 100644
index 51398815..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_head.png
deleted file mode 100644
index 3b6cc1b8..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_head_broken.png
deleted file mode 100644
index fa56e6de..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/slime_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/smite_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/smite_pickmattock_effect.png
deleted file mode 100644
index c9fb290e..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/smite_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/spider_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/spider_pickmattock_effect.png
deleted file mode 100644
index 3c35407f..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/spider_pickmattock_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_accessory.png
deleted file mode 100644
index b7bbe131..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_back.png
deleted file mode 100644
index dc235268..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_handle.png
deleted file mode 100644
index 880395fc..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_head.png
deleted file mode 100644
index c52975bf..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_head_broken.png
deleted file mode 100644
index c846fe5e..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/steel_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_accessory.png
deleted file mode 100644
index e020ba61..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_back.png
deleted file mode 100644
index a78863d5..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_handle.png
deleted file mode 100644
index 6573815e..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_head.png
deleted file mode 100644
index 366168fa..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_head_broken.png
deleted file mode 100644
index 1f22e37f..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/stone_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_accessory.png
deleted file mode 100644
index f00c73dd..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_back.png
deleted file mode 100644
index 86acd064..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_handle.png
deleted file mode 100644
index c4a82103..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_head.png
deleted file mode 100644
index 4e382cef..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_head_broken.png
deleted file mode 100644
index c78e0338..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/thaumium_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_accessory.png b/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_accessory.png
deleted file mode 100644
index 85127245..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_back.png b/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_back.png
deleted file mode 100644
index efedfc9a..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_back.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_handle.png b/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_handle.png
deleted file mode 100644
index 9b86c982..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_head.png b/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_head.png
deleted file mode 100644
index 3aa23634..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_head_broken.png b/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_head_broken.png
deleted file mode 100644
index 21709635..00000000
Binary files a/resources/assets/tinker/textures/items/pickmattock/wood_pickmattock_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/polishingstone.png b/resources/assets/tinker/textures/items/polishingstone.png
deleted file mode 100644
index 12694563..00000000
Binary files a/resources/assets/tinker/textures/items/polishingstone.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/potionlauncher.png b/resources/assets/tinker/textures/items/potionlauncher.png
deleted file mode 100644
index 5b3a1b14..00000000
Binary files a/resources/assets/tinker/textures/items/potionlauncher.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/alumite_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/alumite_rapier_accessory.png
deleted file mode 100644
index e22afe9e..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/alumite_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/alumite_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/alumite_rapier_blade.png
deleted file mode 100644
index 9e43e729..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/alumite_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/alumite_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/alumite_rapier_blade_broken.png
deleted file mode 100644
index 06085140..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/alumite_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/alumite_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/alumite_rapier_handle.png
deleted file mode 100644
index 0dfb04c2..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/alumite_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/ardite_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/ardite_rapier_accessory.png
deleted file mode 100644
index 6b2220b8..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/ardite_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/ardite_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/ardite_rapier_blade.png
deleted file mode 100644
index 352f263b..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/ardite_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/ardite_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/ardite_rapier_blade_broken.png
deleted file mode 100644
index 5bca5d5d..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/ardite_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/ardite_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/ardite_rapier_handle.png
deleted file mode 100644
index 11f8f149..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/ardite_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/beheading_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/beheading_rapier_effect.png
deleted file mode 100644
index c352ee1d..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/beheading_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/blaze_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/blaze_rapier_effect.png
deleted file mode 100644
index ca810737..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/blaze_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/blueslime_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/blueslime_rapier_accessory.png
deleted file mode 100644
index a3f72184..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/blueslime_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/blueslime_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/blueslime_rapier_blade.png
deleted file mode 100644
index bac98fd8..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/blueslime_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/blueslime_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/blueslime_rapier_blade_broken.png
deleted file mode 100644
index 84df8263..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/blueslime_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/blueslime_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/blueslime_rapier_handle.png
deleted file mode 100644
index 9585a231..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/blueslime_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/bone_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/bone_rapier_accessory.png
deleted file mode 100644
index 1def887c..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/bone_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/bone_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/bone_rapier_blade.png
deleted file mode 100644
index 07327935..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/bone_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/bone_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/bone_rapier_blade_broken.png
deleted file mode 100644
index 97773445..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/bone_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/bone_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/bone_rapier_handle.png
deleted file mode 100644
index 48ee00f2..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/bone_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/bronze_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/bronze_rapier_accessory.png
deleted file mode 100644
index f9bf9491..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/bronze_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/bronze_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/bronze_rapier_blade.png
deleted file mode 100644
index 8562e6bd..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/bronze_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/bronze_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/bronze_rapier_blade_broken.png
deleted file mode 100644
index 36a2d91a..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/bronze_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/bronze_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/bronze_rapier_handle.png
deleted file mode 100644
index 9f3ff503..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/bronze_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/cactus_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/cactus_rapier_accessory.png
deleted file mode 100644
index 999e4d47..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/cactus_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/cactus_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/cactus_rapier_blade.png
deleted file mode 100644
index 5f47d168..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/cactus_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/cactus_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/cactus_rapier_blade_broken.png
deleted file mode 100644
index 2a31cba0..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/cactus_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/cactus_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/cactus_rapier_handle.png
deleted file mode 100644
index 64ed5273..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/cactus_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/cobalt_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/cobalt_rapier_accessory.png
deleted file mode 100644
index 9bd0f7ef..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/cobalt_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/cobalt_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/cobalt_rapier_blade.png
deleted file mode 100644
index d3167d91..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/cobalt_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/cobalt_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/cobalt_rapier_blade_broken.png
deleted file mode 100644
index 27d37a99..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/cobalt_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/cobalt_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/cobalt_rapier_handle.png
deleted file mode 100644
index 22a17751..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/cobalt_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/copper_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/copper_rapier_accessory.png
deleted file mode 100644
index f2bfd21e..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/copper_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/copper_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/copper_rapier_blade.png
deleted file mode 100644
index 72bc3994..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/copper_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/copper_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/copper_rapier_blade_broken.png
deleted file mode 100644
index 87170304..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/copper_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/copper_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/copper_rapier_handle.png
deleted file mode 100644
index d4f017e7..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/copper_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/diamond_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/diamond_rapier_effect.png
deleted file mode 100644
index 525e944f..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/diamond_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/electric_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/electric_rapier_effect.png
deleted file mode 100644
index 45448b79..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/electric_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/emerald_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/emerald_rapier_effect.png
deleted file mode 100644
index 6a82213a..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/emerald_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/flint_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/flint_rapier_accessory.png
deleted file mode 100644
index 1bead7a2..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/flint_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/flint_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/flint_rapier_blade.png
deleted file mode 100644
index 44a4fd77..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/flint_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/flint_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/flint_rapier_blade_broken.png
deleted file mode 100644
index f57f2e93..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/flint_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/flint_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/flint_rapier_handle.png
deleted file mode 100644
index 5fac720d..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/flint_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/flux_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/flux_rapier_effect.png
deleted file mode 100644
index 2517b406..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/flux_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/glowstone_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/glowstone_rapier_effect.png
deleted file mode 100644
index 35e88b04..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/glowstone_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/ice_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/ice_rapier_effect.png
deleted file mode 100644
index 129b5b80..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/ice_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/iron_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/iron_rapier_accessory.png
deleted file mode 100644
index 60c6d0b6..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/iron_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/iron_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/iron_rapier_blade.png
deleted file mode 100644
index 175c7d3b..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/iron_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/iron_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/iron_rapier_blade_broken.png
deleted file mode 100644
index bd0a3b24..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/iron_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/iron_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/iron_rapier_handle.png
deleted file mode 100644
index 36c05ff1..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/iron_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/lapis_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/lapis_rapier_effect.png
deleted file mode 100644
index 07fffcc6..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/lapis_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/lava_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/lava_rapier_effect.png
deleted file mode 100644
index 50493321..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/lava_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/manyullyn_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/manyullyn_rapier_accessory.png
deleted file mode 100644
index ebfa83de..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/manyullyn_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/manyullyn_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/manyullyn_rapier_blade.png
deleted file mode 100644
index 834831be..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/manyullyn_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/manyullyn_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/manyullyn_rapier_blade_broken.png
deleted file mode 100644
index c98d7e6b..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/manyullyn_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/manyullyn_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/manyullyn_rapier_handle.png
deleted file mode 100644
index 763f72b8..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/manyullyn_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/moss_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/moss_rapier_effect.png
deleted file mode 100644
index 9c8ddae6..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/moss_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/necrotic_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/necrotic_rapier_effect.png
deleted file mode 100644
index 7806af0e..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/necrotic_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/netherrack_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/netherrack_rapier_accessory.png
deleted file mode 100644
index 0d0432e8..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/netherrack_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/netherrack_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/netherrack_rapier_blade.png
deleted file mode 100644
index 6fe1aedf..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/netherrack_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/netherrack_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/netherrack_rapier_blade_broken.png
deleted file mode 100644
index f038c5b1..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/netherrack_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/netherrack_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/netherrack_rapier_handle.png
deleted file mode 100644
index ea484451..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/netherrack_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/obsidian_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/obsidian_rapier_accessory.png
deleted file mode 100644
index 2bff9872..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/obsidian_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/obsidian_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/obsidian_rapier_blade.png
deleted file mode 100644
index feb95776..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/obsidian_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/obsidian_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/obsidian_rapier_blade_broken.png
deleted file mode 100644
index 458ae462..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/obsidian_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/obsidian_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/obsidian_rapier_handle.png
deleted file mode 100644
index 840e2812..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/obsidian_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/paper_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/paper_rapier_accessory.png
deleted file mode 100644
index b103e643..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/paper_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/paper_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/paper_rapier_blade.png
deleted file mode 100644
index 40dd001b..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/paper_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/paper_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/paper_rapier_blade_broken.png
deleted file mode 100644
index 7c4fbf45..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/paper_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/paper_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/paper_rapier_handle.png
deleted file mode 100644
index 0847dfaa..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/paper_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/pigiron_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/pigiron_rapier_accessory.png
deleted file mode 100644
index 6a495305..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/pigiron_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/pigiron_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/pigiron_rapier_blade.png
deleted file mode 100644
index 0794ad3a..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/pigiron_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/pigiron_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/pigiron_rapier_blade_broken.png
deleted file mode 100644
index 4dc240f9..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/pigiron_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/pigiron_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/pigiron_rapier_handle.png
deleted file mode 100644
index d952783c..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/pigiron_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/piston_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/piston_rapier_effect.png
deleted file mode 100644
index a3d8b903..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/piston_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/quartz_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/quartz_rapier_effect.png
deleted file mode 100644
index 8479758a..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/quartz_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/redstone_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/redstone_rapier_effect.png
deleted file mode 100644
index f5887920..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/redstone_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/reinforced_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/reinforced_rapier_effect.png
deleted file mode 100644
index e7f78cc2..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/reinforced_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/silk_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/silk_rapier_effect.png
deleted file mode 100644
index 79352aa4..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/silk_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/slime_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/slime_rapier_accessory.png
deleted file mode 100644
index 4d3be673..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/slime_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/slime_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/slime_rapier_blade.png
deleted file mode 100644
index 9216b051..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/slime_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/slime_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/slime_rapier_blade_broken.png
deleted file mode 100644
index 5e531292..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/slime_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/slime_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/slime_rapier_handle.png
deleted file mode 100644
index cbaaf82f..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/slime_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/smite_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/smite_rapier_effect.png
deleted file mode 100644
index b36fc101..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/smite_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/spider_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/spider_rapier_effect.png
deleted file mode 100644
index 72460d28..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/spider_rapier_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/steel_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/steel_rapier_accessory.png
deleted file mode 100644
index 7213d5f3..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/steel_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/steel_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/steel_rapier_blade.png
deleted file mode 100644
index bcd0e558..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/steel_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/steel_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/steel_rapier_blade_broken.png
deleted file mode 100644
index d3158512..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/steel_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/steel_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/steel_rapier_handle.png
deleted file mode 100644
index 01d769b1..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/steel_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/stone_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/stone_rapier_accessory.png
deleted file mode 100644
index 8a9959cc..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/stone_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/stone_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/stone_rapier_blade.png
deleted file mode 100644
index e02c6ca0..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/stone_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/stone_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/stone_rapier_blade_broken.png
deleted file mode 100644
index eeeb5778..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/stone_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/stone_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/stone_rapier_handle.png
deleted file mode 100644
index ca790d42..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/stone_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/thaumium_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/thaumium_rapier_accessory.png
deleted file mode 100644
index a383a5f6..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/thaumium_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/thaumium_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/thaumium_rapier_blade.png
deleted file mode 100644
index 95d44c4d..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/thaumium_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/thaumium_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/thaumium_rapier_blade_broken.png
deleted file mode 100644
index cdc0b7dd..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/thaumium_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/thaumium_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/thaumium_rapier_handle.png
deleted file mode 100644
index fdaf47e8..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/thaumium_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/wood_rapier_accessory.png b/resources/assets/tinker/textures/items/rapier/wood_rapier_accessory.png
deleted file mode 100644
index 9ff75923..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/wood_rapier_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/wood_rapier_blade.png b/resources/assets/tinker/textures/items/rapier/wood_rapier_blade.png
deleted file mode 100644
index 767b35ce..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/wood_rapier_blade.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/wood_rapier_blade_broken.png b/resources/assets/tinker/textures/items/rapier/wood_rapier_blade_broken.png
deleted file mode 100644
index 92b6b3f8..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/wood_rapier_blade_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/rapier/wood_rapier_handle.png b/resources/assets/tinker/textures/items/rapier/wood_rapier_handle.png
deleted file mode 100644
index 5bb337be..00000000
Binary files a/resources/assets/tinker/textures/items/rapier/wood_rapier_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/redstoneball.png b/resources/assets/tinker/textures/items/redstoneball.png
deleted file mode 100644
index 8d5e1a67..00000000
Binary files a/resources/assets/tinker/textures/items/redstoneball.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/alumite_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/alumite_scythe_accessory.png
deleted file mode 100644
index 4b653ded..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/alumite_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/alumite_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/alumite_scythe_binding.png
deleted file mode 100644
index f7ad4e2c..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/alumite_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/alumite_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/alumite_scythe_handle.png
deleted file mode 100644
index 908797d1..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/alumite_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/alumite_scythe_head.png b/resources/assets/tinker/textures/items/scythe/alumite_scythe_head.png
deleted file mode 100644
index 78edf56b..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/alumite_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/alumite_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/alumite_scythe_head_broken.png
deleted file mode 100644
index 6d8fa4da..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/alumite_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/ardite_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/ardite_scythe_accessory.png
deleted file mode 100644
index 5198fcf0..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/ardite_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/ardite_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/ardite_scythe_binding.png
deleted file mode 100644
index 4dfbda04..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/ardite_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/ardite_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/ardite_scythe_handle.png
deleted file mode 100644
index 8247cc4d..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/ardite_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/ardite_scythe_head.png b/resources/assets/tinker/textures/items/scythe/ardite_scythe_head.png
deleted file mode 100644
index 7a81ad9a..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/ardite_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/ardite_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/ardite_scythe_head_broken.png
deleted file mode 100644
index a1ade741..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/ardite_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/beheading_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/beheading_scythe_effect.png
deleted file mode 100644
index 090e07c3..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/beheading_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/blaze_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/blaze_scythe_effect.png
deleted file mode 100644
index ea191cf8..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/blaze_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/blueslime_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/blueslime_scythe_accessory.png
deleted file mode 100644
index 1d51e06e..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/blueslime_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/blueslime_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/blueslime_scythe_binding.png
deleted file mode 100644
index 7c220fcf..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/blueslime_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/blueslime_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/blueslime_scythe_handle.png
deleted file mode 100644
index 0f14c21d..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/blueslime_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/blueslime_scythe_head.png b/resources/assets/tinker/textures/items/scythe/blueslime_scythe_head.png
deleted file mode 100644
index 3fe25d97..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/blueslime_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/blueslime_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/blueslime_scythe_head_broken.png
deleted file mode 100644
index ae167f84..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/blueslime_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/bone_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/bone_scythe_accessory.png
deleted file mode 100644
index 862b1dbc..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/bone_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/bone_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/bone_scythe_binding.png
deleted file mode 100644
index dbaa7c06..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/bone_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/bone_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/bone_scythe_handle.png
deleted file mode 100644
index 04dfc015..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/bone_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/bone_scythe_head.png b/resources/assets/tinker/textures/items/scythe/bone_scythe_head.png
deleted file mode 100644
index bc9b73f2..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/bone_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/bone_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/bone_scythe_head_broken.png
deleted file mode 100644
index edf0b25b..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/bone_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/bronze_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/bronze_scythe_accessory.png
deleted file mode 100644
index ad284e2d..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/bronze_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/bronze_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/bronze_scythe_binding.png
deleted file mode 100644
index 6b0f29e2..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/bronze_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/bronze_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/bronze_scythe_handle.png
deleted file mode 100644
index 08bcb9ba..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/bronze_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/bronze_scythe_head.png b/resources/assets/tinker/textures/items/scythe/bronze_scythe_head.png
deleted file mode 100644
index 1fe4f3b4..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/bronze_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/bronze_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/bronze_scythe_head_broken.png
deleted file mode 100644
index dd095429..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/bronze_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/cactus_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/cactus_scythe_accessory.png
deleted file mode 100644
index d4626de3..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/cactus_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/cactus_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/cactus_scythe_binding.png
deleted file mode 100644
index b2f3023c..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/cactus_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/cactus_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/cactus_scythe_handle.png
deleted file mode 100644
index 7cbd9b7a..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/cactus_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/cactus_scythe_head.png b/resources/assets/tinker/textures/items/scythe/cactus_scythe_head.png
deleted file mode 100644
index d7b6725e..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/cactus_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/cactus_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/cactus_scythe_head_broken.png
deleted file mode 100644
index 115a1e4d..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/cactus_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/cobalt_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/cobalt_scythe_accessory.png
deleted file mode 100644
index e185e4a0..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/cobalt_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/cobalt_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/cobalt_scythe_binding.png
deleted file mode 100644
index 7fdf2b6d..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/cobalt_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/cobalt_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/cobalt_scythe_handle.png
deleted file mode 100644
index 467e4a79..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/cobalt_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/cobalt_scythe_head.png b/resources/assets/tinker/textures/items/scythe/cobalt_scythe_head.png
deleted file mode 100644
index a6141ed3..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/cobalt_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/cobalt_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/cobalt_scythe_head_broken.png
deleted file mode 100644
index 9e55251e..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/cobalt_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/copper_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/copper_scythe_accessory.png
deleted file mode 100644
index 95fcc194..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/copper_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/copper_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/copper_scythe_binding.png
deleted file mode 100644
index e03b4f83..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/copper_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/copper_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/copper_scythe_handle.png
deleted file mode 100644
index e9410a08..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/copper_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/copper_scythe_head.png b/resources/assets/tinker/textures/items/scythe/copper_scythe_head.png
deleted file mode 100644
index 1a17b5e9..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/copper_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/copper_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/copper_scythe_head_broken.png
deleted file mode 100644
index 019c6ba8..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/copper_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/diamond_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/diamond_scythe_effect.png
deleted file mode 100644
index 21411fc7..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/diamond_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/electric_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/electric_scythe_effect.png
deleted file mode 100644
index f2199f51..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/electric_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/emerald_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/emerald_scythe_effect.png
deleted file mode 100644
index 0af374b9..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/emerald_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/flint_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/flint_scythe_accessory.png
deleted file mode 100644
index 87d0a455..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/flint_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/flint_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/flint_scythe_binding.png
deleted file mode 100644
index 25e50e8c..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/flint_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/flint_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/flint_scythe_handle.png
deleted file mode 100644
index c6d41bde..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/flint_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/flint_scythe_head.png b/resources/assets/tinker/textures/items/scythe/flint_scythe_head.png
deleted file mode 100644
index 24fa303e..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/flint_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/flint_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/flint_scythe_head_broken.png
deleted file mode 100644
index b6a0a267..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/flint_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/flux_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/flux_scythe_effect.png
deleted file mode 100644
index 76287784..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/flux_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/ice_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/ice_scythe_effect.png
deleted file mode 100644
index 96729e15..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/ice_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/iron_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/iron_scythe_accessory.png
deleted file mode 100644
index eee73970..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/iron_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/iron_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/iron_scythe_binding.png
deleted file mode 100644
index 340808ed..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/iron_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/iron_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/iron_scythe_handle.png
deleted file mode 100644
index 0540d650..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/iron_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/iron_scythe_head.png b/resources/assets/tinker/textures/items/scythe/iron_scythe_head.png
deleted file mode 100644
index 498e7292..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/iron_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/iron_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/iron_scythe_head_broken.png
deleted file mode 100644
index 8cf2569a..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/iron_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/lapis_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/lapis_scythe_effect.png
deleted file mode 100644
index 863e3216..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/lapis_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/lava_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/lava_scythe_effect.png
deleted file mode 100644
index c465c6bd..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/lava_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_accessory.png
deleted file mode 100644
index 7c4b0a8d..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_binding.png
deleted file mode 100644
index 42911934..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_handle.png
deleted file mode 100644
index 0672c893..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_head.png b/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_head.png
deleted file mode 100644
index 972f560a..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_head_broken.png
deleted file mode 100644
index b7241b62..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/manyullyn_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/moss_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/moss_scythe_effect.png
deleted file mode 100644
index f5e8697b..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/moss_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/necrotic_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/necrotic_scythe_effect.png
deleted file mode 100644
index 8673c584..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/necrotic_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/netherrack_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/netherrack_scythe_accessory.png
deleted file mode 100644
index e8a4aff6..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/netherrack_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/netherrack_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/netherrack_scythe_binding.png
deleted file mode 100644
index cab39f8a..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/netherrack_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/netherrack_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/netherrack_scythe_handle.png
deleted file mode 100644
index c10da824..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/netherrack_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/netherrack_scythe_head.png b/resources/assets/tinker/textures/items/scythe/netherrack_scythe_head.png
deleted file mode 100644
index fa818c6d..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/netherrack_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/netherrack_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/netherrack_scythe_head_broken.png
deleted file mode 100644
index 59692a4d..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/netherrack_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/obsidian_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/obsidian_scythe_accessory.png
deleted file mode 100644
index e3f12ae9..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/obsidian_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/obsidian_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/obsidian_scythe_binding.png
deleted file mode 100644
index 1b10f569..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/obsidian_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/obsidian_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/obsidian_scythe_handle.png
deleted file mode 100644
index 55bbf673..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/obsidian_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/obsidian_scythe_head.png b/resources/assets/tinker/textures/items/scythe/obsidian_scythe_head.png
deleted file mode 100644
index f17ee2ed..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/obsidian_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/obsidian_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/obsidian_scythe_head_broken.png
deleted file mode 100644
index 4bf7e1c4..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/obsidian_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/paper_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/paper_scythe_accessory.png
deleted file mode 100644
index a56659d7..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/paper_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/paper_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/paper_scythe_binding.png
deleted file mode 100644
index 59fbcf24..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/paper_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/paper_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/paper_scythe_handle.png
deleted file mode 100644
index d4874498..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/paper_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/paper_scythe_head.png b/resources/assets/tinker/textures/items/scythe/paper_scythe_head.png
deleted file mode 100644
index e57f8347..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/paper_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/paper_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/paper_scythe_head_broken.png
deleted file mode 100644
index e71dbbb4..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/paper_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/pigiron_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/pigiron_scythe_accessory.png
deleted file mode 100644
index fa8c4f00..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/pigiron_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/pigiron_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/pigiron_scythe_binding.png
deleted file mode 100644
index 0a76d3ef..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/pigiron_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/pigiron_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/pigiron_scythe_handle.png
deleted file mode 100644
index c5d525cc..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/pigiron_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/pigiron_scythe_head.png b/resources/assets/tinker/textures/items/scythe/pigiron_scythe_head.png
deleted file mode 100644
index 2560d501..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/pigiron_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/pigiron_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/pigiron_scythe_head_broken.png
deleted file mode 100644
index c9e6b28d..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/pigiron_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/piston_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/piston_scythe_effect.png
deleted file mode 100644
index cfab399a..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/piston_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/quartz_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/quartz_scythe_effect.png
deleted file mode 100644
index 143bf663..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/quartz_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/redstone_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/redstone_scythe_effect.png
deleted file mode 100644
index 7edcf971..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/redstone_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/reinforced_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/reinforced_scythe_effect.png
deleted file mode 100644
index 4ce41da9..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/reinforced_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/silk_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/silk_scythe_effect.png
deleted file mode 100644
index c9e20ccb..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/silk_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/slime_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/slime_scythe_accessory.png
deleted file mode 100644
index f43c6f04..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/slime_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/slime_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/slime_scythe_binding.png
deleted file mode 100644
index 7410cd4c..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/slime_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/slime_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/slime_scythe_handle.png
deleted file mode 100644
index 454f0ece..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/slime_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/slime_scythe_head.png b/resources/assets/tinker/textures/items/scythe/slime_scythe_head.png
deleted file mode 100644
index f9b213ef..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/slime_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/slime_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/slime_scythe_head_broken.png
deleted file mode 100644
index ff035619..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/slime_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/smite_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/smite_scythe_effect.png
deleted file mode 100644
index 99055eab..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/smite_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/spider_scythe_effect.png b/resources/assets/tinker/textures/items/scythe/spider_scythe_effect.png
deleted file mode 100644
index 2f02c2e1..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/spider_scythe_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/steel_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/steel_scythe_accessory.png
deleted file mode 100644
index 0a92fb47..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/steel_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/steel_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/steel_scythe_binding.png
deleted file mode 100644
index 8c609b43..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/steel_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/steel_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/steel_scythe_handle.png
deleted file mode 100644
index d14c9342..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/steel_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/steel_scythe_head.png b/resources/assets/tinker/textures/items/scythe/steel_scythe_head.png
deleted file mode 100644
index aab95cd9..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/steel_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/steel_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/steel_scythe_head_broken.png
deleted file mode 100644
index b503d409..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/steel_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/stone_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/stone_scythe_accessory.png
deleted file mode 100644
index 1cae8b46..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/stone_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/stone_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/stone_scythe_binding.png
deleted file mode 100644
index d4cd7768..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/stone_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/stone_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/stone_scythe_handle.png
deleted file mode 100644
index 110c5c26..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/stone_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/stone_scythe_head.png b/resources/assets/tinker/textures/items/scythe/stone_scythe_head.png
deleted file mode 100644
index 47650a9b..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/stone_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/stone_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/stone_scythe_head_broken.png
deleted file mode 100644
index fb71be96..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/stone_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/thaumium_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/thaumium_scythe_accessory.png
deleted file mode 100644
index dd2d2361..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/thaumium_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/thaumium_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/thaumium_scythe_binding.png
deleted file mode 100644
index eb4b191b..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/thaumium_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/thaumium_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/thaumium_scythe_handle.png
deleted file mode 100644
index 7991c8b2..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/thaumium_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/thaumium_scythe_head.png b/resources/assets/tinker/textures/items/scythe/thaumium_scythe_head.png
deleted file mode 100644
index fbe08223..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/thaumium_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/thaumium_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/thaumium_scythe_head_broken.png
deleted file mode 100644
index 3f7f6eaf..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/thaumium_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/wood_scythe_accessory.png b/resources/assets/tinker/textures/items/scythe/wood_scythe_accessory.png
deleted file mode 100644
index c3ab923f..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/wood_scythe_accessory.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/wood_scythe_binding.png b/resources/assets/tinker/textures/items/scythe/wood_scythe_binding.png
deleted file mode 100644
index aefa4664..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/wood_scythe_binding.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/wood_scythe_handle.png b/resources/assets/tinker/textures/items/scythe/wood_scythe_handle.png
deleted file mode 100644
index 8e532335..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/wood_scythe_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/wood_scythe_head.png b/resources/assets/tinker/textures/items/scythe/wood_scythe_head.png
deleted file mode 100644
index 594e4f75..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/wood_scythe_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/scythe/wood_scythe_head_broken.png b/resources/assets/tinker/textures/items/scythe/wood_scythe_head_broken.png
deleted file mode 100644
index 571a4c52..00000000
Binary files a/resources/assets/tinker/textures/items/scythe/wood_scythe_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/alumite_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/alumite_bow_bottom.png
deleted file mode 100644
index 203a8de6..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/alumite_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/alumite_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/alumite_bow_bottom_1.png
deleted file mode 100644
index 203a8de6..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/alumite_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/alumite_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/alumite_bow_bottom_2.png
deleted file mode 100644
index 0415766b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/alumite_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/alumite_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/alumite_bow_bottom_3.png
deleted file mode 100644
index 20524aa8..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/alumite_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/alumite_bow_top.png b/resources/assets/tinker/textures/items/shortbow/alumite_bow_top.png
deleted file mode 100644
index 414f8fa3..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/alumite_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/alumite_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/alumite_bow_top_1.png
deleted file mode 100644
index 414f8fa3..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/alumite_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/alumite_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/alumite_bow_top_2.png
deleted file mode 100644
index 29d3325b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/alumite_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/alumite_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/alumite_bow_top_3.png
deleted file mode 100644
index 012d9b2d..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/alumite_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/ardite_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/ardite_bow_bottom.png
deleted file mode 100644
index 35216238..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/ardite_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/ardite_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/ardite_bow_bottom_1.png
deleted file mode 100644
index 35216238..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/ardite_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/ardite_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/ardite_bow_bottom_2.png
deleted file mode 100644
index 9a1d63a8..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/ardite_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/ardite_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/ardite_bow_bottom_3.png
deleted file mode 100644
index 5385afe0..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/ardite_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/ardite_bow_top.png b/resources/assets/tinker/textures/items/shortbow/ardite_bow_top.png
deleted file mode 100644
index af3129c0..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/ardite_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/ardite_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/ardite_bow_top_1.png
deleted file mode 100644
index af3129c0..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/ardite_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/ardite_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/ardite_bow_top_2.png
deleted file mode 100644
index 56c15cf9..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/ardite_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/ardite_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/ardite_bow_top_3.png
deleted file mode 100644
index 2a9966d8..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/ardite_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/arrow_1.png b/resources/assets/tinker/textures/items/shortbow/arrow_1.png
deleted file mode 100644
index c1d3a4d6..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/arrow_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/arrow_2.png b/resources/assets/tinker/textures/items/shortbow/arrow_2.png
deleted file mode 100644
index 85ab8174..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/arrow_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/arrow_3.png b/resources/assets/tinker/textures/items/shortbow/arrow_3.png
deleted file mode 100644
index ccbcf63f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/arrow_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/beheading_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/beheading_bow_effect.png
deleted file mode 100644
index 440a4306..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/beheading_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/beheading_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/beheading_bow_effect_1.png
deleted file mode 100644
index 440a4306..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/beheading_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/beheading_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/beheading_bow_effect_2.png
deleted file mode 100644
index 440a4306..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/beheading_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/beheading_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/beheading_bow_effect_3.png
deleted file mode 100644
index 440a4306..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/beheading_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/blaze_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/blaze_bow_effect.png
deleted file mode 100644
index 32f42943..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/blaze_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/blaze_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/blaze_bow_effect_1.png
deleted file mode 100644
index 32f42943..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/blaze_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/blaze_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/blaze_bow_effect_2.png
deleted file mode 100644
index dbb350ac..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/blaze_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/blaze_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/blaze_bow_effect_3.png
deleted file mode 100644
index 92019bcb..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/blaze_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/blueslime_bow_bottom.png
deleted file mode 100644
index d7ae0ad2..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/blueslime_bow_bottom_1.png
deleted file mode 100644
index d7ae0ad2..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/blueslime_bow_bottom_2.png
deleted file mode 100644
index a8889cb8..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/blueslime_bow_bottom_3.png
deleted file mode 100644
index 3d081b66..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_top.png b/resources/assets/tinker/textures/items/shortbow/blueslime_bow_top.png
deleted file mode 100644
index aec86276..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/blueslime_bow_top_1.png
deleted file mode 100644
index aec86276..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/blueslime_bow_top_2.png
deleted file mode 100644
index 81c01ea8..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/blueslime_bow_top_3.png
deleted file mode 100644
index a31f926e..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/blueslime_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bone_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/bone_bow_bottom.png
deleted file mode 100644
index dc3756eb..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bone_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bone_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/bone_bow_bottom_1.png
deleted file mode 100644
index dc3756eb..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bone_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bone_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/bone_bow_bottom_2.png
deleted file mode 100644
index 661ed25b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bone_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bone_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/bone_bow_bottom_3.png
deleted file mode 100644
index a564f4f8..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bone_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bone_bow_top.png b/resources/assets/tinker/textures/items/shortbow/bone_bow_top.png
deleted file mode 100644
index f98e6aaa..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bone_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bone_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/bone_bow_top_1.png
deleted file mode 100644
index f98e6aaa..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bone_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bone_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/bone_bow_top_2.png
deleted file mode 100644
index 10fa7e0b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bone_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bone_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/bone_bow_top_3.png
deleted file mode 100644
index 1738259b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bone_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bronze_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/bronze_bow_bottom.png
deleted file mode 100644
index 3f49ddc1..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bronze_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bronze_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/bronze_bow_bottom_1.png
deleted file mode 100644
index 3f49ddc1..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bronze_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bronze_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/bronze_bow_bottom_2.png
deleted file mode 100644
index 3cc24e60..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bronze_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bronze_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/bronze_bow_bottom_3.png
deleted file mode 100644
index 0cfae90a..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bronze_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bronze_bow_top.png b/resources/assets/tinker/textures/items/shortbow/bronze_bow_top.png
deleted file mode 100644
index 31a3a8fd..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bronze_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bronze_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/bronze_bow_top_1.png
deleted file mode 100644
index 31a3a8fd..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bronze_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bronze_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/bronze_bow_top_2.png
deleted file mode 100644
index 2feded05..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bronze_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/bronze_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/bronze_bow_top_3.png
deleted file mode 100644
index d7f3278e..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/bronze_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cactus_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/cactus_bow_bottom.png
deleted file mode 100644
index d5fdb240..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cactus_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cactus_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/cactus_bow_bottom_1.png
deleted file mode 100644
index d5fdb240..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cactus_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cactus_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/cactus_bow_bottom_2.png
deleted file mode 100644
index ffdc2107..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cactus_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cactus_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/cactus_bow_bottom_3.png
deleted file mode 100644
index 9f847e00..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cactus_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cactus_bow_top.png b/resources/assets/tinker/textures/items/shortbow/cactus_bow_top.png
deleted file mode 100644
index 80f9193b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cactus_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cactus_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/cactus_bow_top_1.png
deleted file mode 100644
index 80f9193b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cactus_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cactus_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/cactus_bow_top_2.png
deleted file mode 100644
index 7be9e12a..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cactus_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cactus_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/cactus_bow_top_3.png
deleted file mode 100644
index 4070726b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cactus_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/cobalt_bow_bottom.png
deleted file mode 100644
index 567fe212..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/cobalt_bow_bottom_1.png
deleted file mode 100644
index 567fe212..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/cobalt_bow_bottom_2.png
deleted file mode 100644
index bf4a2f78..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/cobalt_bow_bottom_3.png
deleted file mode 100644
index 48bfd6f7..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_top.png b/resources/assets/tinker/textures/items/shortbow/cobalt_bow_top.png
deleted file mode 100644
index 48652ed3..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/cobalt_bow_top_1.png
deleted file mode 100644
index 48652ed3..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/cobalt_bow_top_2.png
deleted file mode 100644
index 30965baa..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/cobalt_bow_top_3.png
deleted file mode 100644
index 5401d8e4..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/cobalt_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/copper_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/copper_bow_bottom.png
deleted file mode 100644
index 8928394a..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/copper_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/copper_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/copper_bow_bottom_1.png
deleted file mode 100644
index 8928394a..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/copper_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/copper_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/copper_bow_bottom_2.png
deleted file mode 100644
index 499df3c1..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/copper_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/copper_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/copper_bow_bottom_3.png
deleted file mode 100644
index 5f5201db..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/copper_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/copper_bow_top.png b/resources/assets/tinker/textures/items/shortbow/copper_bow_top.png
deleted file mode 100644
index 0c258c94..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/copper_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/copper_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/copper_bow_top_1.png
deleted file mode 100644
index 0c258c94..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/copper_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/copper_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/copper_bow_top_2.png
deleted file mode 100644
index c0e9ef28..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/copper_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/copper_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/copper_bow_top_3.png
deleted file mode 100644
index 37c1e7fb..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/copper_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/diamond_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/diamond_bow_effect.png
deleted file mode 100644
index 8e818f54..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/diamond_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/diamond_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/diamond_bow_effect_1.png
deleted file mode 100644
index 8e818f54..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/diamond_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/diamond_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/diamond_bow_effect_2.png
deleted file mode 100644
index 8e818f54..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/diamond_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/diamond_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/diamond_bow_effect_3.png
deleted file mode 100644
index 8e818f54..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/diamond_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/electric_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/electric_bow_effect.png
deleted file mode 100644
index 89bc383f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/electric_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/electric_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/electric_bow_effect_1.png
deleted file mode 100644
index 89bc383f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/electric_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/electric_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/electric_bow_effect_2.png
deleted file mode 100644
index 89bc383f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/electric_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/electric_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/electric_bow_effect_3.png
deleted file mode 100644
index 41acfc3e..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/electric_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/emerald_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/emerald_bow_effect.png
deleted file mode 100644
index fedf64cb..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/emerald_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/emerald_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/emerald_bow_effect_1.png
deleted file mode 100644
index fedf64cb..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/emerald_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/emerald_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/emerald_bow_effect_2.png
deleted file mode 100644
index fedf64cb..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/emerald_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/emerald_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/emerald_bow_effect_3.png
deleted file mode 100644
index fedf64cb..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/emerald_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring.png b/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring.png
deleted file mode 100644
index 1011b681..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring_1.png b/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring_1.png
deleted file mode 100644
index db8d190d..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring_2.png b/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring_2.png
deleted file mode 100644
index 89d92080..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring_3.png b/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring_3.png
deleted file mode 100644
index 9595fa27..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring_broken.png b/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring_broken.png
deleted file mode 100644
index efb10460..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flamestring_bowstring_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flint_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/flint_bow_bottom.png
deleted file mode 100644
index e8486744..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flint_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flint_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/flint_bow_bottom_1.png
deleted file mode 100644
index e8486744..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flint_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flint_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/flint_bow_bottom_2.png
deleted file mode 100644
index 238bc963..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flint_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flint_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/flint_bow_bottom_3.png
deleted file mode 100644
index a67eb39b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flint_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flint_bow_top.png b/resources/assets/tinker/textures/items/shortbow/flint_bow_top.png
deleted file mode 100644
index 98a0f654..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flint_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flint_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/flint_bow_top_1.png
deleted file mode 100644
index 98a0f654..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flint_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flint_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/flint_bow_top_2.png
deleted file mode 100644
index 7d154de1..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flint_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flint_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/flint_bow_top_3.png
deleted file mode 100644
index c86826ed..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flint_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flux_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/flux_bow_effect.png
deleted file mode 100644
index 90f36e86..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flux_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flux_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/flux_bow_effect_1.png
deleted file mode 100644
index 90f36e86..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flux_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flux_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/flux_bow_effect_2.png
deleted file mode 100644
index f0e6a660..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flux_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/flux_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/flux_bow_effect_3.png
deleted file mode 100644
index dd15a505..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/flux_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/ice_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/ice_bow_effect.png
deleted file mode 100644
index 1b950f37..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/ice_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/ice_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/ice_bow_effect_1.png
deleted file mode 100644
index 1b950f37..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/ice_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/ice_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/ice_bow_effect_2.png
deleted file mode 100644
index bde2464b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/ice_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/ice_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/ice_bow_effect_3.png
deleted file mode 100644
index bde2464b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/ice_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/iron_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/iron_bow_bottom.png
deleted file mode 100644
index d32a9cd6..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/iron_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/iron_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/iron_bow_bottom_1.png
deleted file mode 100644
index d32a9cd6..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/iron_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/iron_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/iron_bow_bottom_2.png
deleted file mode 100644
index 559c9ebb..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/iron_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/iron_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/iron_bow_bottom_3.png
deleted file mode 100644
index fc5564d2..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/iron_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/iron_bow_top.png b/resources/assets/tinker/textures/items/shortbow/iron_bow_top.png
deleted file mode 100644
index bb382d86..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/iron_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/iron_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/iron_bow_top_1.png
deleted file mode 100644
index bb382d86..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/iron_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/iron_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/iron_bow_top_2.png
deleted file mode 100644
index a1cb0153..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/iron_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/iron_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/iron_bow_top_3.png
deleted file mode 100644
index 8e514166..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/iron_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/lapis_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/lapis_bow_effect.png
deleted file mode 100644
index 28e38ff8..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/lapis_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/lapis_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/lapis_bow_effect_1.png
deleted file mode 100644
index 28e38ff8..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/lapis_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/lapis_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/lapis_bow_effect_2.png
deleted file mode 100644
index 28e38ff8..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/lapis_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/lapis_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/lapis_bow_effect_3.png
deleted file mode 100644
index 1a125fdd..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/lapis_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/lava_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/lava_bow_effect.png
deleted file mode 100644
index d45a0fe0..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/lava_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/lava_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/lava_bow_effect_1.png
deleted file mode 100644
index d45a0fe0..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/lava_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/lava_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/lava_bow_effect_2.png
deleted file mode 100644
index 5650ccbe..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/lava_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/lava_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/lava_bow_effect_3.png
deleted file mode 100644
index 5650ccbe..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/lava_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring.png b/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring.png
deleted file mode 100644
index 3f3f9c0a..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring_1.png b/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring_1.png
deleted file mode 100644
index ab1f032b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring_2.png b/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring_2.png
deleted file mode 100644
index faa3d3fa..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring_3.png b/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring_3.png
deleted file mode 100644
index a6ff7967..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring_broken.png b/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring_broken.png
deleted file mode 100644
index a765b045..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/magicfabric_bowstring_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_bottom.png
deleted file mode 100644
index 7c5f463e..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_bottom_1.png
deleted file mode 100644
index 7c5f463e..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_bottom_2.png
deleted file mode 100644
index 6f84881f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_bottom_3.png
deleted file mode 100644
index 04bb17be..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_top.png b/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_top.png
deleted file mode 100644
index 82aa1ffd..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_top_1.png
deleted file mode 100644
index 82aa1ffd..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_top_2.png
deleted file mode 100644
index e622cdda..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_top_3.png
deleted file mode 100644
index f6ee5f3c..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/manyullyn_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/moss_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/moss_bow_effect.png
deleted file mode 100644
index 42af1203..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/moss_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/moss_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/moss_bow_effect_1.png
deleted file mode 100644
index 42af1203..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/moss_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/moss_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/moss_bow_effect_2.png
deleted file mode 100644
index 2693dcc9..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/moss_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/moss_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/moss_bow_effect_3.png
deleted file mode 100644
index 66b18ce3..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/moss_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/necrotic_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/necrotic_bow_effect.png
deleted file mode 100644
index 9e2dcc59..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/necrotic_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/necrotic_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/necrotic_bow_effect_1.png
deleted file mode 100644
index 9e2dcc59..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/necrotic_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/necrotic_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/necrotic_bow_effect_2.png
deleted file mode 100644
index 9e2dcc59..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/necrotic_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/necrotic_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/necrotic_bow_effect_3.png
deleted file mode 100644
index 9e2dcc59..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/necrotic_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/netherrack_bow_bottom.png
deleted file mode 100644
index 8dcda37a..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/netherrack_bow_bottom_1.png
deleted file mode 100644
index 8dcda37a..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/netherrack_bow_bottom_2.png
deleted file mode 100644
index dc122ddf..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/netherrack_bow_bottom_3.png
deleted file mode 100644
index 537076db..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_top.png b/resources/assets/tinker/textures/items/shortbow/netherrack_bow_top.png
deleted file mode 100644
index 183081ab..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/netherrack_bow_top_1.png
deleted file mode 100644
index 183081ab..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/netherrack_bow_top_2.png
deleted file mode 100644
index 0fb9c2a0..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/netherrack_bow_top_3.png
deleted file mode 100644
index ebcf5b0f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/netherrack_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/obsidian_bow_bottom.png
deleted file mode 100644
index cce2e594..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/obsidian_bow_bottom_1.png
deleted file mode 100644
index cce2e594..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/obsidian_bow_bottom_2.png
deleted file mode 100644
index 8ef3359f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/obsidian_bow_bottom_3.png
deleted file mode 100644
index 76856ef2..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_top.png b/resources/assets/tinker/textures/items/shortbow/obsidian_bow_top.png
deleted file mode 100644
index caa5d18b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/obsidian_bow_top_1.png
deleted file mode 100644
index caa5d18b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/obsidian_bow_top_2.png
deleted file mode 100644
index 29494d39..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/obsidian_bow_top_3.png
deleted file mode 100644
index 932f7523..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/obsidian_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/paper_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/paper_bow_bottom.png
deleted file mode 100644
index b3ac0c86..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/paper_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/paper_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/paper_bow_bottom_1.png
deleted file mode 100644
index b3ac0c86..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/paper_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/paper_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/paper_bow_bottom_2.png
deleted file mode 100644
index 9f19a8b4..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/paper_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/paper_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/paper_bow_bottom_3.png
deleted file mode 100644
index 0597d6c2..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/paper_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/paper_bow_top.png b/resources/assets/tinker/textures/items/shortbow/paper_bow_top.png
deleted file mode 100644
index 7038f3d5..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/paper_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/paper_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/paper_bow_top_1.png
deleted file mode 100644
index 7038f3d5..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/paper_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/paper_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/paper_bow_top_2.png
deleted file mode 100644
index c46de670..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/paper_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/paper_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/paper_bow_top_3.png
deleted file mode 100644
index 6c490f17..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/paper_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/pigiron_bow_bottom.png
deleted file mode 100644
index a2e2a3b9..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/pigiron_bow_bottom_1.png
deleted file mode 100644
index a2e2a3b9..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/pigiron_bow_bottom_2.png
deleted file mode 100644
index c0014659..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/pigiron_bow_bottom_3.png
deleted file mode 100644
index 36181c27..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_top.png b/resources/assets/tinker/textures/items/shortbow/pigiron_bow_top.png
deleted file mode 100644
index 97bb97d3..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/pigiron_bow_top_1.png
deleted file mode 100644
index 97bb97d3..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/pigiron_bow_top_2.png
deleted file mode 100644
index 1e3ebcd8..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/pigiron_bow_top_3.png
deleted file mode 100644
index c90b5d70..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/pigiron_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/piston_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/piston_bow_effect.png
deleted file mode 100644
index cfaee27f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/piston_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/piston_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/piston_bow_effect_1.png
deleted file mode 100644
index cfaee27f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/piston_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/piston_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/piston_bow_effect_2.png
deleted file mode 100644
index cfaee27f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/piston_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/piston_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/piston_bow_effect_3.png
deleted file mode 100644
index cfaee27f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/piston_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/quartz_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/quartz_bow_effect.png
deleted file mode 100644
index 861f9944..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/quartz_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/quartz_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/quartz_bow_effect_1.png
deleted file mode 100644
index 861f9944..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/quartz_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/quartz_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/quartz_bow_effect_2.png
deleted file mode 100644
index 4e99eac5..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/quartz_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/quartz_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/quartz_bow_effect_3.png
deleted file mode 100644
index ab6564e9..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/quartz_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/redstone_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/redstone_bow_effect.png
deleted file mode 100644
index ab1281dc..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/redstone_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/redstone_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/redstone_bow_effect_1.png
deleted file mode 100644
index ed6f7f94..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/redstone_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/redstone_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/redstone_bow_effect_2.png
deleted file mode 100644
index 20dc0252..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/redstone_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/redstone_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/redstone_bow_effect_3.png
deleted file mode 100644
index e7e2ae99..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/redstone_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/reinforced_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/reinforced_bow_effect.png
deleted file mode 100644
index 96767628..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/reinforced_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/reinforced_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/reinforced_bow_effect_1.png
deleted file mode 100644
index 96767628..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/reinforced_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/reinforced_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/reinforced_bow_effect_2.png
deleted file mode 100644
index 96767628..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/reinforced_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/reinforced_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/reinforced_bow_effect_3.png
deleted file mode 100644
index 96767628..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/reinforced_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/silk_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/silk_bow_effect.png
deleted file mode 100644
index bfc83c8f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/silk_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/silk_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/silk_bow_effect_1.png
deleted file mode 100644
index bfc83c8f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/silk_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/silk_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/silk_bow_effect_2.png
deleted file mode 100644
index e62b5a45..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/silk_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/silk_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/silk_bow_effect_3.png
deleted file mode 100644
index 6e5da9bd..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/silk_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/slime_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/slime_bow_bottom.png
deleted file mode 100644
index 02746278..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/slime_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/slime_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/slime_bow_bottom_1.png
deleted file mode 100644
index 02746278..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/slime_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/slime_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/slime_bow_bottom_2.png
deleted file mode 100644
index 06453f9d..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/slime_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/slime_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/slime_bow_bottom_3.png
deleted file mode 100644
index a74b8409..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/slime_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/slime_bow_top.png b/resources/assets/tinker/textures/items/shortbow/slime_bow_top.png
deleted file mode 100644
index a3aa62fc..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/slime_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/slime_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/slime_bow_top_1.png
deleted file mode 100644
index a3aa62fc..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/slime_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/slime_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/slime_bow_top_2.png
deleted file mode 100644
index 5dddf63f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/slime_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/slime_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/slime_bow_top_3.png
deleted file mode 100644
index 56200eec..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/slime_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/smite_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/smite_bow_effect.png
deleted file mode 100644
index 5f771c69..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/smite_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/smite_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/smite_bow_effect_1.png
deleted file mode 100644
index 5f771c69..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/smite_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/smite_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/smite_bow_effect_2.png
deleted file mode 100644
index 5f771c69..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/smite_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/smite_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/smite_bow_effect_3.png
deleted file mode 100644
index 5f771c69..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/smite_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/spider_bow_effect.png b/resources/assets/tinker/textures/items/shortbow/spider_bow_effect.png
deleted file mode 100644
index 6b12a3c1..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/spider_bow_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/spider_bow_effect_1.png b/resources/assets/tinker/textures/items/shortbow/spider_bow_effect_1.png
deleted file mode 100644
index 6b12a3c1..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/spider_bow_effect_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/spider_bow_effect_2.png b/resources/assets/tinker/textures/items/shortbow/spider_bow_effect_2.png
deleted file mode 100644
index c474a568..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/spider_bow_effect_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/spider_bow_effect_3.png b/resources/assets/tinker/textures/items/shortbow/spider_bow_effect_3.png
deleted file mode 100644
index dd07a1f7..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/spider_bow_effect_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/steel_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/steel_bow_bottom.png
deleted file mode 100644
index cd5c4937..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/steel_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/steel_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/steel_bow_bottom_1.png
deleted file mode 100644
index cd5c4937..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/steel_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/steel_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/steel_bow_bottom_2.png
deleted file mode 100644
index 93c8e271..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/steel_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/steel_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/steel_bow_bottom_3.png
deleted file mode 100644
index 411c0010..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/steel_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/steel_bow_top.png b/resources/assets/tinker/textures/items/shortbow/steel_bow_top.png
deleted file mode 100644
index 4343bdbb..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/steel_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/steel_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/steel_bow_top_1.png
deleted file mode 100644
index 4343bdbb..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/steel_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/steel_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/steel_bow_top_2.png
deleted file mode 100644
index a10fb72f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/steel_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/steel_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/steel_bow_top_3.png
deleted file mode 100644
index b2a87f62..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/steel_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/stone_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/stone_bow_bottom.png
deleted file mode 100644
index 87a8804b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/stone_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/stone_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/stone_bow_bottom_1.png
deleted file mode 100644
index 87a8804b..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/stone_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/stone_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/stone_bow_bottom_2.png
deleted file mode 100644
index e986341a..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/stone_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/stone_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/stone_bow_bottom_3.png
deleted file mode 100644
index b316b7f6..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/stone_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/stone_bow_top.png b/resources/assets/tinker/textures/items/shortbow/stone_bow_top.png
deleted file mode 100644
index cfba940f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/stone_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/stone_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/stone_bow_top_1.png
deleted file mode 100644
index cfba940f..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/stone_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/stone_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/stone_bow_top_2.png
deleted file mode 100644
index 0758268a..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/stone_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/stone_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/stone_bow_top_3.png
deleted file mode 100644
index 3d04f53e..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/stone_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/string_bowstring.png b/resources/assets/tinker/textures/items/shortbow/string_bowstring.png
deleted file mode 100644
index ff07f728..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/string_bowstring.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/string_bowstring_1.png b/resources/assets/tinker/textures/items/shortbow/string_bowstring_1.png
deleted file mode 100644
index f7ff4e54..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/string_bowstring_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/string_bowstring_2.png b/resources/assets/tinker/textures/items/shortbow/string_bowstring_2.png
deleted file mode 100644
index e8ba2a22..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/string_bowstring_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/string_bowstring_3.png b/resources/assets/tinker/textures/items/shortbow/string_bowstring_3.png
deleted file mode 100644
index 8f76ed1e..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/string_bowstring_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/string_bowstring_broken.png b/resources/assets/tinker/textures/items/shortbow/string_bowstring_broken.png
deleted file mode 100644
index 8ccc79df..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/string_bowstring_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/thaumium_bow_bottom.png
deleted file mode 100644
index 8020046a..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/thaumium_bow_bottom_1.png
deleted file mode 100644
index 8020046a..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/thaumium_bow_bottom_2.png
deleted file mode 100644
index d7a606da..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/thaumium_bow_bottom_3.png
deleted file mode 100644
index 6e2ca98c..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_top.png b/resources/assets/tinker/textures/items/shortbow/thaumium_bow_top.png
deleted file mode 100644
index b5d6106e..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/thaumium_bow_top_1.png
deleted file mode 100644
index b5d6106e..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/thaumium_bow_top_2.png
deleted file mode 100644
index bb289156..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/thaumium_bow_top_3.png
deleted file mode 100644
index 089d228c..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/thaumium_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/wood_bow_bottom.png b/resources/assets/tinker/textures/items/shortbow/wood_bow_bottom.png
deleted file mode 100644
index bfc9c430..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/wood_bow_bottom.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/wood_bow_bottom_1.png b/resources/assets/tinker/textures/items/shortbow/wood_bow_bottom_1.png
deleted file mode 100644
index bfc9c430..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/wood_bow_bottom_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/wood_bow_bottom_2.png b/resources/assets/tinker/textures/items/shortbow/wood_bow_bottom_2.png
deleted file mode 100644
index 25f8a4c4..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/wood_bow_bottom_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/wood_bow_bottom_3.png b/resources/assets/tinker/textures/items/shortbow/wood_bow_bottom_3.png
deleted file mode 100644
index 5e34ea93..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/wood_bow_bottom_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/wood_bow_top.png b/resources/assets/tinker/textures/items/shortbow/wood_bow_top.png
deleted file mode 100644
index c6832a55..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/wood_bow_top.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/wood_bow_top_1.png b/resources/assets/tinker/textures/items/shortbow/wood_bow_top_1.png
deleted file mode 100644
index c6832a55..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/wood_bow_top_1.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/wood_bow_top_2.png b/resources/assets/tinker/textures/items/shortbow/wood_bow_top_2.png
deleted file mode 100644
index c71b0d15..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/wood_bow_top_2.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shortbow/wood_bow_top_3.png b/resources/assets/tinker/textures/items/shortbow/wood_bow_top_3.png
deleted file mode 100644
index 43e1ba9a..00000000
Binary files a/resources/assets/tinker/textures/items/shortbow/wood_bow_top_3.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/alumite_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/alumite_shovel_handle.png
deleted file mode 100644
index df3beb4c..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/alumite_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/alumite_shovel_head.png b/resources/assets/tinker/textures/items/shovel/alumite_shovel_head.png
deleted file mode 100644
index 68009a6b..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/alumite_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/alumite_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/alumite_shovel_head_broken.png
deleted file mode 100644
index 5c03c70b..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/alumite_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/ardite_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/ardite_shovel_handle.png
deleted file mode 100644
index 5ff7af7e..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/ardite_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/ardite_shovel_head.png b/resources/assets/tinker/textures/items/shovel/ardite_shovel_head.png
deleted file mode 100644
index 2c51a939..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/ardite_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/ardite_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/ardite_shovel_head_broken.png
deleted file mode 100644
index 45dfef0e..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/ardite_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/beheading_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/beheading_shovel_effect.png
deleted file mode 100644
index 18a604c2..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/beheading_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/blaze_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/blaze_shovel_effect.png
deleted file mode 100644
index 1d2fa54e..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/blaze_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/blueslime_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/blueslime_shovel_handle.png
deleted file mode 100644
index 04b1e982..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/blueslime_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/blueslime_shovel_head.png b/resources/assets/tinker/textures/items/shovel/blueslime_shovel_head.png
deleted file mode 100644
index d6dd0eab..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/blueslime_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/blueslime_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/blueslime_shovel_head_broken.png
deleted file mode 100644
index a922c7b8..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/blueslime_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/bone_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/bone_shovel_handle.png
deleted file mode 100644
index 8f83d4d3..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/bone_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/bone_shovel_head.png b/resources/assets/tinker/textures/items/shovel/bone_shovel_head.png
deleted file mode 100644
index 5404e7d8..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/bone_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/bone_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/bone_shovel_head_broken.png
deleted file mode 100644
index 8e94cdbc..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/bone_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/bronze_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/bronze_shovel_handle.png
deleted file mode 100644
index f4714835..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/bronze_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/bronze_shovel_head.png b/resources/assets/tinker/textures/items/shovel/bronze_shovel_head.png
deleted file mode 100644
index 7bfee5f8..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/bronze_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/bronze_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/bronze_shovel_head_broken.png
deleted file mode 100644
index 59382abe..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/bronze_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/cactus_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/cactus_shovel_handle.png
deleted file mode 100644
index d8bc064e..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/cactus_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/cactus_shovel_head.png b/resources/assets/tinker/textures/items/shovel/cactus_shovel_head.png
deleted file mode 100644
index 099b7713..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/cactus_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/cactus_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/cactus_shovel_head_broken.png
deleted file mode 100644
index 7dce6a54..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/cactus_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/cobalt_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/cobalt_shovel_handle.png
deleted file mode 100644
index 8f7ff037..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/cobalt_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/cobalt_shovel_head.png b/resources/assets/tinker/textures/items/shovel/cobalt_shovel_head.png
deleted file mode 100644
index 46812422..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/cobalt_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/cobalt_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/cobalt_shovel_head_broken.png
deleted file mode 100644
index 947dec0f..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/cobalt_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/copper_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/copper_shovel_handle.png
deleted file mode 100644
index 2b58311d..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/copper_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/copper_shovel_head.png b/resources/assets/tinker/textures/items/shovel/copper_shovel_head.png
deleted file mode 100644
index 89794862..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/copper_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/copper_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/copper_shovel_head_broken.png
deleted file mode 100644
index c2111527..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/copper_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/diamond_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/diamond_shovel_effect.png
deleted file mode 100644
index 86bc078b..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/diamond_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/electric_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/electric_shovel_effect.png
deleted file mode 100644
index 772f952c..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/electric_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/emerald_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/emerald_shovel_effect.png
deleted file mode 100644
index b9f6e307..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/emerald_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/flint_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/flint_shovel_handle.png
deleted file mode 100644
index 58d7bf55..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/flint_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/flint_shovel_head.png b/resources/assets/tinker/textures/items/shovel/flint_shovel_head.png
deleted file mode 100644
index 09dc9f64..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/flint_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/flint_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/flint_shovel_head_broken.png
deleted file mode 100644
index 91169243..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/flint_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/flux_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/flux_shovel_effect.png
deleted file mode 100644
index ca254a68..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/flux_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/glowstone_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/glowstone_shovel_effect.png
deleted file mode 100644
index 48dbf33a..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/glowstone_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/ice_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/ice_shovel_effect.png
deleted file mode 100644
index a31e57ac..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/ice_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/iron_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/iron_shovel_handle.png
deleted file mode 100644
index 1e3dd230..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/iron_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/iron_shovel_head.png b/resources/assets/tinker/textures/items/shovel/iron_shovel_head.png
deleted file mode 100644
index 90a307c5..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/iron_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/iron_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/iron_shovel_head_broken.png
deleted file mode 100644
index 2629b12d..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/iron_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/lapis_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/lapis_shovel_effect.png
deleted file mode 100644
index f6054c09..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/lapis_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/lava_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/lava_shovel_effect.png
deleted file mode 100644
index a93aa515..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/lava_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/manyullyn_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/manyullyn_shovel_handle.png
deleted file mode 100644
index 08f0c025..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/manyullyn_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/manyullyn_shovel_head.png b/resources/assets/tinker/textures/items/shovel/manyullyn_shovel_head.png
deleted file mode 100644
index b7b8f735..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/manyullyn_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/manyullyn_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/manyullyn_shovel_head_broken.png
deleted file mode 100644
index e4f1e06e..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/manyullyn_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/moss_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/moss_shovel_effect.png
deleted file mode 100644
index 9e99949d..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/moss_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/necrotic_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/necrotic_shovel_effect.png
deleted file mode 100644
index a851b384..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/necrotic_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/netherrack_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/netherrack_shovel_handle.png
deleted file mode 100644
index e644023d..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/netherrack_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/netherrack_shovel_head.png b/resources/assets/tinker/textures/items/shovel/netherrack_shovel_head.png
deleted file mode 100644
index b97cf903..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/netherrack_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/netherrack_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/netherrack_shovel_head_broken.png
deleted file mode 100644
index e1cdcc00..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/netherrack_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/obsidian_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/obsidian_shovel_handle.png
deleted file mode 100644
index c68c0f01..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/obsidian_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/obsidian_shovel_head.png b/resources/assets/tinker/textures/items/shovel/obsidian_shovel_head.png
deleted file mode 100644
index 252f2284..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/obsidian_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/obsidian_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/obsidian_shovel_head_broken.png
deleted file mode 100644
index 43ee7dc9..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/obsidian_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/paper_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/paper_shovel_handle.png
deleted file mode 100644
index 96a47ecd..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/paper_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/paper_shovel_head.png b/resources/assets/tinker/textures/items/shovel/paper_shovel_head.png
deleted file mode 100644
index e78bf346..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/paper_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/paper_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/paper_shovel_head_broken.png
deleted file mode 100644
index 9d74f60e..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/paper_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/pigiron_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/pigiron_shovel_handle.png
deleted file mode 100644
index c4f4ff1d..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/pigiron_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/pigiron_shovel_head.png b/resources/assets/tinker/textures/items/shovel/pigiron_shovel_head.png
deleted file mode 100644
index ed862c5b..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/pigiron_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/pigiron_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/pigiron_shovel_head_broken.png
deleted file mode 100644
index 989bbd53..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/pigiron_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/piston_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/piston_shovel_effect.png
deleted file mode 100644
index d8e68fd9..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/piston_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/quartz_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/quartz_shovel_effect.png
deleted file mode 100644
index 8ca62ef4..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/quartz_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/redstone_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/redstone_shovel_effect.png
deleted file mode 100644
index e0ef523d..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/redstone_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/reinforced_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/reinforced_shovel_effect.png
deleted file mode 100644
index 305c735b..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/reinforced_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/silk_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/silk_shovel_effect.png
deleted file mode 100644
index d4049402..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/silk_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/slime_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/slime_shovel_handle.png
deleted file mode 100644
index adef8f6e..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/slime_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/slime_shovel_head.png b/resources/assets/tinker/textures/items/shovel/slime_shovel_head.png
deleted file mode 100644
index ad59b023..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/slime_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/slime_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/slime_shovel_head_broken.png
deleted file mode 100644
index 60e36bda..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/slime_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/smite_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/smite_shovel_effect.png
deleted file mode 100644
index 41350f7e..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/smite_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/spider_shovel_effect.png b/resources/assets/tinker/textures/items/shovel/spider_shovel_effect.png
deleted file mode 100644
index 56b5bc93..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/spider_shovel_effect.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/steel_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/steel_shovel_handle.png
deleted file mode 100644
index 415c7ec0..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/steel_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/steel_shovel_head.png b/resources/assets/tinker/textures/items/shovel/steel_shovel_head.png
deleted file mode 100644
index 44a5608a..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/steel_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/steel_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/steel_shovel_head_broken.png
deleted file mode 100644
index 4fbb39c7..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/steel_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/stone_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/stone_shovel_handle.png
deleted file mode 100644
index baf99e30..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/stone_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/stone_shovel_head.png b/resources/assets/tinker/textures/items/shovel/stone_shovel_head.png
deleted file mode 100644
index 8efdef8a..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/stone_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/stone_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/stone_shovel_head_broken.png
deleted file mode 100644
index 1518d780..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/stone_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/thaumium_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/thaumium_shovel_handle.png
deleted file mode 100644
index d892c8ce..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/thaumium_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/thaumium_shovel_head.png b/resources/assets/tinker/textures/items/shovel/thaumium_shovel_head.png
deleted file mode 100644
index 93f8e68f..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/thaumium_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/thaumium_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/thaumium_shovel_head_broken.png
deleted file mode 100644
index b4ce339f..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/thaumium_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/wood_shovel_handle.png b/resources/assets/tinker/textures/items/shovel/wood_shovel_handle.png
deleted file mode 100644
index d9a1e9e0..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/wood_shovel_handle.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/wood_shovel_head.png b/resources/assets/tinker/textures/items/shovel/wood_shovel_head.png
deleted file mode 100644
index aef1c626..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/wood_shovel_head.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/shovel/wood_shovel_head_broken.png b/resources/assets/tinker/textures/items/shovel/wood_shovel_head_broken.png
deleted file mode 100644
index ad601157..00000000
Binary files a/resources/assets/tinker/textures/items/shovel/wood_shovel_head_broken.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/skull_char_gold.png b/resources/assets/tinker/textures/items/skull_char_gold.png
deleted file mode 100644
index c3676b2c..00000000
Binary files a/resources/assets/tinker/textures/items/skull_char_gold.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/stonearmorstand.png b/resources/assets/tinker/textures/items/stonearmorstand.png
deleted file mode 100644
index 9dc4428a..00000000
Binary files a/resources/assets/tinker/textures/items/stonearmorstand.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/tinkerbook_blue.png b/resources/assets/tinker/textures/items/tinkerbook_blue.png
deleted file mode 100644
index 8a1fe830..00000000
Binary files a/resources/assets/tinker/textures/items/tinkerbook_blue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/tinkerbook_diary.png b/resources/assets/tinker/textures/items/tinkerbook_diary.png
deleted file mode 100644
index 7b823f25..00000000
Binary files a/resources/assets/tinker/textures/items/tinkerbook_diary.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/tinkerbook_green.png b/resources/assets/tinker/textures/items/tinkerbook_green.png
deleted file mode 100644
index e73dd2b4..00000000
Binary files a/resources/assets/tinker/textures/items/tinkerbook_green.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/tinkerbook_smeltery.png b/resources/assets/tinker/textures/items/tinkerbook_smeltery.png
deleted file mode 100644
index f285203b..00000000
Binary files a/resources/assets/tinker/textures/items/tinkerbook_smeltery.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/tinkerbook_toolstation.png b/resources/assets/tinker/textures/items/tinkerbook_toolstation.png
deleted file mode 100644
index 5897ae95..00000000
Binary files a/resources/assets/tinker/textures/items/tinkerbook_toolstation.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/items/tparts.png b/resources/assets/tinker/textures/items/tparts.png
deleted file mode 100644
index 40bb221c..00000000
Binary files a/resources/assets/tinker/textures/items/tparts.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/misc/bluegrasscolor.png b/resources/assets/tinker/textures/misc/bluegrasscolor.png
deleted file mode 100644
index c76c3ce5..00000000
Binary files a/resources/assets/tinker/textures/misc/bluegrasscolor.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/misc/orangegrasscolor.png b/resources/assets/tinker/textures/misc/orangegrasscolor.png
deleted file mode 100644
index 6ce629ec..00000000
Binary files a/resources/assets/tinker/textures/misc/orangegrasscolor.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/mob/Credits.txt b/resources/assets/tinker/textures/mob/Credits.txt
deleted file mode 100644
index 03875783..00000000
--- a/resources/assets/tinker/textures/mob/Credits.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Original creeper texture by John Smith
-http://www.minecraftforum.net/topic/26727-johnsmith-texture-pack-v97-32x-142/
-Crystal Guardians by Axolotine
\ No newline at end of file
diff --git a/resources/assets/tinker/textures/mob/armorstandtexture.png b/resources/assets/tinker/textures/mob/armorstandtexture.png
deleted file mode 100644
index e9efb1f2..00000000
Binary files a/resources/assets/tinker/textures/mob/armorstandtexture.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/mob/crystalGuardMorganite.png b/resources/assets/tinker/textures/mob/crystalGuardMorganite.png
deleted file mode 100644
index 81202bd4..00000000
Binary files a/resources/assets/tinker/textures/mob/crystalGuardMorganite.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/mob/crystalGuardTurquoise.png b/resources/assets/tinker/textures/mob/crystalGuardTurquoise.png
deleted file mode 100644
index 0f5606f2..00000000
Binary files a/resources/assets/tinker/textures/mob/crystalGuardTurquoise.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/mob/crystalguardamber.png b/resources/assets/tinker/textures/mob/crystalguardamber.png
deleted file mode 100644
index b408278e..00000000
Binary files a/resources/assets/tinker/textures/mob/crystalguardamber.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/mob/crystalwater.png b/resources/assets/tinker/textures/mob/crystalwater.png
deleted file mode 100644
index f4c9d459..00000000
Binary files a/resources/assets/tinker/textures/mob/crystalwater.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/mob/googirl.png b/resources/assets/tinker/textures/mob/googirl.png
deleted file mode 100644
index 04de12da..00000000
Binary files a/resources/assets/tinker/textures/mob/googirl.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/mob/googirl_blue.png b/resources/assets/tinker/textures/mob/googirl_blue.png
deleted file mode 100644
index 8e431911..00000000
Binary files a/resources/assets/tinker/textures/mob/googirl_blue.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/mob/skyla.png b/resources/assets/tinker/textures/mob/skyla.png
deleted file mode 100644
index 258098d8..00000000
Binary files a/resources/assets/tinker/textures/mob/skyla.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/mob/slimeedible.png b/resources/assets/tinker/textures/mob/slimeedible.png
deleted file mode 100644
index 7ab2c6fe..00000000
Binary files a/resources/assets/tinker/textures/mob/slimeedible.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/mob/slimemetal.png b/resources/assets/tinker/textures/mob/slimemetal.png
deleted file mode 100644
index 3d721ab0..00000000
Binary files a/resources/assets/tinker/textures/mob/slimemetal.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/mob/villagertools.png b/resources/assets/tinker/textures/mob/villagertools.png
deleted file mode 100644
index 8101b61f..00000000
Binary files a/resources/assets/tinker/textures/mob/villagertools.png and /dev/null differ
diff --git a/resources/assets/tinker/textures/util/font.png b/resources/assets/tinker/textures/util/font.png
deleted file mode 100644
index b46d410b..00000000
Binary files a/resources/assets/tinker/textures/util/font.png and /dev/null differ
diff --git a/resources/mcmod.info b/resources/mcmod.info
deleted file mode 100644
index 9ee570a4..00000000
--- a/resources/mcmod.info
+++ /dev/null
@@ -1,36 +0,0 @@
-[
- {
- "modid": "TConstruct",
- "name": "Tinkers' Construct",
- "description": "A little of this, a little of that, a lot of tinkering, and a lot of tools",
- "version": "@VERSION@",
- "mcversion": "@MCVERSION@",
- "url": "http://www.minecraftforum.net/topic/1659892-tinkers-construct",
- "updateUrl": "",
- "authors": [
- "mDiyo", "fuj1n", "ProgWML6", "Sunstrike", "Pillbox"
- ],
- "credits": "Slime Knights, Samtrion, Abculatter_2",
- "logoFile": "",
- "screenshots": [],
- "parent":"",
- "dependencies": []
- },
- {
- "modid": "TConstruct-Preloader",
- "name": "Tinkers Corestruct",
- "description": "Preloader for Tinkers Construct",
- "version": "0.0.1",
- "mcversion": "@MCVERSION@",
- "url": "https://github.com/SlimeKnights/TinkersConstruct/tree/master/src/tconstruct/preloader",
- "updateUrl": "",
- "authors": [
- "Sunstrike", "Slime Knights"
- ],
- "credits": "AlgorithmX2 (ASMInterfaceRepair)",
- "logoFile": "",
- "screenshots": [],
- "parent":"",
- "dependencies": []
- }
-]
diff --git a/settings.gradle b/settings.gradle
deleted file mode 100644
index 09c938e8..00000000
--- a/settings.gradle
+++ /dev/null
@@ -1 +0,0 @@
-rootProject.name = 'TConstruct'
\ No newline at end of file
diff --git a/spritesheets/arrows.png b/spritesheets/arrows.png
deleted file mode 100644
index 8abe9ace..00000000
Binary files a/spritesheets/arrows.png and /dev/null differ
diff --git a/spritesheets/arrows.txt b/spritesheets/arrows.txt
deleted file mode 100644
index c4c2e163..00000000
--- a/spritesheets/arrows.txt
+++ /dev/null
@@ -1,58 +0,0 @@
-0,0 - wood_arrow_head
-1,0 - stone_arrow_head
-2,0 - iron_arrow_head
-3,0 - flint_arrow_head
-4,0 - cactus_arrow_head
-5,0 - bone_arrow_head
-6,0 - obsidian_arrow_head
-7,0 - netherrack_arrow_head
-8,0 - slime_arrow_head
-9,0 - paper_arrow_head
-10,0 - cobalt_arrow_head
-11,0 - ardite_arrow_head
-12,0 - manyullyn_arrow_head
-13,0 - copper_arrow_head
-14,0 - bronze_arrow_head
-15,0 - alumite_arrow_head
-0,1 - steel_arrow_head
-1,1 - blueslime_arrow_head
-0,2 - wood_arrow_handle
-1,2 - stone_arrow_handle
-2,2 - iron_arrow_handle
-3,2 - flint_arrow_handle
-4,2 - cactus_arrow_handle
-5,2 - bone_arrow_handle
-6,2 - obsidian_arrow_handle
-7,2 - netherrack_arrow_handle
-8,2 - slime_arrow_handle
-9,2 - paper_arrow_handle
-10,2 - cobalt_arrow_handle
-11,2 - ardite_arrow_handle
-12,2 - manyullyn_arrow_handle
-13,2 - copper_arrow_handle
-14,2 - bronze_arrow_handle
-15,2 - alumite_arrow_handle
-0,3 - steel_arrow_handle
-1,3 - blueslime_arrow_handle
-0,4 - feather_arrow_fletching
-1,4 - leaf_arrow_fletching
-2,4 - blueslime_arrow_fletching
-3,4 - slime_arrow_fletching
-0,5 - emerald_arrow_effect
-1,5 - diamond_arrow_effect
-2,5 - redstone_arrow_effect
-3,5 - moss_arrow_effect
-4,5 - lava_arrow_effect
-5,5 - lapis_arrow_effect
-6,5 - silk_arrow_effect
-7,5 - quartz_arrow_effect
-8,5 - necrotic_arrow_effect
-9,5 - electric_arrow_effect
-10,5 - blaze_arrow_effect
-11,5 - reinforced_arrow_effect
-12,5 - piston_arrow_effect
-13,5 - spider_arrow_effect
-14,5 - smite_arrow_effect
-15,5 - beheading_arrow_effect
-0,6 - ice_arrow_effect
-0,5 - _arrow_effect
\ No newline at end of file
diff --git a/spritesheets/axes.png b/spritesheets/axes.png
deleted file mode 100644
index 98766045..00000000
Binary files a/spritesheets/axes.png and /dev/null differ
diff --git a/spritesheets/baseaccessories.png b/spritesheets/baseaccessories.png
deleted file mode 100644
index 9419af60..00000000
Binary files a/spritesheets/baseaccessories.png and /dev/null differ
diff --git a/spritesheets/baseaccessories.txt b/spritesheets/baseaccessories.txt
deleted file mode 100644
index 47dc2df9..00000000
--- a/spritesheets/baseaccessories.txt
+++ /dev/null
@@ -1,90 +0,0 @@
-0,0 - wood_binding
-1,0 - stone_binding
-2,0 - iron_binding
-3,0 - flint_binding
-4,0 - cactus_binding
-5,0 - bone_binding
-6,0 - obsidian_binding
-7,0 - netherrack_binding
-8,0 - slime_binding
-9,0 - paper_binding
-10,0 - cobalt_binding
-11,0 - ardite_binding
-12,0 - manyullyn_binding
-13,0 - copper_binding
-14,0 - bronze_binding
-15,0 - alumite_binding
-0,1 - blueslime_binding
-1,1 - steel_binding
-0,2 - wood_toughbind
-1,2 - stone_toughbind
-2,2 - iron_toughbind
-3,2 - flint_toughbind
-4,2 - cactus_toughbind
-5,2 - bone_toughbind
-6,2 - obsidian_toughbind
-7,2 - netherrack_toughbind
-8,2 - slime_toughbind
-9,2 - paper_toughbind
-10,2 - cobalt_toughbind
-11,2 - ardite_toughbind
-12,2 - manyullyn_toughbind
-13,2 - copper_toughbind
-14,2 - bronze_toughbind
-15,2 - alumite_toughbind
-0,3 - blueslime_toughbind
-1,3 - steel_toughbind
-0,4 - wood_rod
-1,4 - stone_rod
-2,4 - iron_rod
-3,4 - flint_rod
-4,4 - cactus_rod
-5,4 - bone_rod
-6,4 - obsidian_rod
-7,4 - netherrack_rod
-8,4 - slime_rod
-9,4 - paper_rod
-10,4 - cobalt_rod
-11,4 - ardite_rod
-12,4 - manyullyn_rod
-13,4 - copper_rod
-14,4 - bronze_rod
-15,4 - alumite_rod
-0,5 - blueslime_rod
-1,5 - steel_rod
-0,6 - wood_toughrod
-1,6 - stone_toughrod
-2,6 - iron_toughrod
-3,6 - flint_toughrod
-4,6 - cactus_toughrod
-5,6 - bone_toughrod
-6,6 - obsidian_toughrod
-7,6 - netherrack_toughrod
-8,6 - slime_toughrod
-9,6 - paper_toughrod
-10,6 - cobalt_toughrod
-11,6 - ardite_toughrod
-12,6 - manyullyn_toughrod
-13,6 - copper_toughrod
-14,6 - bronze_toughrod
-15,6 - alumite_toughrod
-0,7 - blueslime_toughrod
-1,7 - steel_toughrod
-0,8 - wood_largeplate
-1,8 - stone_largeplate
-2,8 - iron_largeplate
-3,8 - flint_largeplate
-4,8 - cactus_largeplate
-5,8 - bone_largeplate
-6,8 - obsidian_largeplate
-7,8 - netherrack_largeplate
-8,8 - slime_largeplate
-9,8 - paper_largeplate
-10,8 - cobalt_largeplate
-11,8 - ardite_largeplate
-12,8 - manyullyn_largeplate
-13,8 - copper_largeplate
-14,8 - bronze_largeplate
-15,8 - alumite_largeplate
-0,9 - blueslime_largeplate
-1,9 - steel_largeplate
\ No newline at end of file
diff --git a/spritesheets/baseheads.png b/spritesheets/baseheads.png
deleted file mode 100644
index 3bc3d949..00000000
Binary files a/spritesheets/baseheads.png and /dev/null differ
diff --git a/spritesheets/battleaxe.png b/spritesheets/battleaxe.png
deleted file mode 100644
index 4b0654f9..00000000
Binary files a/spritesheets/battleaxe.png and /dev/null differ
diff --git a/spritesheets/battleaxe.txt b/spritesheets/battleaxe.txt
deleted file mode 100644
index a59035ec..00000000
--- a/spritesheets/battleaxe.txt
+++ /dev/null
@@ -1,102 +0,0 @@
-0,0 - wood_battleaxe_handle
-1,0 - stone_battleaxe_handle
-2,0 - iron_battleaxe_handle
-3,0 - flint_battleaxe_handle
-4,0 - cactus_battleaxe_handle
-5,0 - bone_battleaxe_handle
-6,0 - obsidian_battleaxe_handle
-7,0 - netherrack_battleaxe_handle
-8,0 - slime_battleaxe_handle
-9,0 - paper_battleaxe_handle
-10,0 - cobalt_battleaxe_handle
-11,0 - ardite_battleaxe_handle
-12,0 - manyullyn_battleaxe_handle
-13,0 - copper_battleaxe_handle
-14,0 - bronze_battleaxe_handle
-15,0 - alumite_battleaxe_handle
-0,1 - blueslime_battleaxe_handle
-1,1 - steel_battleaxe_handle
-0,2 - wood_battleaxe_fronthead
-1,2 - stone_battleaxe_fronthead
-2,2 - iron_battleaxe_fronthead
-3,2 - flint_battleaxe_fronthead
-4,2 - cactus_battleaxe_fronthead
-5,2 - bone_battleaxe_fronthead
-6,2 - obsidian_battleaxe_fronthead
-7,2 - netherrack_battleaxe_fronthead
-8,2 - slime_battleaxe_fronthead
-9,2 - paper_battleaxe_fronthead
-10,2 - cobalt_battleaxe_fronthead
-11,2 - ardite_battleaxe_fronthead
-12,2 - manyullyn_battleaxe_fronthead
-13,2 - copper_battleaxe_fronthead
-14,2 - bronze_battleaxe_fronthead
-15,2 - alumite_battleaxe_fronthead
-0,3 - blueslime_battleaxe_fronthead
-1,3 - steel_battleaxe_fronthead
-0,4 - wood_battleaxe_backhead
-1,4 - stone_battleaxe_backhead
-2,4 - iron_battleaxe_backhead
-3,4 - flint_battleaxe_backhead
-4,4 - cactus_battleaxe_backhead
-5,4 - bone_battleaxe_backhead
-6,4 - obsidian_battleaxe_backhead
-7,4 - netherrack_battleaxe_backhead
-8,4 - slime_battleaxe_backhead
-9,4 - paper_battleaxe_backhead
-10,4 - cobalt_battleaxe_backhead
-11,4 - ardite_battleaxe_backhead
-12,4 - manyullyn_battleaxe_backhead
-13,4 - copper_battleaxe_backhead
-14,4 - bronze_battleaxe_backhead
-15,4 - alumite_battleaxe_backhead
-0,5 - blueslime_battleaxe_backhead
-1,5 - steel_battleaxe_backhead
-0,6 - wood_battleaxe_binding
-1,6 - stone_battleaxe_binding
-2,6 - iron_battleaxe_binding
-3,6 - flint_battleaxe_binding
-4,6 - cactus_battleaxe_binding
-5,6 - bone_battleaxe_binding
-6,6 - obsidian_battleaxe_binding
-7,6 - netherrack_battleaxe_binding
-8,6 - slime_battleaxe_binding
-9,6 - paper_battleaxe_binding
-10,6 - cobalt_battleaxe_binding
-11,6 - ardite_battleaxe_binding
-12,6 - manyullyn_battleaxe_binding
-13,6 - copper_battleaxe_binding
-14,6 - bronze_battleaxe_binding
-15,6 - alumite_battleaxe_binding
-0,7 - blueslime_battleaxe_binding
-1,7 - steel_battleaxe_binding
-0,12 - wood_battleaxe_fronthead_broken
-1,12 - stone_battleaxe_fronthead_broken
-2,12 - iron_battleaxe_fronthead_broken
-3,12 - flint_battleaxe_fronthead_broken
-4,12 - cactus_battleaxe_fronthead_broken
-5,12 - bone_battleaxe_fronthead_broken
-6,12 - obsidian_battleaxe_fronthead_broken
-7,12 - netherrack_battleaxe_fronthead_broken
-8,12 - slime_battleaxe_fronthead_broken
-9,12 - paper_battleaxe_fronthead_broken
-10,12 - cobalt_battleaxe_fronthead_broken
-11,12 - ardite_battleaxe_fronthead_broken
-12,12 - manyullyn_battleaxe_fronthead_broken
-13,12 - copper_battleaxe_fronthead_broken
-14,12 - bronze_battleaxe_fronthead_broken
-15,12 - alumite_battleaxe_fronthead_broken
-0,13 - blueslime_battleaxe_fronthead_broken
-1,13 - steel_battleaxe_fronthead_broken
-0,14 - diamond_battleaxe_effect
-1,14 - emerald_battleaxe_effect
-2,14 - redstone_battleaxe_effect
-4,14 - moss_battleaxe_effect
-5,14 - ice_battleaxe_effect
-6,14 - lava_battleaxe_effect
-7,14 - blaze_battleaxe_effect
-8,14 - necrotic_battleaxe_effect
-9,14 - electric_battleaxe_effect
-10,14 - lapis_battleaxe_effect
-11,14 - silk_battleaxe_effect
-12,14 - quartz_battleaxe_effect
\ No newline at end of file
diff --git a/spritesheets/battlesigns.png b/spritesheets/battlesigns.png
deleted file mode 100644
index 4673bac6..00000000
Binary files a/spritesheets/battlesigns.png and /dev/null differ
diff --git a/spritesheets/bows.png b/spritesheets/bows.png
deleted file mode 100644
index 874df137..00000000
Binary files a/spritesheets/bows.png and /dev/null differ
diff --git a/spritesheets/bows.txt b/spritesheets/bows.txt
deleted file mode 100644
index 2e84686d..00000000
--- a/spritesheets/bows.txt
+++ /dev/null
@@ -1,180 +0,0 @@
-0,0 - wood_bow_top_1
-1,0 - stone_bow_top_1
-2,0 - iron_bow_top_1
-3,0 - flint_bow_top_1
-4,0 - cactus_bow_top_1
-5,0 - bone_bow_top_1
-6,0 - obsidian_bow_top_1
-7,0 - netherrack_bow_top_1
-8,0 - slime_bow_top_1
-9,0 - paper_bow_top_1
-10,0 - cobalt_bow_top_1
-11,0 - ardite_bow_top_1
-12,0 - manyullyn_bow_top_1
-13,0 - copper_bow_top_1
-14,0 - bronze_bow_top_1
-15,0 - alumite_bow_top_1
-0,1 - wood_bow_bottom_1
-1,1 - stone_bow_bottom_1
-2,1 - iron_bow_bottom_1
-3,1 - flint_bow_bottom_1
-4,1 - cactus_bow_bottom_1
-5,1 - bone_bow_bottom_1
-6,1 - obsidian_bow_bottom_1
-7,1 - netherrack_bow_bottom_1
-8,1 - slime_bow_bottom_1
-9,1 - paper_bow_bottom_1
-10,1 - cobalt_bow_bottom_1
-11,1 - ardite_bow_bottom_1
-12,1 - manyullyn_bow_bottom_1
-13,1 - copper_bow_bottom_1
-14,1 - bronze_bow_bottom_1
-15,1 - alumite_bow_bottom_1
-0,2 - steel_bow_top_1
-1,2 - blueslime_bow_top_1
-0,3 - steel_bow_bottom_1
-1,3 - blueslime_bow_bottom_1
-0,4 - wood_bow_top_2
-1,4 - stone_bow_top_2
-2,4 - iron_bow_top_2
-3,4 - flint_bow_top_2
-4,4 - cactus_bow_top_2
-5,4 - bone_bow_top_2
-6,4 - obsidian_bow_top_2
-7,4 - netherrack_bow_top_2
-8,4 - slime_bow_top_2
-9,4 - paper_bow_top_2
-10,4 - cobalt_bow_top_2
-11,4 - ardite_bow_top_2
-12,4 - manyullyn_bow_top_2
-13,4 - copper_bow_top_2
-14,4 - bronze_bow_top_2
-15,4 - alumite_bow_top_2
-0,5 - wood_bow_bottom_2
-1,5 - stone_bow_bottom_2
-2,5 - iron_bow_bottom_2
-3,5 - flint_bow_bottom_2
-4,5 - cactus_bow_bottom_2
-5,5 - bone_bow_bottom_2
-6,5 - obsidian_bow_bottom_2
-7,5 - netherrack_bow_bottom_2
-8,5 - slime_bow_bottom_2
-9,5 - paper_bow_bottom_2
-10,5 - cobalt_bow_bottom_2
-11,5 - ardite_bow_bottom_2
-12,5 - manyullyn_bow_bottom_2
-13,5 - copper_bow_bottom_2
-14,5 - bronze_bow_bottom_2
-15,5 - alumite_bow_bottom_2
-0,6 - steel_bow_top_2
-1,6 - blueslime_bow_top_2
-0,7 - steel_bow_bottom_2
-1,7 - blueslime_bow_bottom_2
-0,8 - wood_bow_top_3
-1,8 - stone_bow_top_3
-2,8 - iron_bow_top_3
-3,8 - flint_bow_top_3
-4,8 - cactus_bow_top_3
-5,8 - bone_bow_top_3
-6,8 - obsidian_bow_top_3
-7,8 - netherrack_bow_top_3
-8,8 - slime_bow_top_3
-9,8 - paper_bow_top_3
-10,8 - cobalt_bow_top_3
-11,8 - ardite_bow_top_3
-12,8 - manyullyn_bow_top_3
-13,8 - copper_bow_top_3
-14,8 - bronze_bow_top_3
-15,8 - alumite_bow_top_3
-0,9 - wood_bow_bottom_3
-1,9 - stone_bow_bottom_3
-2,9 - iron_bow_bottom_3
-3,9 - flint_bow_bottom_3
-4,9 - cactus_bow_bottom_3
-5,9 - bone_bow_bottom_3
-6,9 - obsidian_bow_bottom_3
-7,9 - netherrack_bow_bottom_3
-8,9 - slime_bow_bottom_3
-9,9 - paper_bow_bottom_3
-10,9 - cobalt_bow_bottom_3
-11,9 - ardite_bow_bottom_3
-12,9 - manyullyn_bow_bottom_3
-13,9 - copper_bow_bottom_3
-14,9 - bronze_bow_bottom_3
-15,9 - alumite_bow_bottom_3
-0,10 - steel_bow_top_3
-1,10 - blueslime_bow_top_3
-0,11 - steel_bow_bottom_3
-1,11 - blueslime_bow_bottom_3
-8,11 - reinforced_bow_effect
-9,11 - reinforced_bow_effect_1
-10,11 - reinforced_bow_effect_2
-11,11 - reinforced_bow_effect_3
-12,11 - string_bowstring
-13,11 - string_bowstring_1
-14,11 - string_bowstring_2
-15,11 - string_bowstring_3
-0,12 - diamond_bow_effect
-1,12 - emerald_bow_effect
-2,12 - redstone_bow_effect
-3,12 - piston_bow_effect
-4,12 - moss_bow_effect
-5,12 - ice_bow_effect
-6,12 - lava_bow_effect
-7,12 - blaze_bow_effect
-8,12 - necrotic_bow_effect
-9,12 - electric_bow_effect
-10,12 - lapis_bow_effect
-11,12 - silk_bow_effect
-12,12 - quartz_bow_effect
-13,12 - beheading_bow_effect
-14,12 - smite_bow_effect
-15,12 - spider_bow_effect
-0,13 - diamond_bow_effect_1
-1,13 - emerald_bow_effect_1
-2,13 - redstone_bow_effect_1
-3,13 - piston_bow_effect_1
-4,13 - moss_bow_effect_1
-5,13 - ice_bow_effect_1
-6,13 - lava_bow_effect_1
-7,13 - blaze_bow_effect_1
-8,13 - necrotic_bow_effect_1
-9,13 - electric_bow_effect_1
-10,13 - lapis_bow_effect_1
-11,13 - silk_bow_effect_1
-12,13 - quartz_bow_effect_1
-13,13 - beheading_bow_effect_1
-14,13 - smite_bow_effect_1
-15,13 - spider_bow_effect_1
-0,14 - diamond_bow_effect_2
-1,14 - emerald_bow_effect_2
-2,14 - redstone_bow_effect_2
-3,14 - piston_bow_effect_2
-4,14 - moss_bow_effect_2
-5,14 - ice_bow_effect_2
-6,14 - lava_bow_effect_2
-7,14 - blaze_bow_effect_2
-8,14 - necrotic_bow_effect_2
-9,14 - electric_bow_effect_2
-10,14 - lapis_bow_effect_2
-11,14 - silk_bow_effect_2
-12,14 - quartz_bow_effect_2
-13,14 - beheading_bow_effect_2
-14,14 - smite_bow_effect_2
-15,14 - spider_bow_effect_2
-0,15 - diamond_bow_effect_3
-1,15 - emerald_bow_effect_3
-2,15 - redstone_bow_effect_3
-3,15 - piston_bow_effect_3
-4,15 - moss_bow_effect_3
-5,15 - ice_bow_effect_3
-6,15 - lava_bow_effect_3
-7,15 - blaze_bow_effect_3
-8,15 - necrotic_bow_effect_3
-9,15 - electric_bow_effect_3
-10,15 - lapis_bow_effect_3
-11,15 - silk_bow_effect_3
-12,15 - quartz_bow_effect_3
-13,15 - beheading_bow_effect_3
-14,15 - smite_bow_effect_3
-15,15 - spider_bow_effect_3
\ No newline at end of file
diff --git a/spritesheets/broadsword.png b/spritesheets/broadsword.png
deleted file mode 100644
index 287ae310..00000000
Binary files a/spritesheets/broadsword.png and /dev/null differ
diff --git a/spritesheets/chisels.png b/spritesheets/chisels.png
deleted file mode 100644
index 8c5e7abc..00000000
Binary files a/spritesheets/chisels.png and /dev/null differ
diff --git a/spritesheets/chisels.txt b/spritesheets/chisels.txt
deleted file mode 100644
index 3c56e8f4..00000000
--- a/spritesheets/chisels.txt
+++ /dev/null
@@ -1,59 +0,0 @@
-0,0 - wood_chisel_handle
-1,0 - stone_chisel_handle
-2,0 - iron_chisel_handle
-3,0 - flint_chisel_handle
-4,0 - cactus_chisel_handle
-5,0 - bone_chisel_handle
-6,0 - obsidian_chisel_handle
-7,0 - netherrack_chisel_handle
-8,0 - slime_chisel_handle
-9,0 - paper_chisel_handle
-10,0 - cobalt_chisel_handle
-11,0 - ardite_chisel_handle
-12,0 - manyullyn_chisel_handle
-13,0 - copper_chisel_handle
-14,0 - bronze_chisel_handle
-15,0 - alumite_chisel_handle
-0,1 - steel_chisel_handle
-1,1 - blueslime_chisel_handle
-0,4 - wood_chisel_head
-1,4 - stone_chisel_head
-2,4 - iron_chisel_head
-3,4 - flint_chisel_head
-4,4 - cactus_chisel_head
-5,4 - bone_chisel_head
-6,4 - obsidian_chisel_head
-7,4 - netherrack_chisel_head
-8,4 - slime_chisel_head
-9,4 - paper_chisel_head
-10,4 - cobalt_chisel_head
-11,4 - ardite_chisel_head
-12,4 - manyullyn_chisel_head
-13,4 - copper_chisel_head
-14,4 - bronze_chisel_head
-15,4 - alumite_chisel_head
-0,5 - steel_chisel_head
-1,5 - blueslime_chisel_head
-0,12 - wood_chisel_head_broken
-1,12 - stone_chisel_head_broken
-2,12 - iron_chisel_head_broken
-3,12 - flint_chisel_head_broken
-4,12 - cactus_chisel_head_broken
-5,12 - bone_chisel_head_broken
-6,12 - obsidian_chisel_head_broken
-7,12 - netherrack_chisel_head_broken
-8,12 - slime_chisel_head_broken
-9,12 - paper_chisel_head_broken
-10,12 - cobalt_chisel_head_broken
-11,12 - ardite_chisel_head_broken
-12,12 - manyullyn_chisel_head_broken
-13,12 - copper_chisel_head_broken
-14,12 - bronze_chisel_head_broken
-15,12 - alumite_chisel_head_broken
-0,13 - steel_chisel_head_broken
-1,13 - blueslime_chisel_head_broken
-0,14 - diamond_chisel_effect
-1,14 - emerald_chisel_effect
-2,14 - redstone_chisel_effect
-4,14 - moss_chisel_effect
-9,14 - electric_chisel_effect
\ No newline at end of file
diff --git a/spritesheets/cleaver.png b/spritesheets/cleaver.png
deleted file mode 100644
index ec19d41d..00000000
Binary files a/spritesheets/cleaver.png and /dev/null differ
diff --git a/spritesheets/cleaver.txt b/spritesheets/cleaver.txt
deleted file mode 100644
index 34dc98bb..00000000
--- a/spritesheets/cleaver.txt
+++ /dev/null
@@ -1,101 +0,0 @@
-0,0 - wood_cleaver_handle
-1,0 - stone_cleaver_handle
-2,0 - iron_cleaver_handle
-3,0 - flint_cleaver_handle
-4,0 - cactus_cleaver_handle
-5,0 - bone_cleaver_handle
-6,0 - obsidian_cleaver_handle
-7,0 - netherrack_cleaver_handle
-8,0 - slime_cleaver_handle
-9,0 - paper_cleaver_handle
-10,0 - cobalt_cleaver_handle
-11,0 - ardite_cleaver_handle
-12,0 - manyullyn_cleaver_handle
-13,0 - copper_cleaver_handle
-14,0 - bronze_cleaver_handle
-15,0 - alumite_cleaver_handle
-0,1 - blueslime_cleaver_handle
-1,1 - steel_cleaver_handle
-0,2 - wood_cleaver_guard
-1,2 - stone_cleaver_guard
-2,2 - iron_cleaver_guard
-3,2 - flint_cleaver_guard
-4,2 - cactus_cleaver_guard
-5,2 - bone_cleaver_guard
-6,2 - obsidian_cleaver_guard
-7,2 - netherrack_cleaver_guard
-8,2 - slime_cleaver_guard
-9,2 - paper_cleaver_guard
-10,2 - cobalt_cleaver_guard
-11,2 - ardite_cleaver_guard
-12,2 - manyullyn_cleaver_guard
-13,2 - copper_cleaver_guard
-14,2 - bronze_cleaver_guard
-15,2 - alumite_cleaver_guard
-0,3 - blueslime_cleaver_guard
-1,3 - steel_cleaver_guard
-0,4 - wood_cleaver_head
-1,4 - stone_cleaver_head
-2,4 - iron_cleaver_head
-3,4 - flint_cleaver_head
-4,4 - cactus_cleaver_head
-5,4 - bone_cleaver_head
-6,4 - obsidian_cleaver_head
-7,4 - netherrack_cleaver_head
-8,4 - slime_cleaver_head
-9,4 - paper_cleaver_head
-10,4 - cobalt_cleaver_head
-11,4 - ardite_cleaver_head
-12,4 - manyullyn_cleaver_head
-13,4 - copper_cleaver_head
-14,4 - bronze_cleaver_head
-15,4 - alumite_cleaver_head
-0,5 - blueslime_cleaver_head
-1,5 - steel_cleaver_head
-0,6 - wood_cleaver_shield
-1,6 - stone_cleaver_shield
-2,6 - iron_cleaver_shield
-3,6 - flint_cleaver_shield
-4,6 - cactus_cleaver_shield
-5,6 - bone_cleaver_shield
-6,6 - obsidian_cleaver_shield
-7,6 - netherrack_cleaver_shield
-8,6 - slime_cleaver_shield
-9,6 - paper_cleaver_shield
-10,6 - cobalt_cleaver_shield
-11,6 - ardite_cleaver_shield
-12,6 - manyullyn_cleaver_shield
-13,6 - copper_cleaver_shield
-14,6 - bronze_cleaver_shield
-15,6 - alumite_cleaver_shield
-0,7 - blueslime_cleaver_shield
-1,7 - steel_cleaver_shield
-0,12 - wood_cleaver_head_broken
-1,12 - stone_cleaver_head_broken
-2,12 - iron_cleaver_head_broken
-3,12 - flint_cleaver_head_broken
-4,12 - cactus_cleaver_head_broken
-5,12 - bone_cleaver_head_broken
-6,12 - obsidian_cleaver_head_broken
-7,12 - netherrack_cleaver_head_broken
-8,12 - slime_cleaver_head_broken
-9,12 - paper_cleaver_head_broken
-10,12 - cobalt_cleaver_head_broken
-11,12 - ardite_cleaver_head_broken
-12,12 - manyullyn_cleaver_head_broken
-13,12 - copper_cleaver_head_broken
-14,12 - bronze_cleaver_head_broken
-15,12 - alumite_cleaver_head_broken
-0,13 - blueslime_cleaver_head_broken
-1,13 - steel_cleaver_head_broken
-0,14 - diamond_cleaver_effect
-1,14 - emerald_cleaver_effect
-4,14 - moss_cleaver_effect
-5,14 - ice_cleaver_effect
-6,14 - lava_cleaver_effect
-7,14 - blaze_cleaver_effect
-8,14 - necrotic_cleaver_effect
-9,14 - electric_cleaver_effect
-10,14 - lapis_cleaver_effect
-11,14 - silk_cleaver_effect
-12,14 - quartz_cleaver_effect
\ No newline at end of file
diff --git a/spritesheets/daggers.png b/spritesheets/daggers.png
deleted file mode 100644
index 9825ee7e..00000000
Binary files a/spritesheets/daggers.png and /dev/null differ
diff --git a/spritesheets/daggers.txt b/spritesheets/daggers.txt
deleted file mode 100644
index f761b6da..00000000
--- a/spritesheets/daggers.txt
+++ /dev/null
@@ -1,82 +0,0 @@
-0,0 - wood_dagger_handle
-1,0 - stone_dagger_handle
-2,0 - iron_dagger_handle
-3,0 - flint_dagger_handle
-4,0 - cactus_dagger_handle
-5,0 - bone_dagger_handle
-6,0 - obsidian_dagger_handle
-7,0 - netherrack_dagger_handle
-8,0 - slime_dagger_handle
-9,0 - paper_dagger_handle
-10,0 - cobalt_dagger_handle
-11,0 - ardite_dagger_handle
-12,0 - manyullyn_dagger_handle
-13,0 - copper_dagger_handle
-14,0 - bronze_dagger_handle
-15,0 - alumite_dagger_handle
-0,1 - steel_dagger_handle
-1,1 - blueslime_dagger_handle
-0,2 - wood_dagger_accessory
-1,2 - stone_dagger_accessory
-2,2 - iron_dagger_accessory
-3,2 - flint_dagger_accessory
-4,2 - cactus_dagger_accessory
-5,2 - bone_dagger_accessory
-6,2 - obsidian_dagger_accessory
-7,2 - netherrack_dagger_accessory
-8,2 - slime_dagger_accessory
-9,2 - paper_dagger_accessory
-10,2 - cobalt_dagger_accessory
-11,2 - ardite_dagger_accessory
-12,2 - manyullyn_dagger_accessory
-13,2 - copper_dagger_accessory
-14,2 - bronze_dagger_accessory
-15,2 - alumite_dagger_accessory
-0,3 - steel_dagger_accessory
-1,3 - blueslime_dagger_accessory
-0,4 - wood_dagger_blade
-1,4 - stone_dagger_blade
-2,4 - iron_dagger_blade
-3,4 - flint_dagger_blade
-4,4 - cactus_dagger_blade
-5,4 - bone_dagger_blade
-6,4 - obsidian_dagger_blade
-7,4 - netherrack_dagger_blade
-8,4 - slime_dagger_blade
-9,4 - paper_dagger_blade
-10,4 - cobalt_dagger_blade
-11,4 - ardite_dagger_blade
-12,4 - manyullyn_dagger_blade
-13,4 - copper_dagger_blade
-14,4 - bronze_dagger_blade
-15,4 - alumite_dagger_blade
-0,5 - steel_dagger_blade
-1,5 - blueslime_dagger_blade
-0,12 - wood_dagger_blade_broken
-1,12 - stone_dagger_blade_broken
-2,12 - iron_dagger_blade_broken
-3,12 - flint_dagger_blade_broken
-4,12 - cactus_dagger_blade_broken
-5,12 - bone_dagger_blade_broken
-6,12 - obsidian_dagger_blade_broken
-7,12 - netherrack_dagger_blade_broken
-8,12 - slime_dagger_blade_broken
-9,12 - paper_dagger_blade_broken
-10,12 - cobalt_dagger_blade_broken
-11,12 - ardite_dagger_blade_broken
-12,12 - manyullyn_dagger_blade_broken
-13,12 - copper_dagger_blade_broken
-14,12 - bronze_dagger_blade_broken
-15,12 - alumite_dagger_blade_broken
-0,13 - steel_dagger_blade_broken
-1,13 - blueslime_dagger_blade_broken
-0,14 - diamond_dagger_effect
-1,14 - emerald_dagger_effect
-2,14 - redstone_dagger_effect
-4,14 - moss_dagger_effect
-5,14 - ice_dagger_effect
-6,14 - lava_dagger_effect
-7,14 - blaze_dagger_effect
-8,14 - necrotic_dagger_effect
-9,14 - electric_dagger_effect
-10,14 - lapis_dagger_effect
\ No newline at end of file
diff --git a/spritesheets/excavator.png b/spritesheets/excavator.png
deleted file mode 100644
index bb9fe90f..00000000
Binary files a/spritesheets/excavator.png and /dev/null differ
diff --git a/spritesheets/excavator.txt b/spritesheets/excavator.txt
deleted file mode 100644
index b73b4fef..00000000
--- a/spritesheets/excavator.txt
+++ /dev/null
@@ -1,100 +0,0 @@
-0,0 - wood_excavator_handle
-1,0 - stone_excavator_handle
-2,0 - iron_excavator_handle
-3,0 - flint_excavator_handle
-4,0 - cactus_excavator_handle
-5,0 - bone_excavator_handle
-6,0 - obsidian_excavator_handle
-7,0 - netherrack_excavator_handle
-8,0 - slime_excavator_handle
-9,0 - paper_excavator_handle
-10,0 - cobalt_excavator_handle
-11,0 - ardite_excavator_handle
-12,0 - manyullyn_excavator_handle
-13,0 - copper_excavator_handle
-14,0 - bronze_excavator_handle
-15,0 - alumite_excavator_handle
-0,1 - blueslime_excavator_handle
-1,1 - steel_excavator_handle
-0,2 - wood_excavator_grip
-1,2 - stone_excavator_grip
-2,2 - iron_excavator_grip
-3,2 - flint_excavator_grip
-4,2 - cactus_excavator_grip
-5,2 - bone_excavator_grip
-6,2 - obsidian_excavator_grip
-7,2 - netherrack_excavator_grip
-8,2 - slime_excavator_grip
-9,2 - paper_excavator_grip
-10,2 - cobalt_excavator_grip
-11,2 - ardite_excavator_grip
-12,2 - manyullyn_excavator_grip
-13,2 - copper_excavator_grip
-14,2 - bronze_excavator_grip
-15,2 - alumite_excavator_grip
-0,3 - blueslime_excavator_grip
-1,3 - steel_excavator_grip
-0,4 - wood_excavator_head
-1,4 - stone_excavator_head
-2,4 - iron_excavator_head
-3,4 - flint_excavator_head
-4,4 - cactus_excavator_head
-5,4 - bone_excavator_head
-6,4 - obsidian_excavator_head
-7,4 - netherrack_excavator_head
-8,4 - slime_excavator_head
-9,4 - paper_excavator_head
-10,4 - cobalt_excavator_head
-11,4 - ardite_excavator_head
-12,4 - manyullyn_excavator_head
-13,4 - copper_excavator_head
-14,4 - bronze_excavator_head
-15,4 - alumite_excavator_head
-0,5 - blueslime_excavator_head
-1,5 - steel_excavator_head
-0,6 - wood_excavator_binding
-1,6 - stone_excavator_binding
-2,6 - iron_excavator_binding
-3,6 - flint_excavator_binding
-4,6 - cactus_excavator_binding
-5,6 - bone_excavator_binding
-6,6 - obsidian_excavator_binding
-7,6 - netherrack_excavator_binding
-8,6 - slime_excavator_binding
-9,6 - paper_excavator_binding
-10,6 - cobalt_excavator_binding
-11,6 - ardite_excavator_binding
-12,6 - manyullyn_excavator_binding
-13,6 - copper_excavator_binding
-14,6 - bronze_excavator_binding
-15,6 - alumite_excavator_binding
-0,7 - blueslime_excavator_binding
-1,7 - steel_excavator_binding
-0,12 - wood_excavator_head_broken
-1,12 - stone_excavator_head_broken
-2,12 - iron_excavator_head_broken
-3,12 - flint_excavator_head_broken
-4,12 - cactus_excavator_head_broken
-5,12 - bone_excavator_head_broken
-6,12 - obsidian_excavator_head_broken
-7,12 - netherrack_excavator_head_broken
-8,12 - slime_excavator_head_broken
-9,12 - paper_excavator_head_broken
-10,12 - cobalt_excavator_head_broken
-11,12 - ardite_excavator_head_broken
-12,12 - manyullyn_excavator_head_broken
-13,12 - copper_excavator_head_broken
-14,12 - bronze_excavator_head_broken
-15,12 - alumite_excavator_head_broken
-0,13 - blueslime_excavator_head_broken
-1,13 - steel_excavator_head_broken
-0,14 - diamond_excavator_effect
-1,14 - emerald_excavator_effect
-2,14 - redstone_excavator_effect
-4,14 - moss_excavator_effect
-6,14 - lava_excavator_effect
-7,14 - blaze_excavator_effect
-8,14 - necrotic_excavator_effect
-9,14 - electric_excavator_effect
-10,14 - lapis_excavator_effect
-11,14 - silk_excavator_effect
\ No newline at end of file
diff --git a/spritesheets/frypans.png b/spritesheets/frypans.png
deleted file mode 100644
index 250c39b9..00000000
Binary files a/spritesheets/frypans.png and /dev/null differ
diff --git a/spritesheets/giantblade.png b/spritesheets/giantblade.png
deleted file mode 100644
index 95e0d704..00000000
Binary files a/spritesheets/giantblade.png and /dev/null differ
diff --git a/spritesheets/hammer.png b/spritesheets/hammer.png
deleted file mode 100644
index 986e0bf8..00000000
Binary files a/spritesheets/hammer.png and /dev/null differ
diff --git a/spritesheets/hammer.txt b/spritesheets/hammer.txt
deleted file mode 100644
index 8a774510..00000000
--- a/spritesheets/hammer.txt
+++ /dev/null
@@ -1,102 +0,0 @@
-0,0 - wood_hammer_handle
-1,0 - stone_hammer_handle
-2,0 - iron_hammer_handle
-3,0 - flint_hammer_handle
-4,0 - cactus_hammer_handle
-5,0 - bone_hammer_handle
-6,0 - obsidian_hammer_handle
-7,0 - netherrack_hammer_handle
-8,0 - slime_hammer_handle
-9,0 - paper_hammer_handle
-10,0 - cobalt_hammer_handle
-11,0 - ardite_hammer_handle
-12,0 - manyullyn_hammer_handle
-13,0 - copper_hammer_handle
-14,0 - bronze_hammer_handle
-15,0 - alumite_hammer_handle
-0,1 - blueslime_hammer_handle
-1,1 - steel_hammer_handle
-0,2 - wood_hammer_front
-1,2 - stone_hammer_front
-2,2 - iron_hammer_front
-3,2 - flint_hammer_front
-4,2 - cactus_hammer_front
-5,2 - bone_hammer_front
-6,2 - obsidian_hammer_front
-7,2 - netherrack_hammer_front
-8,2 - slime_hammer_front
-9,2 - paper_hammer_front
-10,2 - cobalt_hammer_front
-11,2 - ardite_hammer_front
-12,2 - manyullyn_hammer_front
-13,2 - copper_hammer_front
-14,2 - bronze_hammer_front
-15,2 - alumite_hammer_front
-0,3 - blueslime_hammer_front
-1,3 - steel_hammer_front
-0,4 - wood_hammer_head
-1,4 - stone_hammer_head
-2,4 - iron_hammer_head
-3,4 - flint_hammer_head
-4,4 - cactus_hammer_head
-5,4 - bone_hammer_head
-6,4 - obsidian_hammer_head
-7,4 - netherrack_hammer_head
-8,4 - slime_hammer_head
-9,4 - paper_hammer_head
-10,4 - cobalt_hammer_head
-11,4 - ardite_hammer_head
-12,4 - manyullyn_hammer_head
-13,4 - copper_hammer_head
-14,4 - bronze_hammer_head
-15,4 - alumite_hammer_head
-0,5 - blueslime_hammer_head
-1,5 - steel_hammer_head
-0,6 - wood_hammer_back
-1,6 - stone_hammer_back
-2,6 - iron_hammer_back
-3,6 - flint_hammer_back
-4,6 - cactus_hammer_back
-5,6 - bone_hammer_back
-6,6 - obsidian_hammer_back
-7,6 - netherrack_hammer_back
-8,6 - slime_hammer_back
-9,6 - paper_hammer_back
-10,6 - cobalt_hammer_back
-11,6 - ardite_hammer_back
-12,6 - manyullyn_hammer_back
-13,6 - copper_hammer_back
-14,6 - bronze_hammer_back
-15,6 - alumite_hammer_back
-0,7 - blueslime_hammer_back
-1,7 - steel_hammer_back
-0,12 - wood_hammer_handle_broken
-1,12 - stone_hammer_handle_broken
-2,12 - iron_hammer_handle_broken
-3,12 - flint_hammer_handle_broken
-4,12 - cactus_hammer_handle_broken
-5,12 - bone_hammer_handle_broken
-6,12 - obsidian_hammer_handle_broken
-7,12 - netherrack_hammer_handle_broken
-8,12 - slime_hammer_handle_broken
-9,12 - paper_hammer_handle_broken
-10,12 - cobalt_hammer_handle_broken
-11,12 - ardite_hammer_handle_broken
-12,12 - manyullyn_hammer_handle_broken
-13,12 - copper_hammer_handle_broken
-14,12 - bronze_hammer_handle_broken
-15,12 - alumite_hammer_handle_broken
-0,13 - blueslime_hammer_handle_broken
-1,13 - steel_hammer_handle_broken
-0,14 - diamond_hammer_effect
-1,14 - emerald_hammer_effect
-2,14 - redstone_hammer_effect
-4,14 - moss_hammer_effect
-5,14 - ice_hammer_effect
-6,14 - lava_hammer_effect
-7,14 - blaze_hammer_effect
-8,14 - necrotic_hammer_effect
-9,14 - electric_hammer_effect
-10,14 - lapis_hammer_effect
-11,14 - silk_hammer_effect
-12,14 - quartz_hammer_effect
\ No newline at end of file
diff --git a/spritesheets/iceaxes.png b/spritesheets/iceaxes.png
deleted file mode 100644
index d77ff185..00000000
Binary files a/spritesheets/iceaxes.png and /dev/null differ
diff --git a/spritesheets/jokeparts.png b/spritesheets/jokeparts.png
deleted file mode 100644
index 1e94cc50..00000000
Binary files a/spritesheets/jokeparts.png and /dev/null differ
diff --git a/spritesheets/longsword.png b/spritesheets/longsword.png
deleted file mode 100644
index de778f6d..00000000
Binary files a/spritesheets/longsword.png and /dev/null differ
diff --git a/spritesheets/lumberaxe.png b/spritesheets/lumberaxe.png
deleted file mode 100644
index 53c4b221..00000000
Binary files a/spritesheets/lumberaxe.png and /dev/null differ
diff --git a/spritesheets/lumberaxes.txt b/spritesheets/lumberaxes.txt
deleted file mode 100644
index 068c7da6..00000000
--- a/spritesheets/lumberaxes.txt
+++ /dev/null
@@ -1,100 +0,0 @@
-0,0 - wood_lumberaxe_handle
-1,0 - stone_lumberaxe_handle
-2,0 - iron_lumberaxe_handle
-3,0 - flint_lumberaxe_handle
-4,0 - cactus_lumberaxe_handle
-5,0 - bone_lumberaxe_handle
-6,0 - obsidian_lumberaxe_handle
-7,0 - netherrack_lumberaxe_handle
-8,0 - slime_lumberaxe_handle
-9,0 - paper_lumberaxe_handle
-10,0 - cobalt_lumberaxe_handle
-11,0 - ardite_lumberaxe_handle
-12,0 - manyullyn_lumberaxe_handle
-13,0 - copper_lumberaxe_handle
-14,0 - bronze_lumberaxe_handle
-15,0 - alumite_lumberaxe_handle
-0,1 - blueslime_lumberaxe_handle
-1,1 - steel_lumberaxe_handle
-0,2 - wood_lumberaxe_shield
-1,2 - stone_lumberaxe_shield
-2,2 - iron_lumberaxe_shield
-3,2 - flint_lumberaxe_shield
-4,2 - cactus_lumberaxe_shield
-5,2 - bone_lumberaxe_shield
-6,2 - obsidian_lumberaxe_shield
-7,2 - netherrack_lumberaxe_shield
-8,2 - slime_lumberaxe_shield
-9,2 - paper_lumberaxe_shield
-10,2 - cobalt_lumberaxe_shield
-11,2 - ardite_lumberaxe_shield
-12,2 - manyullyn_lumberaxe_shield
-13,2 - copper_lumberaxe_shield
-14,2 - bronze_lumberaxe_shield
-15,2 - alumite_lumberaxe_shield
-0,3 - blueslime_lumberaxe_shield
-1,3 - steel_lumberaxe_shield
-0,4 - wood_lumberaxe_head
-1,4 - stone_lumberaxe_head
-2,4 - iron_lumberaxe_head
-3,4 - flint_lumberaxe_head
-4,4 - cactus_lumberaxe_head
-5,4 - bone_lumberaxe_head
-6,4 - obsidian_lumberaxe_head
-7,4 - netherrack_lumberaxe_head
-8,4 - slime_lumberaxe_head
-9,4 - paper_lumberaxe_head
-10,4 - cobalt_lumberaxe_head
-11,4 - ardite_lumberaxe_head
-12,4 - manyullyn_lumberaxe_head
-13,4 - copper_lumberaxe_head
-14,4 - bronze_lumberaxe_head
-15,4 - alumite_lumberaxe_head
-0,5 - blueslime_lumberaxe_head
-1,5 - steel_lumberaxe_head
-0,6 - wood_lumberaxe_binding
-1,6 - stone_lumberaxe_binding
-2,6 - iron_lumberaxe_binding
-3,6 - flint_lumberaxe_binding
-4,6 - cactus_lumberaxe_binding
-5,6 - bone_lumberaxe_binding
-6,6 - obsidian_lumberaxe_binding
-7,6 - netherrack_lumberaxe_binding
-8,6 - slime_lumberaxe_binding
-9,6 - paper_lumberaxe_binding
-10,6 - cobalt_lumberaxe_binding
-11,6 - ardite_lumberaxe_binding
-12,6 - manyullyn_lumberaxe_binding
-13,6 - copper_lumberaxe_binding
-14,6 - bronze_lumberaxe_binding
-15,6 - alumite_lumberaxe_binding
-0,7 - blueslime_lumberaxe_binding
-1,7 - steel_lumberaxe_binding
-0,12 - wood_lumberaxe_head_broken
-1,12 - stone_lumberaxe_head_broken
-2,12 - iron_lumberaxe_head_broken
-3,12 - flint_lumberaxe_head_broken
-4,12 - cactus_lumberaxe_head_broken
-5,12 - bone_lumberaxe_head_broken
-6,12 - obsidian_lumberaxe_head_broken
-7,12 - netherrack_lumberaxe_head_broken
-8,12 - slime_lumberaxe_head_broken
-9,12 - paper_lumberaxe_head_broken
-10,12 - cobalt_lumberaxe_head_broken
-11,12 - ardite_lumberaxe_head_broken
-12,12 - manyullyn_lumberaxe_head_broken
-13,12 - copper_lumberaxe_head_broken
-14,12 - bronze_lumberaxe_head_broken
-15,12 - alumite_lumberaxe_head_broken
-0,13 - blueslime_lumberaxe_head_broken
-1,13 - steel_lumberaxe_head_broken
-0,14 - diamond_lumberaxe_effect
-1,14 - emerald_lumberaxe_effect
-2,14 - redstone_lumberaxe_effect
-4,14 - moss_lumberaxe_effect
-6,14 - lava_lumberaxe_effect
-7,14 - blaze_lumberaxe_effect
-8,14 - necrotic_lumberaxe_effect
-9,14 - electric_lumberaxe_effect
-10,14 - lapis_lumberaxe_effect
-11,14 - silk_lumberaxe_effect
\ No newline at end of file
diff --git a/spritesheets/mattock.png b/spritesheets/mattock.png
deleted file mode 100644
index 1e2ff4f1..00000000
Binary files a/spritesheets/mattock.png and /dev/null differ
diff --git a/spritesheets/pickaxes.png b/spritesheets/pickaxes.png
deleted file mode 100644
index a94aa39b..00000000
Binary files a/spritesheets/pickaxes.png and /dev/null differ
diff --git a/spritesheets/rapier.png b/spritesheets/rapier.png
deleted file mode 100644
index 67e52e8a..00000000
Binary files a/spritesheets/rapier.png and /dev/null differ
diff --git a/spritesheets/scythes.png b/spritesheets/scythes.png
deleted file mode 100644
index 9ff65c5f..00000000
Binary files a/spritesheets/scythes.png and /dev/null differ
diff --git a/spritesheets/scythes.txt b/spritesheets/scythes.txt
deleted file mode 100644
index 196d1328..00000000
--- a/spritesheets/scythes.txt
+++ /dev/null
@@ -1,101 +0,0 @@
-0,0 - wood_scythe_handle
-1,0 - stone_scythe_handle
-2,0 - iron_scythe_handle
-3,0 - flint_scythe_handle
-4,0 - cactus_scythe_handle
-5,0 - bone_scythe_handle
-6,0 - obsidian_scythe_handle
-7,0 - netherrack_scythe_handle
-8,0 - slime_scythe_handle
-9,0 - paper_scythe_handle
-10,0 - cobalt_scythe_handle
-11,0 - ardite_scythe_handle
-12,0 - manyullyn_scythe_handle
-13,0 - copper_scythe_handle
-14,0 - bronze_scythe_handle
-15,0 - alumite_scythe_handle
-0,1 - blueslime_scythe_handle
-1,1 - steel_scythe_handle
-0,2 - wood_scythe_accessory
-1,2 - stone_scythe_accessory
-2,2 - iron_scythe_accessory
-3,2 - flint_scythe_accessory
-4,2 - cactus_scythe_accessory
-5,2 - bone_scythe_accessory
-6,2 - obsidian_scythe_accessory
-7,2 - netherrack_scythe_accessory
-8,2 - slime_scythe_accessory
-9,2 - paper_scythe_accessory
-10,2 - cobalt_scythe_accessory
-11,2 - ardite_scythe_accessory
-12,2 - manyullyn_scythe_accessory
-13,2 - copper_scythe_accessory
-14,2 - bronze_scythe_accessory
-15,2 - alumite_scythe_accessory
-0,3 - blueslime_scythe_accessory
-1,3 - steel_scythe_accessory
-0,4 - wood_scythe_head
-1,4 - stone_scythe_head
-2,4 - iron_scythe_head
-3,4 - flint_scythe_head
-4,4 - cactus_scythe_head
-5,4 - bone_scythe_head
-6,4 - obsidian_scythe_head
-7,4 - netherrack_scythe_head
-8,4 - slime_scythe_head
-9,4 - paper_scythe_head
-10,4 - cobalt_scythe_head
-11,4 - ardite_scythe_head
-12,4 - manyullyn_scythe_head
-13,4 - copper_scythe_head
-14,4 - bronze_scythe_head
-15,4 - alumite_scythe_head
-0,5 - blueslime_scythe_head
-1,5 - steel_scythe_head
-0,6 - wood_scythe_binding
-1,6 - stone_scythe_binding
-2,6 - iron_scythe_binding
-3,6 - flint_scythe_binding
-4,6 - cactus_scythe_binding
-5,6 - bone_scythe_binding
-6,6 - obsidian_scythe_binding
-7,6 - netherrack_scythe_binding
-8,6 - slime_scythe_binding
-9,6 - paper_scythe_binding
-10,6 - cobalt_scythe_binding
-11,6 - ardite_scythe_binding
-12,6 - manyullyn_scythe_binding
-13,6 - copper_scythe_binding
-14,6 - bronze_scythe_binding
-15,6 - alumite_scythe_binding
-0,7 - blueslime_scythe_binding
-1,7 - steel_scythe_binding
-0,12 - wood_scythe_head_broken
-1,12 - stone_scythe_head_broken
-2,12 - iron_scythe_head_broken
-3,12 - flint_scythe_head_broken
-4,12 - cactus_scythe_head_broken
-5,12 - bone_scythe_head_broken
-6,12 - obsidian_scythe_head_broken
-7,12 - netherrack_scythe_head_broken
-8,12 - slime_scythe_head_broken
-9,12 - paper_scythe_head_broken
-10,12 - cobalt_scythe_head_broken
-11,12 - ardite_scythe_head_broken
-12,12 - manyullyn_scythe_head_broken
-13,12 - copper_scythe_head_broken
-14,12 - bronze_scythe_head_broken
-15,12 - alumite_scythe_head_broken
-0,13 - blueslime_scythe_head_broken
-1,13 - steel_scythe_head_broken
-0,14 - diamond_scythe_effect
-1,14 - emerald_scythe_effect
-2,14 - redstone_scythe_effect
-4,14 - moss_scythe_effect
-5,14 - ice_scythe_effect
-6,14 - lava_scythe_effect
-7,14 - blaze_scythe_effect
-8,14 - necrotic_scythe_effect
-9,14 - electric_scythe_effect
-10,14 - lapis_scythe_effect
-11,14 - silk_scythe_effect
\ No newline at end of file
diff --git a/spritesheets/shovels.png b/spritesheets/shovels.png
deleted file mode 100644
index 7be9e3d3..00000000
Binary files a/spritesheets/shovels.png and /dev/null differ
diff --git a/spritesheets/swordparts.png b/spritesheets/swordparts.png
deleted file mode 100644
index 41bc224a..00000000
Binary files a/spritesheets/swordparts.png and /dev/null differ
diff --git a/src/api/java/cofh/api/energy/IEnergyContainerItem.java b/src/api/java/cofh/api/energy/IEnergyContainerItem.java
deleted file mode 100644
index d40c0999..00000000
--- a/src/api/java/cofh/api/energy/IEnergyContainerItem.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package cofh.api.energy;
-
-import net.minecraft.item.ItemStack;
-
-/**
- * Implement this interface on Item classes that support external manipulation of their internal energy storages.
- *
- * A reference implementation is provided {@link ItemEnergyContainer}.
- *
- * @author King Lemming
- *
- */
-public interface IEnergyContainerItem
-{
-
- /**
- * Adds energy to an item. Returns the quantity of energy that was accepted. This should always return 0 if the item cannot be externally charged.
- *
- * @param container
- * ItemStack to be charged.
- * @param maxReceive
- * Maximum amount of energy to be sent into the item.
- * @param simulate
- * If TRUE, the charge will only be simulated.
- * @return Amount of energy that was (or would have been, if simulated) received by the item.
- */
- int receiveEnergy (ItemStack container, int maxReceive, boolean simulate);
-
- /**
- * Removes energy from an item. Returns the quantity of energy that was removed. This should always return 0 if the item cannot be externally discharged.
- *
- * @param container
- * ItemStack to be discharged.
- * @param maxExtract
- * Maximum amount of energy to be extracted from the item.
- * @param simulate
- * If TRUE, the discharge will only be simulated.
- * @return Amount of energy that was (or would have been, if simulated) extracted from the item.
- */
- int extractEnergy (ItemStack container, int maxExtract, boolean simulate);
-
- /**
- * Get the amount of energy currently stored in the item.
- */
- int getEnergyStored (ItemStack container);
-
- /**
- * Get the max amount of energy that can be stored in the item.
- */
- int getMaxEnergyStored (ItemStack container);
-
-}
\ No newline at end of file
diff --git a/src/api/java/ic2/api/item/IBoxable.java b/src/api/java/ic2/api/item/IBoxable.java
deleted file mode 100644
index 6214662c..00000000
--- a/src/api/java/ic2/api/item/IBoxable.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package ic2.api.item;
-
-import net.minecraft.item.ItemStack;
-
-public interface IBoxable
-{
- /**
- * Determine whether an item can be stored in a toolbox or not.
- *
- * @param itemstack item to be stored
- * @return Whether to store the item in the toolbox or not
- */
- public abstract boolean canBeStoredInToolbox (ItemStack itemstack);
-}
diff --git a/src/api/java/ic2/api/item/ICustomElectricItem.java b/src/api/java/ic2/api/item/ICustomElectricItem.java
deleted file mode 100644
index a65b4b29..00000000
--- a/src/api/java/ic2/api/item/ICustomElectricItem.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package ic2.api.item;
-
-import net.minecraft.item.ItemStack;
-
-/**
- * Provides the ability to store energy on the implementing item.
- *
- * This interface is a special version of IElectricItem which delegates the implementation of
- * charge(), discharge() and canUse() to the implementing Item.
- *
- * The default implementation (when not using ICustomElectricItem) does the following:
- * - store and retrieve the charge
- * - handle charging, taking amount, tier, transfer limit, canProvideEnergy and simulate into account
- * - replace item IDs if appropriate (getChargedItemId() and getEmptyItemId())
- * - update and manage the damage value for the visual charge indicator
- *
- * @note ICustomElectricItem must not call the ElectricItem methods charge, discharge or canUse
- *
- * @deprecated Use ISpecialElectricItem instead.
- */
-@Deprecated
-public interface ICustomElectricItem extends IElectricItem
-{
- /**
- * Charge an item with a specified amount of energy
- *
- * @param itemStack electric item's stack
- * @param amount amount of energy to charge in EU
- * @param tier tier of the charging device, has to be at least as high as the item to charge
- * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit()
- * @param simulate don't actually change the item, just determine the return value
- * @return Energy transferred into the electric item
- */
- public int charge (ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate);
-
- /**
- * Discharge an item by a specified amount of energy
- *
- * @param itemStack electric item's stack
- * @param amount amount of energy to charge in EU
- * @param tier tier of the discharging device, has to be at least as high as the item to discharge
- * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit()
- * @param simulate don't actually discharge the item, just determine the return value
- * @return Energy retrieved from the electric item
- */
- public int discharge (ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate);
-
- /**
- * Determine if the specified electric item has at least a specific amount of EU.
- * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item.
- * BatPacks are not taken into account.
- *
- * @param itemStack electric item's stack
- * @param amount minimum amount of energy required
- * @return true if there's enough energy
- */
- public boolean canUse (ItemStack itemStack, int amount);
-
- /**
- * Determine whether to show the charge tool tip with NEI or other means.
- *
- * Return false if IC2's handler is incompatible, you want to implement your own or you don't
- * want to display the charge at all.
- *
- * @return true to show the tool tip (x/y EU)
- */
- public boolean canShowChargeToolTip (ItemStack itemStack);
-}
diff --git a/src/api/java/ic2/api/item/IElectricItem.java b/src/api/java/ic2/api/item/IElectricItem.java
deleted file mode 100644
index 2b7fcce7..00000000
--- a/src/api/java/ic2/api/item/IElectricItem.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package ic2.api.item;
-
-import net.minecraft.item.ItemStack;
-
-/**
- * Provides the ability to store energy on the implementing item.
- *
- * The item should have a maximum damage of 13.
- */
-public interface IElectricItem
-{
- /**
- * Determine if the item can be used in a machine or as an armor part to supply energy.
- *
- * @return Whether the item can supply energy
- */
- boolean canProvideEnergy (ItemStack itemStack);
-
- /**
- * Get the item ID to use for a charge energy greater than 0.
- *
- * @return Item ID to use
- */
- int getChargedItemId (ItemStack itemStack);
-
- /**
- * Get the item ID to use for a charge energy of 0.
- *
- * @return Item ID to use
- */
- int getEmptyItemId (ItemStack itemStack);
-
- /**
- * Get the item's maximum charge energy in EU.
- *
- * @return Maximum charge energy
- */
- int getMaxCharge (ItemStack itemStack);
-
- /**
- * Get the item's tier, lower tiers can't send energy to higher ones.
- * Batteries are Tier 1, Energy Crystals are Tier 2, Lapotron Crystals are Tier 3.
- *
- * @return Item's tier
- */
- int getTier (ItemStack itemStack);
-
- /**
- * Get the item's transfer limit in EU per transfer operation.
- *
- * @return Transfer limit
- */
- int getTransferLimit (ItemStack itemStack);
-}
diff --git a/src/api/java/ic2/api/item/IElectricItemManager.java b/src/api/java/ic2/api/item/IElectricItemManager.java
deleted file mode 100644
index cdfb49e5..00000000
--- a/src/api/java/ic2/api/item/IElectricItemManager.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package ic2.api.item;
-
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.item.ItemStack;
-
-/**
- * This interface specifies a manager to handle the various tasks for electric items.
- *
- * The default implementation does the following:
- * - store and retrieve the charge
- * - handle charging, taking amount, tier, transfer limit, canProvideEnergy and simulate into account
- * - replace item IDs if appropriate (getChargedItemId() and getEmptyItemId())
- * - update and manage the damage value for the visual charge indicator
- *
- * @note If you're implementing your own variant (ISpecialElectricItem), you can delegate to the
- * default implementations through ElectricItem.rawManager. The default implementation is designed
- * to minimize its dependency on its own constraints/structure and delegates most work back to the
- * more atomic features in the gateway manager.
- */
-public interface IElectricItemManager
-{
- /**
- * Charge an item with a specified amount of energy
- *
- * @param itemStack electric item's stack
- * @param amount amount of energy to charge in EU
- * @param tier tier of the charging device, has to be at least as high as the item to charge
- * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit()
- * @param simulate don't actually change the item, just determine the return value
- * @return Energy transferred into the electric item
- */
- int charge (ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate);
-
- /**
- * Discharge an item by a specified amount of energy
- *
- * @param itemStack electric item's stack
- * @param amount amount of energy to charge in EU
- * @param tier tier of the discharging device, has to be at least as high as the item to discharge
- * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit()
- * @param simulate don't actually discharge the item, just determine the return value
- * @return Energy retrieved from the electric item
- */
- int discharge (ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate);
-
- /**
- * Determine the charge level for the specified item
- *
- * @param itemStack ItemStack containing the electric item
- * @return charge level in EU
- */
- int getCharge (ItemStack itemStack);
-
- /**
- * Determine if the specified electric item has at least a specific amount of EU.
- * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item.
- * BatPacks are not taken into account.
- *
- * @param itemStack electric item's stack
- * @param amount minimum amount of energy required
- * @return true if there's enough energy
- */
- boolean canUse (ItemStack itemStack, int amount);
-
- /**
- * Try to retrieve a specific amount of energy from an Item, and if applicable, a BatPack.
- * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item.
- *
- * @param itemStack electric item's stack
- * @param amount amount of energy to discharge in EU
- * @param entity entity holding the item
- * @return true if the operation succeeded
- */
- boolean use (ItemStack itemStack, int amount, EntityLivingBase entity);
-
- /**
- * Charge an item from the BatPack a player is wearing.
- * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item.
- * use() already contains this functionality.
- *
- * @param itemStack electric item's stack
- * @param entity entity holding the item
- */
- void chargeFromArmor (ItemStack itemStack, EntityLivingBase entity);
-
- /**
- * Get the tool tip to display for electric items.
- *
- * @param itemStack ItemStack to determine the tooltip for
- * @return tool tip string or null for none
- */
- String getToolTip (ItemStack itemStack);
-}
diff --git a/src/api/java/ic2/api/item/ISpecialElectricItem.java b/src/api/java/ic2/api/item/ISpecialElectricItem.java
deleted file mode 100644
index 86916eef..00000000
--- a/src/api/java/ic2/api/item/ISpecialElectricItem.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package ic2.api.item;
-
-import net.minecraft.item.ItemStack;
-
-public interface ISpecialElectricItem extends IElectricItem
-{
- /**
- * Supply a custom IElectricItemManager.
- *
- * @param itemStack ItemStack to get the manager for
- * @return IElectricItemManager instance
- */
- IElectricItemManager getManager (ItemStack itemStack);
-}
diff --git a/src/api/java/ic2/api/item/Items.java b/src/api/java/ic2/api/item/Items.java
deleted file mode 100644
index 1b7ed558..00000000
--- a/src/api/java/ic2/api/item/Items.java
+++ /dev/null
@@ -1,609 +0,0 @@
-package ic2.api.item;
-
-import net.minecraft.item.ItemStack;
-
-/**
- * Provides access to IC2 blocks and items.
- *
- * Some items can be acquired through the ore dictionary which is the recommended way.
- * The items are initialized while IC2 is being loaded - try to use ModsLoaded() or load your mod after IC2.
- * Some blocks/items can be disabled by a config setting, so it's recommended to check if they're null first.
- *
- * Getting the associated Block/Item for an ItemStack x:
- * Blocks: Block.blocksList[x.itemID]
- * Items: x.getItem()
- */
-public final class Items
-{
- /**
- * Get an ItemStack for a specific item name, example: Items.getItem("resin")
- * See the list below for item names.
- * Make sure to copy() the ItemStack if you want to modify it.
- *
- * @param name item name
- * @return The item or null if the item does not exist or an error occurred
- */
- public static ItemStack getItem (String name)
- {
- try
- {
- if (Ic2Items == null)
- Ic2Items = Class.forName(getPackage() + ".core.Ic2Items");
-
- Object ret = Ic2Items.getField(name).get(null);
-
- if (ret instanceof ItemStack)
- {
- return (ItemStack) ret;
- }
- else
- {
- return null;
- }
- }
- catch (Exception e)
- {
- System.out.println("IC2 API: Call getItem failed for " + name);
-
- return null;
- }
- }
-
- /* Possible values:
-
- // ores
- copperOre; // Copper Ore block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreCopper, null with enableWorldGenOreCopper=false
- tinOre; // Tin Ore block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreTin, null with enableWorldGenOreTin=false
- uraniumOre; // Tin Ore block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreUranium, null with enableWorldGenOreUranium=false
- leadOre; // Lead Ore Block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreLead, null with enableWorldGenOreLead=false
-
- // rubber related
-
- Rubber wood block, meta reflects the state, meta in ItemStack set to 0, ore dictionary: woodRubber (with meta 0), null with enableWorldGenTreeRubber=false
- dropped (as an item) -> metadata 0
- block, no resin spot -> metadata 0 or 1
- block, wet resin spot -> metadata 2-5 (according to the side)
- block, dry resin spot -> metadata 8-11 (wet state + 6)
-
- rubberWood;
- rubberLeaves; // Rubber Leaves block, currently not meta sensitive, meta in ItemStack set to 0, null with enableWorldGenTreeRubber=false
- rubberSapling; // Rubber Sapling block, currently not meta sensitive, meta in ItemStack set to 0, null with enableWorldGenTreeRubber=false
- resinSheet; // Resin Sheet block, currently not meta sensitive
- rubberTrampoline; // Rubber Trampoline block, meta reflects internal state, meta in ItemStack set to 0
-
- // building/storage
- ironFence; // Iron Fence block, currently not meta sensitive
-
- reinforcedStone; // Reinforced Stone block, currently not meta sensitive
- reinforcedGlass; // Reinforced Glass block, currently not meta sensitive
- reinforcedDoorBlock; // Reinforced Door block, meta reflects the state (see vanilla doors), meta in ItemStack set to 0
-
- constructionreinforcedFoam; // Construction Reinforced Foam block, currently not meta sensitive
- constructionFoam; // Construction Foam block, currently not meta sensitive
- constructionFoamWall; // Construction Foam Wall block, meta = color, implements IPaintableBlock
- scaffold; // Scaffold block, meta reflects internal physical model data
- ironScaffold; // Scaffold block, meta reflects internal physical model data
-
- bronzeBlock; // Bronze block, meta sensitive
- copperBlock; // Copper block, meta sensitive
- tinBlock; // Tin block, meta sensitive
- uraniumBlock; // Uranium block, meta sensitive
- leadBlock; // Uranium block, meta sensitive
-
- // cables (when placed as a block, inventory items are different; TE implements IEnergyConductor)
-
- copperCableBlock; // Copper Cable block, meta sensitive
- insulatedCopperCableBlock; // Insulated Copper Cable block, meta sensitive
-
- goldCableBlock; // Gold Cable block, meta sensitive
- insulatedGoldCableBlock; // Insulated Gold Cable block, meta sensitive
- doubleInsulatedGoldCableBlock; // Double Insulated Gold Cable block, meta sensitive
-
- ironCableBlock; // Iron Cable block, meta sensitive
- insulatedIronCableBlock; // Insulated Iron Cable block, meta sensitive
- doubleInsulatedIronCableBlock; // Double Insulated Iron Cable block, meta sensitive
- trippleInsulatedIronCableBlock; // Tripple Insulated Iron Cable block, meta sensitive
-
- glassFiberCableBlock; // Glass Fiber Cable block, meta sensitive
-
- tinCableBlock; // Tin Cable block, meta sensitive
- insulatedtinCableBlock; // Insulated Tin Cable item, meta sensitive
- detectorCableBlock; // Detector Cable block, meta sensitive
- splitterCableBlock; // Splitter Cable block, meta sensitive
-
- // generators + related (TE implements IEnergySource ex. reactorChamber)
-
- generator; // Generator block, meta sensitive
- geothermalGenerator; // Geothermal Generator block, meta sensitive
- waterMill; // Water Mill block, meta sensitive
- solarPanel; // Solar Panel block, meta sensitive
- windMill; // Wind Mill block, meta sensitive
- nuclearReactor; // Nuclear Reactor block, meta sensitive
- reactorChamber; // Reactor Chamber block, currently not meta sensitive
- RTGenerator; // Radioisotope Thermoelectric Generator block, meta sensitive
- semifluidGenerator; // Semifluid Generator block, meta sensitive
-
-
- // energy storages (TE implements IEnergySource and IEnergyConductor)
-
- batBox; // BatBox block, meta sensitive
- cesuUnit; // CESU Unit block, meta sensitive
- mfeUnit; // MFE Unit block, meta sensitive
- mfsUnit; // MFS Unit block, meta sensitive
-
- // transformers (TE implements IEnergySource and IEnergyConductor)
-
- lvTransformer; // LV Transformer block, meta sensitive
- mvTransformer; // MV Transformer block, meta sensitive
- hvTransformer; // HV Transformer block, meta sensitive
- evTransformer; // EV Transformer block, meta sensitive
-
- // machines + related (TE implements IEnergySink ex. machine, miningPipe, miningPipeTip)
-
- machine; // Machine block, meta sensitive
- advancedMachine; // Advanced Machine block, meta sensitive
-
- ironFurnace; // Iron Furnace block, meta sensitive
- electroFurnace; // Electro Furnace block, meta sensitive
- macerator; // Macerator block, meta sensitive
- extractor; // Extractor block, meta sensitive
- compressor; // Compressor block, meta sensitive
- canner; // Canner block, meta sensitive
- miner; // Miner block, meta sensitive
- pump; // Pump block, meta sensitive
- magnetizer; // Magnetizer block, meta sensitive
- electrolyzer; // Electrolyzer block, meta sensitive
- recycler; // Recycler block, meta sensitive
- inductionFurnace; // Induction Furnace block, meta sensitive
- massFabricator; // Mass Fabricator block, meta sensitive
- terraformer; // Terraformer block, meta sensitive
- teleporter; // Teleporter block, meta sensitive
- teslaCoil; // Tesla Coil block, meta sensitive
- luminator; // Passive (dark) Luminator block, meta = facing
- activeLuminator; // Active (bright) Luminator block, meta = facing
- centrifuge; // Centrifuge block, meta sensitive
- metalformer; // MetalFormer block ,meta sensitive
- orewashingplant; // Ore Wasching Plant,Meta sensitive
- patternstorage; // Pattern Storage,Meta sensitive
- scanner; // Scanner,Meta sensitive
- replicator; // Replicator,Meta sensitive
-
- miningPipe; // Mining Pipe block, currently not meta sensitive, meta in ItemStack set to 0
- miningPipeTip; // Mining Pipe Tip block, currently not meta sensitive, meta in ItemStack set to 0
-
-
- // personal blocks
-
- personalSafe; // Personal Safe block, meta sensitive
- tradeOMat; // Trade-O-Mat block, meta sensitive
- energyOMat; // Energy-O-Mat block, meta sensitive
-
- // explosives
-
- industrialTnt; // Industrial TNT block, currently not meta sensitive
- nuke; // Nuke block, currently not meta sensitive
- dynamiteStick; // Dynamite Stick block, meta = placement, meta in ItemStack set to 0
- dynamiteStickWithRemote; // Dynamite Stick with Remote block, meta = placement, meta in ItemStack set to 0
-
- // Agriculture Stuff
-
- crop; // Crop Block, empty, not meta sensitive
- cropmatron; // Cropmatron machien block, meta sensititve
-
- // ----- items -----
-
- // rubber + related
- resin; // Resin item, currently not meta sensitive
- rubber; // Rubber item, currently not meta sensitive, ore dictionary: itemRubber
-
- FluidCell;
-
- // Lithium -> Tritium
-
- reactorLithiumCell; // LithiumCell use in Reaktor, , meta = damage value
- TritiumCell; // Tritium, currently not meta sensitive
-
- // Nuclear Fuel
-
- UranFuel; // , currently not meta sensitive
- MOXFuel; // , currently not meta sensitive
- Plutonium; // , currently not meta sensitive
- smallPlutonium; // , currently not meta sensitive
- Uran235; // , currently not meta sensitive
- smallUran235; // , currently not meta sensitive
- Uran238; // , currently not meta sensitive
-
- reactorDepletedUraniumSimple; // Depleted Uranium Cell items, currently not meta sensitive
- reactorDepletedUraniumDual;
- reactorDepletedUraniumQuad;
- reactorDepletedMOXSimple; // Depleted MOX Cell items, currently not meta sensitive
- reactorDepletedMOXDual;
- reactorDepletedMOXQuad;
- reactorMOXSimple; // Depleted MOX Cell items, currently not meta sensitive
- reactorMOXDual;
- reactorMOXQuad;
- RTGPellets;
-
-
- // Recipe Parts
-
- coil; // Coil, meta sensitive
- elemotor; // electric motor, meta sensitive
- powerunit; // Item Power Unit, meta sensitive
- powerunitsmall; // Item Power Unit, meta sensitive
-
-
- // ItemCasing
-
- casingcopper; // Copper ItemCasing, meta sensitive
- casingtin; // Tin ItemCasing, meta sensitive
- casingbronze; // Bronze ItemCasing, meta sensitive
- casinggold; // Gold ItemCasing, meta sensitive
- casingiron; // Iron ItemCasing, meta sensitive
- @Deprecated
- casingadviron; // Refined Iron ItemCasing, meta sensitive
- casinglead; // Lead ItemCasing, meta sensitive
-
- // Crushed Ore
- crushedIronOre; // Crushed Iron Ore, meta sensitive
- crushedCopperOre; // Crushed Copper Ore, meta sensitive
- crushedGoldOre; // Crushed Gold Ore, meta sensitive
- crushedTinOre; // Crushed Tin Ore, meta sensitive
- crushedUraniumOre; // Crushed Uranium Ore, meta sensitive
- crushedSilverOre; // Crushed Silver Ore, meta sensitive
- crushedLeadOre; // Crushed Lead Ore, meta sensitive
-
-
- //Purify Crushed Ore
- purifiedCrushedIronOre; // Purify Crushed Iron Ore, meta sensitive
- purifiedCrushedCopperOre; // Purify Crushed Copper Ore, meta sensitive
- purifiedCrushedGoldOre; // Purify Crushed Gold Ore, meta sensitive
- purifiedCrushedTinOre; // Purify Crushed Tin Ore, meta sensitive
- purifiedCrushedUraniumOre; // Purify Crushed Uranium Ore, meta sensitive
- purifiedCrushedSilverOre; // Purify Crushed Silver Ore, meta sensitive
- purifiedCrushedLeadOre; // Purify Crushed Lead Ore, meta sensitive
-
- // dusts
- stoneDust;
- bronzeDust; // Bronze Dust item, meta sensitive, ore dictionary: dustBronze
- clayDust; // Clay Dust item, meta sensitive, ore dictionary: dustClay
- coalDust; // Coal Dust item, meta sensitive, ore dictionary: dustCoal
- copperDust; // Copper Dust item, meta sensitive, ore dictionary: dustCopper
- goldDust; // Gold Dust item, meta sensitive, ore dictionary: dustGold
- ironDust; // Iron Dust item, meta sensitive, ore dictionary: dustIron
- silverDust; // Silver Dust item, meta sensitive, ore dictionary: dustSilver
- tinDust; // Tin Dust item, meta sensitive, ore dictionary: dustTin
- hydratedCoalDust; // Hydrated Coal Dust item, meta sensitive
- leadDust; // Lead Dust item, meta sensitive, ore dictionary: dustLead
- obsidianDust; // Obsidian Dust item, meta sensitive, ore dictionary: dustObsidian
- lapiDust; // Lapi Dust item, meta sensitive, ore dictionary: dustLapi
- sulfurDust; // Sulfur Dust item, meta sensitive, ore dictionary: dustSulfur
- lithiumDust; // Lithium dust, meta sensitive, ore dictionary: dustLithium
-
- // small dusts
-
- smallIronDust; // Small Iron Dust item, meta sensitive
- smallCopperDust; // Small Copper Dust item, meta sensitive
- smallGoldDust; // Small Gold Dust item, meta sensitive
- smallTinDust; // Small Tin Dust item, meta sensitive
- smallSilverDust; // Small Silver Dust item, meta sensitive
- smallLeadDust; // Small Lead Dust item, meta sensitive
- smallSulfurDust; // Small Sulfur Dust item, meta sensitive
- smallLithiumDust; // Small Lithium Dust item, meta sensitive
-
-
- // ingots
- @Deprecated
- refinedIronIngot; // Refined Iron Ingot item, currently not meta sensitive, ore dictionary: ingotRefinedIron
- copperIngot; // Copper Ingot item, currently not meta sensitive, ore dictionary: ingotCopper
- tinIngot; // Tin Ingot item, currently not meta sensitive, ore dictionary: ingotTin
- bronzeIngot; // Bronze Ingot item, currently not meta sensitive, ore dictionary: ingotBronze
- mixedMetalIngot; // Mixed Metal Ingot item, currently not meta sensitive
- leadIngot; // Lead Ingot item, currently not meta sensitive
-
-
- // tools/weapons (without electric tools)
- treetap; // Treetap item, meta = damage value
- wrench; // Wrench item, meta = damage value
- cutter; // Insulation Cutter item, meta = damage value
- constructionFoamSprayer; // Construction Foam Sprayer item, meta = charges (as of v1.45)
-
- bronzePickaxe; // Bronze Pickaxe item, meta = damage value
- bronzeAxe; // Bronze Axe item, meta = damage value
- bronzeSword; // Bronze Sword item, meta = damage value
- bronzeShovel; // Bronze Shovel item, meta = damage value
- bronzeHoe; // Bronze Hoe item, meta = damage value
-
- ForgeHammer; // Refine Iron Hammer item, meta = damage value
-
- // el. tools/devices/weapons
- miningDrill; // Mining Drill item, meta = damage value for charge level
- diamondDrill; // Diamond Tipped Mining Drill item, meta = damage value for charge level
- chainsaw; // Chainsaw item, meta = damage value for charge level
- electricWrench; // Electric Wrench item, meta = damage value for charge level
- electricTreetap; // Electric Treetap item, meta = damage value for charge level
- miningLaser; // Mining Laser item, meta = damage value for charge level
-
- ecMeter; // EC-Mater item, meta = itemdata db index (as of v1.45)
- odScanner; // Ore Density Scanner item, meta = damage value for charge level
- ovScanner; // Ore Value Scanner item, meta = damage value for charge level
- obscurator; // Obscurator item, meta = damage value for charge level
-
- frequencyTransmitter; // Frequency Transmitter item, meta = itemdata db index (as of v1.45)
-
- nanoSaber; // Idle Nano Saber item, meta = damage value for charge level
- enabledNanoSaber; // Enabled Nano Saber item, meta = damage value for charge level
-
- toolbox; // Open/Empty toolbox, meta = Open (0) / Closed (1)
-
- // armor/wearable
- hazmatHelmet; // Hazmat Helmet item, meta = damage value
- hazmatChestplate; // Hazmat Chestplate item, meta = damage value
- hazmatLeggings; // Hazmat Leggings item, meta = damage value
- hazmatBoots; // Hazmat Boots item, meta = damage value
-
- bronzeHelmet; // Bronze Helmet Armor item, meta = damage value
- bronzeChestplate; // Bronze Chestplate Armor item, meta = damage value
- bronzeLeggings; // Bronze Leggings Armor item, meta = damage value
- bronzeBoots; // Bronze Boots Armor item, meta = damage value
-
- compositeArmor; // Composite Armor item, meta = damage value for charge level
-
- nanoHelmet; // Nano Helmet Armor item, meta = damage value for charge level
- nanoBodyarmor; // Nano Bodyarmor item, meta = damage value for charge level
- nanoLeggings; // Nano Leggings Armor item, meta = damage value for charge level
- nanoBoots; // Nano Boots Armor item, meta = damage value for charge level
-
- quantumHelmet; // Quantum Helmet Armor item, meta = damage value for charge level
- quantumBodyarmor; // Quantum Bodyarmor item, meta = damage value for charge level
- quantumLeggings; // Quantum Leggings Armor item, meta = damage value for charge level
- quantumBoots; // Quantum Boots Armor item, meta = damage value for charge level
-
- jetpack; // Jetpack item, meta = damage value for fuel level
- electricJetpack; // Electric Jetpack item, meta = damage value for charge level
-
- batPack; // BatPack item, meta = damage value for charge level
- advbatPack; // Adv.BatPack item, meta = damage value for charge level
- lapPack; // LapPack item, meta = damage value for charge level
- energyPack; // EnergyPack item, meta = damage value for charge level
-
- cfPack; // CF Pack item, meta = charges (as of v1.45)
- solarHelmet; // Solar Helmet, currently not meta sensitive
- staticBoots; // Static Boots, currently not meta sensitive
- nightvisionGoggles; // Nightvision Goggles, meta = damage value for charge level
-
- // batteries
- reBattery; // Empty RE Battery item, currently not meta sensitive
- chargedReBattery; // RE Battery item, meta = damage value for charge level
- advBattery; // Adv Batteryitem, meta = damage value for charge level
- energyCrystal; // Energy Crystal item, meta = damage value for charge level
- lapotronCrystal; // Lapotron Crystal item, meta = damage value for charge level
- suBattery; // SU Battery item, meta = damage value for charge level
-
- // cables
- copperCableItem; // Copper Cable item, meta sensitive
- insulatedCopperCableItem; // Insulated Copper Cable item, meta sensitive
-
- goldCableItem; // Gold Cable item, meta sensitive
- insulatedGoldCableItem; // Insulated Gold Cable item, meta sensitive
-
- @Deprecated
- doubleInsulatedGoldCableItem; // Double Insulated Gold Cable item, meta sensitive
-
- ironCableItem; // Iron Cable item, meta sensitive
- insulatedIronCableItem; // Insulated Iron Cable item, meta sensitive
-
- @Deprecated
- doubleInsulatedIronCableItem; // Double Insulated Iron Cable item, meta sensitive
- @Deprecated
- trippleInsulatedIronCableItem; // Tripple Insulated Iron Cable item, meta sensitive
- insulatedTinCableItem;
- glassFiberCableItem; // Glass Fiber Cable item, meta sensitive
- tinCableItem; // Tin Cable item, meta sensitive
-
-
- detectorCableItem; // Detector Cable item, meta sensitive
- splitterCableItem; // Splitter Cable item, meta sensitive
-
- // cells/containers (without reactor components)
-
- cell; // Empty Cell item, meta sensitive
- lavaCell; // Lava Cell item, meta sensitive
- waterCell; // Water Cell item, meta sensitive
- UuMatterCell; // UUMatter Cell item, meta sensitive
- CFCell; // constructionFoam Cell item, meta sensitive
-
-
- fuelRod; // Empy Fuel Rod item, currently not meta sensitive
- hydratedCoalCell; // Hydrated Coal Cell item, currently not meta sensitive
- bioCell; // Bio Cell item, currently not meta sensitive
- coalfuelCell; // Coalfuel Cell item, currently not meta sensitive
- biofuelCell; // Biofuel Cell item, currently not meta sensitive
- electrolyzedWaterCell; // Electrolyzed Water Cell item, currently not meta sensitive
- airCell; // Compressed Air item, currently not meta sensitive
-
- fuelCan; // Empty Fuel Can item, currently not meta sensitive
- filledFuelCan; // Fuel Can item, meta = fuel value (as of v1.45)
-
- tinCan; // Empty Tin Can item, currently not meta sensitive
- filledTinCan; // Filled Tin Can item, currently not meta sensitive
-
- // reactor components
- reactorUraniumSimple; // Uranium Cell items, meta = consumed uranium ticks
- reactorUraniumDual;
- reactorUraniumQuad;
-
- reactorCoolantSimple;
- reactorCoolantTriple ; // Coolant Cell item, NBT for heat-storage, meta is 0-10000 for display
- reactorCoolantSix;
-
- reactorPlating; // Integrated Reactor Plating item, currently not meta sensitive
- reactorPlatingHeat;
- reactorPlatingExplosive;
-
- reactorHeatSwitch; // Integrated Heat Disperser item, NBT for heat-storage, meta is 0-10000 for display
- reactorHeatSwitchCore;
- reactorHeatSwitchSpread;
- reactorHeatSwitchDiamond;
-
- reactorVent; // Heat Venting component, NBT for heat-storage, meta is 0-10000 for display
- reactorVentCore;
- reactorVentGold;
- reactorVentSpread;// Special: Does not store heat
- reactorVentDiamond;
-
- reactorReflector; // Increase efficiency without additional ticks, NBT for heat-storage, meta is 0-10000 for display
- reactorReflectorThick; // Increase efficiency without additional ticks, NBT for heat-storage, meta is 0-10000 for display
- reactorCondensator; // Consumes redstone to absorb heat, NBT for storage, meta is 0-10000 for display
- reactorCondensatorLap; // Consumes redstone/lapis to absorb heat, mNBT for storage, meta is 0-10000 for display
-
- // terraformer blueprints
- terraformerBlueprint; // Empty Terraformer Blueprint item, currently not meta sensitive
- cultivationTerraformerBlueprint; // Cultivation Terraformer Blueprint item, currently not meta sensitive
- irrigationTerraformerBlueprint; // Irrigation Terraformer Blueprint item, currently not meta sensitive
- chillingTerraformerBlueprint; // Chilling Terraformer Blueprint item, currently not meta sensitive
- desertificationTerraformerBlueprint; // Desertification Terraformer Blueprint item, currently not meta sensitive
- flatificatorTerraformerBlueprint; // Flatificator Terraformer Blueprint item, currently not meta sensitive
- mushroomTerraformerBlueprint; // Mushroom Terraformer Blueprint item, currently not meta sensitive
-
- // diamond chain
- coalBall; // Coal Ball item, currently not meta sensitive
- compressedCoalBall; // Compressed Coal Ball item, currently not meta sensitive
- coalChunk; // Coal Chunk item, currently not meta sensitive
- industrialDiamond; // Industrial Diamond item, currently not meta sensitive, DEPRECATED
-
- // recycler chain
- scrap; // Scrap item, currently not meta sensitive
- scrapBox; // Scrap Box item, currently not meta sensitive
-
- // fuel production chain
- hydratedCoalClump; // Hydrated Coal Clump item, currently not meta sensitive
- plantBall; // Plant Ball item, currently not meta sensitive
- compressedPlantBall; // Compressed Plant Ball item, currently not meta sensitive
-
- // painting
- painter; // Painter item, currently not meta sensitive
-
- blackPainter; // Black Painter item, meta = damage value
- redPainter; // Red Painter item, meta = damage value
- greenPainter; // Green Painter item, meta = damage value
- brownPainter; // Brown Painter item, meta = damage value
- bluePainter; // Blue Painter item, meta = damage value
- purplePainter; // Purple Painter item, meta = damage value
- cyanPainter; // Cyan Painter item, meta = damage value
- lightGreyPainter; // Light Grey Painter item, meta = damage value
- darkGreyPainter; // Dark Grey Painter item, meta = damage value
- pinkPainter; // Pink Painter item, meta = damage value
- limePainter; // Lime Painter item, meta = damage value
- yellowPainter; // Yellow Painter item, meta = damage value
- cloudPainter; // Cloud Painter item, meta = damage value
- magentaPainter; // Magenta Painter item, meta = damage value
- orangePainter; // Orange Painter item, meta = damage value
- whitePainter; // White Painter item, meta = damage value
-
- // explosives + related
- dynamite; // Throwable Dynamite item, currently not meta sensitive
- stickyDynamite; // Throwable Sticky Dynamite item, currently not meta sensitive
-
- remote; // Dynamite Remote item, currently not meta sensitive
-
- // misc intermediate recipe ingredients
- electronicCircuit; // Electronic Circuit item, currently not meta sensitive
- advancedCircuit; // Advanced Circuit item, currently not meta sensitive
-
- advancedAlloy; // Advanced Alloy item, currently not meta sensitive
-
- carbonFiber; // Raw Carbon Fiber item, currently not meta sensitive
- carbonMesh; // Raw Carbon Mesh item, currently not meta sensitive
- carbonPlate; // Carbon Plate item, currently not meta sensitive
-
- matter; // UUA item, currently not meta sensitive
- iridiumOre; // Iridium Ore item, currently not meta sensitive
- iridiumPlate; // Iridium Plate item, currently not meta sensitive
-
-
- // Metal Plates
-
- platecopper; // Metal plate item, meta sensitive
- platetin; // Metal plate item, meta sensitive
- platebronze; // Metal plate item, meta sensitive
- plategold; // Metal plate item, meta sensitive
- plateiron; // Metal plate item, meta sensitive
- platelead; // Metal plate item, meta sensitive
- platelapi; // Metal plate item, meta sensitive
- plateobsidian; // Metal plate item, meta sensitive
- plateadviron; // Metal plate item, meta sensitive
-
- // Metal Dense Plates
- denseplatecopper; // Metal dense plate item, meta sensitive
- denseplatetin; // Metal dense plate item, meta sensitive
- denseplatebronze; // Metal dense plate item, meta sensitive
- denseplategold; // Metal dense plate item, meta sensitive
- denseplateiron; // Metal dense plate item, meta sensitive
- @Deprecated
- denseplateadviron; // Metal dense plate item, meta sensitive
- denseplatelead; // Metal dense plate item, meta sensitive
- denseplatelapi; // Metal dense plate item, meta sensitive
- denseplateobsidian; // Metal dense plate item, meta sensitive
-
-
-
- // upgrade modules
- overclockerUpgrade; // overclocker upgrade item, meta sensitive
- transformerUpgrade; // transformer upgrade item, meta sensitive
- energyStorageUpgrade; // energy storage upgrade item, meta sensitive
- ejectorUpgrade; // ejector upgrade item, meta sensitive
-
- // misc
- coin; // Coin item, currently not meta sensitive
- reinforcedDoor; // Reinforced Door item, currently not meta sensitive
- constructionFoamPowder; // Construction Foam Powder item, currently not meta sensitive
- grinPowder; // Poisonous ingrident, currently not meta sensitive
- debug; // Debug item, currently not meta sensitive
- boatCarbon; // Carbon Fiber Canoe item, meta sensitive
- boatRubber; // Rubber Dinghy item, meta sensitive
- boatRubberBroken; // Damaged Rubber Dinghy item, meta sensitive
- boatElectric; // Electric Boat item, meta sensitive
-
- //Agriculture
- cropSeed; // Crop seeds, stuff stored in NBT, don't use for crafting recipes!
- cropnalyzer; // Cropnalyzer handheld device
- fertilizer; // Basic IC2Item, used to provide nutrients toCropBlocks
- hydratingCell; // Cell used to hydrate Crops, meta = Content, 0= Full, 9999 = Near empty
- electricHoe; // Electric Hoe, Metadata indicates charge level
- terraWart; // Mystic opposite of NEtherWart, cures StatusEffects, simply consumeable
- weedEx; // Spraying can of WEED-EX, meta indicates usages left
-
- //Boozeception
- mugEmpty; // Simple stone mug
- coffeeBeans; // Harvested CoffeeBeans
- coffeePowder; // Processed Coffee Beans, used to craft drinkable Coffee
- mugCoffee; // Mug of Coffee, Meta indicates status 0 = cold, 1 = Normal, 2 = Sugar'd
- hops; // Hops, harvested freshly from crop
- barrel; // Carried Barrel, metadata encrypts the information about the liquid inside
- blockBarrel; // Unobtainable "placed barrel", TileEntity controlling the Fermentation process
- mugBooze; // Mug filled with booze, metadata encrypts the information about the liquid inside
-
- */
-
- /**
- * Get the base IC2 package name, used internally.
- *
- * @return IC2 package name, if unable to be determined defaults to ic2
- */
- private static String getPackage ()
- {
- Package pkg = Items.class.getPackage();
-
- if (pkg != null)
- {
- String packageName = pkg.getName();
-
- return packageName.substring(0, packageName.length() - ".api.item".length());
- }
-
- return "ic2";
- }
-
- private static Class> Ic2Items;
-}
diff --git a/src/api/java/mcp/mobius/waila/api/IWailaBlock.java b/src/api/java/mcp/mobius/waila/api/IWailaBlock.java
deleted file mode 100644
index fd7a3db6..00000000
--- a/src/api/java/mcp/mobius/waila/api/IWailaBlock.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package mcp.mobius.waila.api;
-
-import java.util.List;
-
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.world.World;
-
-public interface IWailaBlock
-{
- /*
- * Use this method to return an item stack in case the default lookup system fails.
- * Return null if you want to use the default lookup system.
- * You get the world, the player and the location of the block. With that, it is easy to gather information & tile entities
- */
- ItemStack getWailaStack (IWailaDataAccessor accessor, IWailaConfigHandler config);
-
- /* Waila HUD is divided into 3 zones. The head corresponds to the item name,
- * body to where you mostly want to put informations, and I reserve the tail for modname display
- */
-
- /* Those 2 methods works exactly the same way, except they are related to a different zone in Waila HUD.
- * You get in input world, player and the block location. You also get the itemstack as returned by the default lookup system or getWailaStack().
- * ConfigHandler provides the current Waila config state so you can show/hide elements depending on the configuration. Refer the ConfigHandler class for more info.
- * currenttip represents the current list of text lines in the tooltip zone.
- * For example, getWailaHead() will have the current item name as currenttip.
- * You can modify the tips, add more, remove some, etc.
- * When you are done, just returns the currenttip and it will display in Waila.
- *
- * Always return the currenttip is you don't want to modify the current zone.
- */
-
- List getWailaHead (ItemStack itemStack, List currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config);
-
- List getWailaBody (ItemStack itemStack, List currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config);
-}
diff --git a/src/api/java/mcp/mobius/waila/api/IWailaConfigHandler.java b/src/api/java/mcp/mobius/waila/api/IWailaConfigHandler.java
deleted file mode 100644
index 4c345e87..00000000
--- a/src/api/java/mcp/mobius/waila/api/IWailaConfigHandler.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package mcp.mobius.waila.api;
-
-import java.util.HashMap;
-import java.util.Set;
-
-public interface IWailaConfigHandler
-{
- /* Returns a set of all the currently loaded modules in the config handler */
- public Set getModuleNames ();
-
- /* Returns all the currently available options for a given module */
- public HashMap getConfigKeys (String modName);
-
- /* Add a new option to a given module
- *
- * modName is the name of the module to add the option to (ie : Buildcraft, IndustrialCraft2, etc)
- * key is the config key (ie : bc.tankcontent, ic2.inputvalue)
- * name is the human readable name of the option (ie : "Tank content", "Max EU Input")
- * */
- //public void addConfig(String modName, String key, String name);
-
- /* Returns the current value of an option (true/false) with a default value defvalue if not set*/
- public boolean getConfig (String key, boolean defvalue);
-
- /* Returns the current value of an option (true/false) with a default value true if not set*/
- public boolean getConfig (String key);
-}
diff --git a/src/api/java/mcp/mobius/waila/api/IWailaDataAccessor.java b/src/api/java/mcp/mobius/waila/api/IWailaDataAccessor.java
deleted file mode 100644
index 0f30baff..00000000
--- a/src/api/java/mcp/mobius/waila/api/IWailaDataAccessor.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package mcp.mobius.waila.api;
-
-import java.util.List;
-
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.world.World;
-
-public interface IWailaDataAccessor
-{
- World getWorld ();
-
- EntityPlayer getPlayer ();
-
- Block getBlock ();
-
- int getBlockID ();
-
- int getMetadata ();
-
- TileEntity getTileEntity ();
-
- MovingObjectPosition getPosition ();
-
- NBTTagCompound getNBTData ();
-
- int getNBTInteger (NBTTagCompound tag, String keyname);
-}
diff --git a/src/api/java/mcp/mobius/waila/api/IWailaDataProvider.java b/src/api/java/mcp/mobius/waila/api/IWailaDataProvider.java
deleted file mode 100644
index 80e15117..00000000
--- a/src/api/java/mcp/mobius/waila/api/IWailaDataProvider.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package mcp.mobius.waila.api;
-
-public interface IWailaDataProvider extends IWailaBlock
-{
-}
diff --git a/src/api/java/mcp/mobius/waila/api/IWailaRegistrar.java b/src/api/java/mcp/mobius/waila/api/IWailaRegistrar.java
deleted file mode 100644
index 321d6cfa..00000000
--- a/src/api/java/mcp/mobius/waila/api/IWailaRegistrar.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package mcp.mobius.waila.api;
-
-public interface IWailaRegistrar
-{
- /* Add a config option in the section modname with displayed text configtext and access key keyname */
- public void addConfig (String modname, String keyname, String configtext);
-
- public void addConfigRemote (String modname, String keyname, String configtext);
-
- /* Register a IWailaDataProvider for the given blockID, either for the Head section or the Body section */
- public void registerHeadProvider (IWailaDataProvider dataProvider, int blockID);
-
- public void registerBodyProvider (IWailaDataProvider dataProvider, int blockID);
-
- /* Register a stack overrider for the given blockID */
- public void registerStackProvider (IWailaDataProvider dataProvider, int blockID);
-
- /* Same thing, but works on a class hierarchy instead */
- public void registerHeadProvider (IWailaDataProvider dataProvider, Class block);
-
- public void registerBodyProvider (IWailaDataProvider dataProvider, Class block);
-}
diff --git a/src/api/java/mods/battlegear2/api/IAllowItem.java b/src/api/java/mods/battlegear2/api/IAllowItem.java
deleted file mode 100644
index 9c629d48..00000000
--- a/src/api/java/mods/battlegear2/api/IAllowItem.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package mods.battlegear2.api;
-
-import net.minecraft.item.ItemStack;
-
-public interface IAllowItem {
-
- /**
- * Returns true if the mainhand {@link #ItemStack} allows the offhand {@link #ItemStack} to be placed in the partner offhand slot
- */
- public boolean allowOffhand(ItemStack mainhand, ItemStack offhand);
-}
diff --git a/src/api/java/mods/battlegear2/api/IDyable.java b/src/api/java/mods/battlegear2/api/IDyable.java
deleted file mode 100644
index 3e72f2fc..00000000
--- a/src/api/java/mods/battlegear2/api/IDyable.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package mods.battlegear2.api;
-
-
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-
-//This is a tempory fix until we get the heradry system up and running
-public interface IDyable {
-
- /**
- * Return whether the specified ItemStack has a color.
- */
- public boolean hasColor(ItemStack par1ItemStack);
-
-
- /**
- * Return the color for the specified ItemStack.
- */
- public int getColor(ItemStack par1ItemStack);
-
- public void setColor(ItemStack dyable, int rgb);
-
- /**
- * Remove the color from the specified ItemStack.
- */
- public void removeColor(ItemStack par1ItemStack);
-
- public int getDefaultColor(ItemStack par1ItemStack);
-
-
-}
diff --git a/src/api/java/mods/battlegear2/api/IOffhandDual.java b/src/api/java/mods/battlegear2/api/IOffhandDual.java
deleted file mode 100644
index 1c184687..00000000
--- a/src/api/java/mods/battlegear2/api/IOffhandDual.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package mods.battlegear2.api;
-
-import cpw.mods.fml.relauncher.Side;
-import mods.battlegear2.api.weapons.OffhandAttackEvent;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.event.entity.player.PlayerInteractEvent;
-
-public interface IOffhandDual {
- /**
- * Returns true if the item can be dual wielded in the offhand slot
- */
- public boolean isOffhandHandDual(ItemStack off);
-
- /**
- * Perform any function when the item is held in the offhand and the user right clicks an entity.
- * This is generally used to attack an entity with the offhand item. If this is the case the event should
- * be canceled to prevent any default right clicking events (Eg Villager Trading)
- *
- * @param event the OffhandAttackEvent that was generated
- * @param mainhandItem the ItemStack currently being held in the right hand
- * @param offhandItem the ItemStack currently being held in the left hand
- * @return true if the off hand swing animation should be performed
- */
- public boolean offhandAttackEntity(OffhandAttackEvent event, ItemStack mainhandItem, ItemStack offhandItem);
-
- /**
- * Perform any function when the item is held in the offhand and the user right clicks "Air".
- *
- * @param event the PlayerInteractEvent that was generated
- * @param mainhandItem the ItemStack currently being held in the right hand
- * @param offhandItem the ItemStack currently being held in the left hand
- * @return true if the off hand swing animation should be performed
- */
- public boolean offhandClickAir(PlayerInteractEvent event, ItemStack mainhandItem, ItemStack offhandItem);
-
- /**
- * Perform any function when the item is held in the offhand and the user right clicks a block.
- * Note that this will happen prior to the activation of any activation functions of blocks
- *
- * @param event the PlayerInteractEvent that was generated
- * @param mainhandItem the ItemStack currently being held in the right hand
- * @param offhandItem the ItemStack currently being held in the left hand
- * @return true if the off hand swing animation should be performed
- */
- public boolean offhandClickBlock(PlayerInteractEvent event, ItemStack mainhandItem, ItemStack offhandItem);
-
- /**
- * Perform any passive effects on each game tick when the item is held in the offhand
- *
- * @param effectiveSide the effective side the method was called from
- * @param mainhandItem the ItemStack currently being held in the right hand
- * @param offhandItem the ItemStack currently being held in the left hand
- */
- public void performPassiveEffects(Side effectiveSide, ItemStack mainhandItem, ItemStack offhandItem);
-}
diff --git a/src/api/java/mods/battlegear2/api/ISheathed.java b/src/api/java/mods/battlegear2/api/ISheathed.java
deleted file mode 100644
index 5955b87b..00000000
--- a/src/api/java/mods/battlegear2/api/ISheathed.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package mods.battlegear2.api;
-
-import net.minecraft.item.ItemStack;
-
-public interface ISheathed {
-
- /**
- * Returns true if the item should always be sheathed on the back, false if it should be sheathed on the hip
- * @param item the {@link #ItemStack} to be sheathed
- */
- public boolean sheatheOnBack(ItemStack item);
-}
diff --git a/src/api/java/mods/battlegear2/api/IShield.java b/src/api/java/mods/battlegear2/api/IShield.java
deleted file mode 100644
index 089935c5..00000000
--- a/src/api/java/mods/battlegear2/api/IShield.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package mods.battlegear2.api;
-
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.DamageSource;
-
-public interface IShield {
-
- /**
- * Gets the decay rate for the stamina bar when the shield is in use.
- * The value should be between 0 and 1. The duration of maximum blocking can be calculated
- * by 1/decayRate/20.
- *
- * @param shield The {@link #ItemStack} representing the shield
- * @return a value between 0 & 1 representing the decay rate per tick
- */
- public float getDecayRate(ItemStack shield);
-
- /**
- * Gets the recovery rate for the stamina bar when the shield is not in use.
- * The value should be between 0 and 1.
- *
- * @param shield The {@link #ItemStack} representing the shield
- * @return a value between 0 & 1 representing the recovery rate per tick
- */
- public float getRecoveryRate(ItemStack shield);
-
- /**
- * Returns true if the current shield can and should block the given damage source
- *
- * @param shield The {@link #ItemStack} representing the shield
- * @param source The {@link #DamageSource} representing the current damage
- * @return true if the shield can block the given damage type
- */
- public boolean canBlock(ItemStack shield, DamageSource source);
-
- /**
- * Gets the extra decay rate to the stamina bar when the shield is damaged
- *
- * @param shield The {@link #ItemStack} representing the shield
- * @param amount The amount of damage the shield has absorbed
- * @return a value between 0 & 1 representing the decay rate
- */
- public float getDamageDecayRate(ItemStack shield, float amount);
-
- /**
- * Returns the block angle in degrees that the shield can block.
- * This angle is taken as 0 degrees being directly in front of the player. The shield
- * will block between -blockAngle to blockangle
- * @param shield The {@link #ItemStack} representing the shield
- * @return The maximum angle the shield should be able to block at
- */
- public float getBlockAngle(ItemStack shield);
-
-
- /**
- * Returns the time a shield bash should take to be preformed. A shield bash will disallow actions
- * for the number of ticks given and will knockback an oponent at time/2
- *
- * @return The amount of ticks the shield bash animation will play
- */
- public int getBashTimer(ItemStack shield);
-}
diff --git a/src/api/java/mods/battlegear2/api/PlayerEventChild.java b/src/api/java/mods/battlegear2/api/PlayerEventChild.java
deleted file mode 100644
index 654952c0..00000000
--- a/src/api/java/mods/battlegear2/api/PlayerEventChild.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package mods.battlegear2.api;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraftforge.event.Event.Result;
-import net.minecraftforge.event.entity.player.PlayerEvent;
-
-public class PlayerEventChild extends PlayerEvent{
-
- public PlayerEvent parent;
-
- public PlayerEventChild(PlayerEvent parent) {
- super(parent.entityPlayer);
- this.parent = parent;
- }
-
- public void setCancelParentEvent(boolean cancel) {
- parent.setCanceled(cancel);
- }
-
- @Override
- public void setCanceled(boolean cancel) {
- super.setCanceled(cancel);
- parent.setCanceled(cancel);
- }
-
- @Override
- public void setResult(Result value) {
- super.setResult(value);
- parent.setResult(value);
- }
-}
diff --git a/src/api/java/mods/battlegear2/api/quiver/IArrowContainer2.java b/src/api/java/mods/battlegear2/api/quiver/IArrowContainer2.java
deleted file mode 100644
index 9ad1355e..00000000
--- a/src/api/java/mods/battlegear2/api/quiver/IArrowContainer2.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package mods.battlegear2.api.quiver;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.projectile.EntityArrow;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-
-public interface IArrowContainer2 {
-
- /**
- * Returns the maximum amout of slots in the arrow container
- * @param container {@link #ItemStack} representing this item
- * @return the amount of slots
- */
- public int getSlotCount(ItemStack container);
-
- /**
- * Returns the currently selected slot in the arrow container
- * @param container {@link #ItemStack} representing this item
- * @return the currently selected slot
- */
- public int getSelectedSlot(ItemStack container);
-
- /**
- * Sets the currently selected slot to the given value
- * @param container {@link #ItemStack} representing this item
- * @param newSlot the new slot index
- */
- public void setSelectedSlot(ItemStack container, int newSlot);
-
- /**
- * Returns the itemStack in the currently selected slot
- * @param container The {@link #ItemStack} representing this item
- * @param slot the slot index
- * @return The {@link #ItemStack} in the given slot.
- */
- public ItemStack getStackInSlot(ItemStack container, int slot);
-
- /**
- * Sets places the given item stack in the give slot
- * @param container {@link #ItemStack} representing this item
- * @param slot the slot index
- * @param container {@link #ItemStack} representing the new stack
- */
- public void setStackInSlot(ItemStack container, int slot, ItemStack stack);
-
-
- /**
- *
- * @param container The {@link #ItemStack} representing this item
- * @param bow The bow trying to use this container
- * @param player The {@link #EntityPlayer} using the bow
- * @return true if the item contains at least one arrow in the selected slot
- */
- public boolean hasArrowFor(ItemStack container, ItemStack bow, EntityPlayer player, int slot);
-
- /**
- * The arrow spawned when bow is used with this non empty container equipped
- * @param container The {@link #ItemStack} representing this item
- * @param charge Amount of charge in the bow, ranging from 0.2F to 2.0F
- * @param player The {@link #EntityPlayer} using the bow
- * @param world
- * @return the arrow entity to spawn when bow is used
- */
- public EntityArrow getArrowType(ItemStack container, World world, EntityPlayer player, float charge);
- /**
- * Action to take after an arrow has been fired
- * Usually equal to removing an arrow from the container
- * @param player The {@link #EntityPlayer} using the bow
- * @param world
- * @param container The {@link #ItemStack} representing this item
- * @param bow The bow which fired
- * @param arrow the arrow fired
- */
- public void onArrowFired(World world, EntityPlayer player, ItemStack container, ItemStack bow, EntityArrow arrow);
- /**
- * Called before the arrow is fired from this container
- * @param arrowEvent Used to decide bow damage, bow sound and arrow enchantment
- */
- public void onPreArrowFired(QuiverArrowEvent arrowEvent);
- /**
- * Called when the container is put on a crafting bench with other items
- * @param container The {@link #ItemStack} representing this item
- * @param arrowStack The {@link #ItemStack} representing other items
- * @return True to receive {@link #addArrows(ItemStack, ItemStack)}
- */
- public boolean isCraftableWithArrows(ItemStack contaner, ItemStack arrowStack);
-
- /**
- * Crafts the item with the items from {@link #isCraftableWithArrows(ItemStack, ItemStack)}
- * @param container The {@link #ItemStack} representing this item
- * @param arrows Another valid item on the crafting bench
- * @return Number of arrows that couldn't fit in
- */
- public ItemStack addArrows(ItemStack container, ItemStack newStack);
-
-
-
-}
diff --git a/src/api/java/mods/battlegear2/api/quiver/QuiverArrowEvent.java b/src/api/java/mods/battlegear2/api/quiver/QuiverArrowEvent.java
deleted file mode 100644
index f410261a..00000000
--- a/src/api/java/mods/battlegear2/api/quiver/QuiverArrowEvent.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package mods.battlegear2.api.quiver;
-
-import mods.battlegear2.api.PlayerEventChild;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.event.entity.player.ArrowLooseEvent;
-import net.minecraftforge.event.entity.player.PlayerEvent;
-
-public class QuiverArrowEvent extends PlayerEventChild{
-
- public int bowDamage = 1;
- public float bowSoundVolume = 1.0F;
- public boolean addEnchantments = true;
- public ArrowLooseEvent event;
-
- public QuiverArrowEvent(ArrowLooseEvent parent) {
- super(parent);
- this.event = parent;
- }
-
- public ItemStack getBow()
- {
- return event.bow;
- }
-
- public int getCharge()
- {
- return event.charge;
- }
-}
diff --git a/src/api/java/mods/battlegear2/api/quiver/QuiverArrowRegistry.java b/src/api/java/mods/battlegear2/api/quiver/QuiverArrowRegistry.java
deleted file mode 100644
index fcf1dcaf..00000000
--- a/src/api/java/mods/battlegear2/api/quiver/QuiverArrowRegistry.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package mods.battlegear2.api.quiver;
-
-import net.minecraft.entity.projectile.EntityArrow;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-
-import java.util.Comparator;
-import java.util.Map;
-import java.util.TreeMap;
-
-public class QuiverArrowRegistry {
-
- private static Map> map = new TreeMap>(new StackComparator());
-
- public static void addArrowToRegistry(int itemId, int itemMetadata, Class extends EntityArrow> entityArrow){
- ItemStack stack = new ItemStack(itemId, 1, itemMetadata);
- addArrowToRegistry(stack, entityArrow);
- }
-
- public static void addArrowToRegistry(ItemStack stack, Class extends EntityArrow> entityArrow){
- ItemStack st = stack.copy();
- st.stackSize = 1;
- map.put(st, entityArrow);
- }
-
- public static Class extends EntityArrow> getArrowClass(ItemStack stack){
- return map.get(stack);
- }
-
- static class StackComparator implements Comparator {
- @Override
- public int compare(ItemStack stack, ItemStack stack2) {
- if(stack == stack2){
- return 0;
- }else{
-
- int idDiff = stack.itemID - stack2.itemID;
- if(idDiff != 0){
- return idDiff;
- }else{
- idDiff = stack.getItemDamage() - stack2.getItemDamage();
- if(idDiff != 0){
- return idDiff;
- }else{
- int tag = 0;
- if(stack.hasTagCompound()){
- tag = stack.getTagCompound().hashCode();
- }
- int tag2 = 0;
- if(stack2.hasTagCompound()){
- tag2 = stack2.getTagCompound().hashCode();
- }
- return tag-tag2;
- }
- }
- }
-
- }
- }
-
-
-}
diff --git a/src/api/java/mods/battlegear2/api/weapons/IBackStabbable.java b/src/api/java/mods/battlegear2/api/weapons/IBackStabbable.java
deleted file mode 100644
index 36025eca..00000000
--- a/src/api/java/mods/battlegear2/api/weapons/IBackStabbable.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package mods.battlegear2.api.weapons;
-
-import net.minecraft.entity.EntityLivingBase;
-
-public interface IBackStabbable {
-
- /**
- * Action to perform on back stabbing
- * @param entityHit
- * @param entityHitting
- * @return true if it adds an hitting action
- */
- public boolean onBackStab(EntityLivingBase entityHit, EntityLivingBase entityHitting);
-}
diff --git a/src/api/java/mods/battlegear2/api/weapons/IBattlegearWeapon.java b/src/api/java/mods/battlegear2/api/weapons/IBattlegearWeapon.java
deleted file mode 100644
index f0a76bec..00000000
--- a/src/api/java/mods/battlegear2/api/weapons/IBattlegearWeapon.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package mods.battlegear2.api.weapons;
-
-import cpw.mods.fml.relauncher.Side;
-import mods.battlegear2.api.IAllowItem;
-import mods.battlegear2.api.IOffhandDual;
-import mods.battlegear2.api.ISheathed;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.event.entity.player.PlayerInteractEvent;
-
-public interface IBattlegearWeapon extends ISheathed,IOffhandDual,IAllowItem{
-
-}
\ No newline at end of file
diff --git a/src/api/java/mods/battlegear2/api/weapons/IExtendedReachWeapon.java b/src/api/java/mods/battlegear2/api/weapons/IExtendedReachWeapon.java
deleted file mode 100644
index fce70604..00000000
--- a/src/api/java/mods/battlegear2/api/weapons/IExtendedReachWeapon.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package mods.battlegear2.api.weapons;
-
-import net.minecraft.item.ItemStack;
-
-public interface IExtendedReachWeapon {
- /**
- * The distance the weapon will hit (note this will ONLY work for main hand weapons)
- * @param stack
- * @return
- */
- public float getReachModifierInBlocks(ItemStack stack);
-}
diff --git a/src/api/java/mods/battlegear2/api/weapons/IHitTimeModifier.java b/src/api/java/mods/battlegear2/api/weapons/IHitTimeModifier.java
deleted file mode 100644
index 38afe94e..00000000
--- a/src/api/java/mods/battlegear2/api/weapons/IHitTimeModifier.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package mods.battlegear2.api.weapons;
-
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.item.ItemStack;
-
-public interface IHitTimeModifier {
- /**
- *
- * @param entityHit
- * @return The amount to modify the hit shield
- */
- public int getHitTime(ItemStack stack, EntityLivingBase entityHit);
-
-}
diff --git a/src/api/java/mods/battlegear2/api/weapons/IPenetrateWeapon.java b/src/api/java/mods/battlegear2/api/weapons/IPenetrateWeapon.java
deleted file mode 100644
index ae959c99..00000000
--- a/src/api/java/mods/battlegear2/api/weapons/IPenetrateWeapon.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package mods.battlegear2.api.weapons;
-
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.item.ItemStack;
-
-public interface IPenetrateWeapon {
- /**
- * The amount of damage bypassing armor
- * @param stack The {@link net.minecraft.item.ItemStack} representative of the item dealing the hit.
- * @return the amount of damage that bypasses armour
- */
- public int getPenetratingPower(ItemStack stack);
-}
diff --git a/src/api/java/mods/battlegear2/api/weapons/IPotionEffect.java b/src/api/java/mods/battlegear2/api/weapons/IPotionEffect.java
deleted file mode 100644
index a310ee17..00000000
--- a/src/api/java/mods/battlegear2/api/weapons/IPotionEffect.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package mods.battlegear2.api.weapons;
-
-
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.potion.PotionEffect;
-
-import java.util.Map;
-
-public interface IPotionEffect {
-
-
- /**
- * Returns a map containing the potion effects to apply to an entity hit by the weapon. Each effect
- * has a float value associated with the chance of applying the effect. Note that the "dice roll" only
- * occurs once so any value under this roll will be applied.
- *
- * @param entityHit The entity the effect will be applied to.
- * @param entityHitting
- * @return A Map of {@link PotionEffect} with chance value ranging from 0 to 1, to be dealt to the entityHit
- */
- public Map getEffectsOnHit(EntityLivingBase entityHit, EntityLivingBase entityHitting);
-
-}
diff --git a/src/api/java/mods/battlegear2/api/weapons/ISpecialEffect.java b/src/api/java/mods/battlegear2/api/weapons/ISpecialEffect.java
deleted file mode 100644
index 9f52e9bb..00000000
--- a/src/api/java/mods/battlegear2/api/weapons/ISpecialEffect.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package mods.battlegear2.api.weapons;
-
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.item.ItemStack;
-import net.minecraft.potion.PotionEffect;
-
-public interface ISpecialEffect {
- /**
- *
- * @param entityHit The entity the effect will be applied to.
- * @param entityHitting
- * @return true if it adds an hitting action
- */
- public boolean performEffects(EntityLivingBase entityHit, EntityLivingBase entityHitting);
-}
diff --git a/src/api/java/mods/battlegear2/api/weapons/OffhandAttackEvent.java b/src/api/java/mods/battlegear2/api/weapons/OffhandAttackEvent.java
deleted file mode 100644
index 273b1d5f..00000000
--- a/src/api/java/mods/battlegear2/api/weapons/OffhandAttackEvent.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package mods.battlegear2.api.weapons;
-
-import mods.battlegear2.api.PlayerEventChild;
-import net.minecraft.entity.Entity;
-import net.minecraftforge.event.entity.player.EntityInteractEvent;
-import net.minecraftforge.event.entity.player.PlayerEvent;
-
-public class OffhandAttackEvent extends PlayerEventChild {
-
- public boolean swingOffhand = true;
- public boolean shouldAttack = true;
- public EntityInteractEvent event;
-
- public OffhandAttackEvent(EntityInteractEvent parent) {
- super(parent);
- this.event = parent;
- }
-
- public Entity getTarget() {
- return event.target;
- }
-}
\ No newline at end of file
diff --git a/src/api/java/mods/battlegear2/items/ItemShield.java b/src/api/java/mods/battlegear2/items/ItemShield.java
deleted file mode 100644
index f040d050..00000000
--- a/src/api/java/mods/battlegear2/items/ItemShield.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package mods.battlegear2.items;
-
-import net.minecraft.item.Item;
-
-public class ItemShield extends Item {
-
- public ItemShield(int id)
- {
- super(id);
- }
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/FactoryRegistry.java b/src/api/java/powercrystals/minefactoryreloaded/api/FactoryRegistry.java
deleted file mode 100644
index 0384c431..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/FactoryRegistry.java
+++ /dev/null
@@ -1,512 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import powercrystals.minefactoryreloaded.api.rednet.IRedNetLogicCircuit;
-
-import java.lang.reflect.Method;
-
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidRegistry;
-
-/**
- * @author PowerCrystals
- *
- * Class used to register plants and other farming-related things with MFR. Will do nothing if MFR does not exist, but your mod should be set to load
- * after MFR or things may not work properly.
- *
- * To avoid breaking the API, additional FactoryRegistry##s will appear on major MFR versions that contain API additions. On a Minecraft version change,
- * these will be rolled back into this class.
- *
- */
-public class FactoryRegistry
-{
- /**
- * Registers a plantable object with the Planter.
- *
- * @param plantable The thing to plant.
- */
- public static void registerPlantable(IFactoryPlantable plantable)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerPlantable", IFactoryPlantable.class);
- reg.invoke(registry, plantable);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers a harvestable block with the Harvester.
- *
- * @param harvestable The thing to harvest.
- */
- public static void registerHarvestable(IFactoryHarvestable harvestable)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerHarvestable", IFactoryHarvestable.class);
- reg.invoke(registry, harvestable);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers a fertilizable block with the Fertilizer.
- *
- * @param fertilizable The thing to fertilize.
- */
- public static void registerFertilizable(IFactoryFertilizable fertilizable)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerFertilizable", IFactoryFertilizable.class);
- reg.invoke(registry, fertilizable);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers a fertilizer item Fertilizer.
- *
- * @param fertilizable The thing to fertilize with.
- */
- public static void registerFertilizer(IFactoryFertilizer fertilizer)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerFertilizer", IFactoryFertilizer.class);
- reg.invoke(registry, fertilizer);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers a ranchable entity with the Rancher.
- *
- * @param ranchable The entity to ranch.
- */
- public static void registerRanchable(IFactoryRanchable ranchable)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerRanchable", IFactoryRanchable.class);
- reg.invoke(registry, ranchable);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers a grindable entity with the Grinder using the new grinder interface. This method will be renamed to the standard "registerGrindable"
- * on MC 1.6.
- *
- * @param grindable The entity to grind.
- */
- public static void registerGrindable(IFactoryGrindable grindable)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerGrindable", IFactoryGrindable.class);
- reg.invoke(registry, grindable);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Bans an entity class from being automatically ground by the Grinder
- *
- * @param blacklistedEntity Class to blacklist
- */
- public static void registerGrinderBlacklist(Class> ...ungrindables)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerGrinderBlacklist", Class[].class);
- reg.invoke(registry, (Object[])ungrindables);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers a possible output with the sludge boiler.
- *
- * @param weight Likelihood that this item will be produced. Lower means rarer.
- * @param drop The thing being produced by the sludge boiler.
- */
- public static void registerSludgeDrop(int weight, ItemStack drop)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerSludgeDrop", int.class, ItemStack.class);
- reg.invoke(registry, weight, drop);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers specific food to use in the Breeder (instead of wheat) for a given mob.
- *
- * @param entityToBreed Entity this food will be used with.
- * @param food The item to use when breeding this entity.
- */
- public static void registerBreederFood(Class> entityToBreed, ItemStack food)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerBreederFood", Class.class, ItemStack.class);
- reg.invoke(registry, entityToBreed, food);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Bans an entity class from being collected by Safari Nets
- *
- * @param blacklistedEntity Class to blacklist
- */
- public static void registerSafariNetBlacklist(Class> blacklistedEntity)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerSafariNetBlacklist", Class.class);
- reg.invoke(registry, blacklistedEntity);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers a Safari Net handler to properly serialize a type of mob.
- *
- * @param handler The Safari Net handler.
- */
- public static void registerSafariNetHandler(ISafariNetHandler handler)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerSafariNetHandler", ISafariNetHandler.class);
- reg.invoke(registry, handler);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
-
- /**
- * Registers a mob egg handler, which allows the Safari Net to properly change colors.
- *
- * @param handler The mob egg handler
- */
- public static void registerMobEggHandler(IMobEggHandler handler)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerMobEggHandler", IMobEggHandler.class);
- reg.invoke(registry, handler);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Allows Rubber Trees to spawn in the specified biome.
- *
- * @param biome The biome name.
- */
- public static void registerRubberTreeBiome(String biome)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerRubberTreeBiome", String.class);
- reg.invoke(registry, biome);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers an entity as a possible output from villager random safari nets. Note that the "id" field must be initialized
- * (i.e. with Entity.addEntityID()) for it to work correctly.
- *
- * @param savedMob A serialized mob that will be unloaded by the safari net
- * @param weight The weight of this mob in the random selection
- */
- public static void registerVillagerTradeMob(IRandomMobProvider mobProvider)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerVillagerTradeMob", IRandomMobProvider.class);
- reg.invoke(registry, mobProvider);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers a handler for drinking liquids with the straw.
- *
- * @param liquidId The liquid id the handler handles.
- * @param liquidDrinkHandler The drink handler instance.
- */
- @Deprecated
- public static void registerLiquidDrinkHandler(int liquidId, ILiquidDrinkHandler liquidDrinkHandler)
- {
- Fluid fluid = FluidRegistry.getFluid(liquidId);
- registerLiquidDrinkHandler(fluid.getName(), liquidDrinkHandler);
- }
-
- /**
- * Registers a handler for drinking liquids with the straw.
- *
- * @param liquidId The liquid string name the handler handles.
- * @param liquidDrinkHandler The drink handler instance.
- */
- public static void registerLiquidDrinkHandler(String liquidId, ILiquidDrinkHandler liquidDrinkHandler)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerLiquidDrinkHandler", String.class, ILiquidDrinkHandler.class);
- reg.invoke(registry, liquidId, liquidDrinkHandler);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers a possible output with the laser drill.
- *
- * @param weight Likelihood that this item will be produced. Lower means rarer.
- * @param drop The thing being produced by the laser drill.
- */
- public static void registerLaserOre(int weight, ItemStack drop)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerLaserOre", int.class, ItemStack.class);
- reg.invoke(registry, weight, drop);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers a preferred ore with the laser drill. Focuses with the specified color will make the specified ore more likely.
- * Used by MFR itself for vanilla: Black (Coal), Light Blue (Diamond), Lime (Emerald), Yellow (Gold), Brown (Iron), Blue (Lapis),
- * Red (Redstone), and White (nether quartz).
- *
- * This will replace setLaserPreferredOre on MC 1.6.
- *
- * @param color The color that the preferred ore is being set for. White is 0.
- * @param ore The ore that will be preferred by the drill when a focus with the specified color is present.
- */
- public static void addLaserPreferredOre(int color, ItemStack ore)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("addLaserPreferredOre", int.class, ItemStack.class);
- reg.invoke(registry, color, ore);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers a block ID as a fruit tree log. When the Fruit Picker sees this block on the ground, it will
- * begin a search in tree mode for any fruit nearby.
- *
- * @param fruitLogBlockId The block ID to mark as a fruit tree log.
- */
- public static void registerFruitLogBlockId(Integer fruitLogBlockId)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerFruitLogBlockId", Integer.class);
- reg.invoke(registry, fruitLogBlockId);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers a fruit for the Fruit Picker.
- *
- * @param fruit The fruit to be picked.
- */
- public static void registerFruit(IFactoryFruit fruit)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerFruit", IFactoryFruit.class);
- reg.invoke(registry, fruit);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers an entity string as an invalid entry for the autospawner.
- * See also: {@link net.minecraft.entity.EntityList}'s classToStringMapping and stringToClassMapping.
- *
- * @param entityString The entity string to blacklist.
- */
- public static void registerAutoSpawnerBlacklist(String entityString)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerAutoSpawnerBlacklist", String.class);
- reg.invoke(registry, entityString);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Registers logic circuit to be usable in the Programmable RedNet Controller.
- *
- * @param circuit The circuit to be registered.
- */
- public static void registerRedNetLogicCircuit(IRedNetLogicCircuit circuit)
- {
- try
- {
- Class> registry = Class.forName("powercrystals.minefactoryreloaded.MFRRegistry");
- if(registry != null)
- {
- Method reg = registry.getMethod("registerRedNetLogicCircuit", IRedNetLogicCircuit.class);
- reg.invoke(registry, circuit);
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/FarmingRegistry.java b/src/api/java/powercrystals/minefactoryreloaded/api/FarmingRegistry.java
deleted file mode 100644
index b4f16603..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/FarmingRegistry.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import cpw.mods.fml.common.FMLLog;
-import cpw.mods.fml.common.Loader;
-
-import net.minecraft.item.ItemStack;
-import powercrystals.minefactoryreloaded.api.rednet.IRedNetLogicCircuit;
-
-/**
- * NO-OP
- * @deprecated for FactoryRegistry
- */
-@Deprecated
-public class FarmingRegistry
-{
- private static void alert()
- {
- FMLLog.severe("%s is using a removed API and may crash the game.",
- Loader.instance().activeModContainer().getName());
- new Throwable().printStackTrace();
- }
- public static void registerPlantable(IFactoryPlantable plantable) { alert(); }
- public static void registerHarvestable(IFactoryHarvestable harvestable) { alert(); }
- public static void registerFertilizable(IFactoryFertilizable fertilizable) { alert(); }
- public static void registerFertilizer(IFactoryFertilizer fertilizer) { alert(); }
- public static void registerRanchable(IFactoryRanchable ranchable) { alert(); }
- public static void registerGrindable(IFactoryGrindable grindable) { alert(); }
- public static void registerSludgeDrop(int weight, ItemStack drop) { alert(); }
- public static void registerBreederFood(Class> entityToBreed, ItemStack food) { alert(); }
- public static void registerSafariNetHandler(ISafariNetHandler handler) { alert(); }
- public static void registerMobEggHandler(IMobEggHandler handler) { alert(); }
- public static void registerRubberTreeBiome(String biome) { alert(); }
- public static void registerSafariNetBlacklist(Class> blacklistedEntity) { alert(); }
- public static void registerVillagerTradeMob(IRandomMobProvider mobProvider) { alert(); }
- public static void registerLiquidDrinkHandler(int liquidId, ILiquidDrinkHandler liquidDrinkHandler) { alert(); }
- public static void registerLaserOre(int weight, ItemStack drop) { alert(); }
- public static void setLaserPreferredOre(int color, ItemStack ore) { alert(); }
- public static void registerFruitLogBlockId(Integer fruitLogBlockId) { alert(); }
- public static void registerFruit(IFactoryFruit fruit) { alert(); }
- public static void registerAutoSpawnerBlacklist(String entityString) { alert(); }
- public static void registerRedNetLogicCircuit(IRedNetLogicCircuit circuit) { alert(); }
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/FertilizerType.java b/src/api/java/powercrystals/minefactoryreloaded/api/FertilizerType.java
deleted file mode 100644
index 15e8bfb3..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/FertilizerType.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-/**
- * @author PowerCrystals
- *
- * Determines what kind of action a given fertilizer can perform. Your IFactoryFertilizable instances should check this before
- * performing any action to maintain future compatibility.
- */
-public enum FertilizerType
-{
- /**
- * The fertilizer will fertilize grass.
- */
- Grass,
- /**
- * The fertilizer will grow a plant.
- */
- GrowPlant,
- /**
- * The fertilizer will grow magical crops.
- */
- GrowMagicalCrop,
-}
\ No newline at end of file
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/HarvestType.java b/src/api/java/powercrystals/minefactoryreloaded/api/HarvestType.java
deleted file mode 100644
index 1552eb57..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/HarvestType.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-/**
- * @author PowerCrystals
- *
- * Determines what algorithm the Harvester uses when it encounters this IFactoryHarvestable in the world.
- */
-public enum HarvestType
-{
- /**
- * Just break the single block - no special action needed. Carrots, flowers, etc.
- */
- Normal,
- /**
- * Search for identical blocks above.
- */
- Column,
- /**
- * Search for identical blocks above but leave this bottom one for the future. Cactus and sugarcane.
- */
- LeaveBottom,
- /**
- * This block is the base of a tree and the harvester should enter tree-cutting mode.
- */
- Tree,
- /**
- * This block is the base of the tree and the harvester should enter tree-cutting mode, but the tree grows upside-down.
- */
- TreeFlipped,
- /**
- * This block is part of a tree as above, but leaves are cut before tree logs so that leaves do not decay more than necessary.
- */
- TreeLeaf
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/IDeepStorageUnit.java b/src/api/java/powercrystals/minefactoryreloaded/api/IDeepStorageUnit.java
deleted file mode 100644
index 02d36fae..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/IDeepStorageUnit.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import net.minecraft.item.ItemStack;
-
-public interface IDeepStorageUnit
-{
- /**
- * @return A populated ItemStack with stackSize for the full amount of materials in the DSU. May have a stackSize > getMaxStackSize().
- */
- ItemStack getStoredItemType();
-
- /**
- * Sets the total amount of the item currently being stored, or zero if it wants to remove all items.
- */
- void setStoredItemCount(int amount);
-
- /**
- * Sets the type of the stored item and initializes the number of stored items to amount. Will overwrite any existing stored items.
- */
- void setStoredItemType(ItemStack type, int amount);
-
- /**
- * @return The maximum number of items the DSU can hold.
- */
- int getMaxStoredCount();
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryFertilizable.java b/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryFertilizable.java
deleted file mode 100644
index 1374d597..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryFertilizable.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import java.util.Random;
-
-import net.minecraft.world.World;
-
-/**
- * @author PowerCrystals
- *
- * Defines a fertilizable block, and the process to fertilize it. You can assume that you will never have to check that block ID matches the one returned by
- * getFertilizableBlockId().
- */
-public interface IFactoryFertilizable
-{
- /**
- * @return The block ID this instance is managing.
- */
- public int getFertilizableBlockId();
-
- /**
- * @param world The world this block belongs to.
- * @param x The X coordinate of this block.
- * @param y The Y coordinate of this block.
- * @param z The Z coordinate of this block.
- * @param fertilizerType The kind of fertilizer being used.
- * @return True if the block at (x,y,z) can be fertilized with the given type of fertilizer.
- */
- public boolean canFertilizeBlock(World world, int x, int y, int z, FertilizerType fertilizerType);
-
- /**
- * @param world The world this block belongs to.
- * @param rand A Random instance to use when fertilizing, if necessary.
- * @param x The X coordinate of this block.
- * @param y The Y coordinate of this block.
- * @param z The Z coordinate of this block.
- * @param fertilizerType The kind of fertilizer being used.
- * @return True if fertilization was successful. If false, the Fertilizer will not consume a fertilizer item and will not drain power.
- */
- public boolean fertilize(World world, Random rand, int x, int y, int z, FertilizerType fertilizerType);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryFertilizer.java b/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryFertilizer.java
deleted file mode 100644
index 08589c12..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryFertilizer.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import net.minecraft.item.ItemStack;
-
-/**
- * @author PowerCrystals
- *
- * Defines a fertilizer item for use in the Fertilizer.
- */
-public interface IFactoryFertilizer
-{
- /**
- * @return The ID of this fertilizer item.
- */
- int getFertilizerId();
-
- /**
- * @return The metadata of this fertilizer item.
- */
- int getFertilizerMeta();
-
- /**
- * @return The type of fertilizer this is.
- */
- FertilizerType getFertilizerType();
-
- /**
- * Called when a fertilization is successful. If you set the ItemStack size to 0, it will be deleted by the fertilizer.
- *
- * @param fertilizer The ItemStack used to fertilize.
- */
- void consume(ItemStack fertilizer);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryFruit.java b/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryFruit.java
deleted file mode 100644
index 65ed9f96..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryFruit.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-
-/**
- * Defines a fruit entry for the Fruit Picker.
- *
- * @author powercrystals
- *
- */
-public interface IFactoryFruit
-{
- /**
- * @return The block ID this fruit has in the world.
- */
- public int getSourceBlockId();
-
- /**
- * Used to determine if this fruit can be picked (is it ripe yet, etc)
- * @param world The world where the fruit is being picked
- * @param x The x-coordinate of the fruit
- * @param y The y-coordinate of the fruit
- * @param z The z-coordinate of the fruit
- * @return True if the fruit can be picked
- */
- public boolean canBePicked(World world, int x, int y, int z);
-
- /**
- * Called by the Fruit Picker to determine what block to replace the picked block with. Only ID and meta/damage will be used.
- * At the time this method is called, the fruit still exists. Do not pass an item ID as the return value.
- * @param world The world where the fruit is being picked
- * @param x The x-coordinate of the fruit
- * @param y The y-coordinate of the fruit
- * @param z The z-coordinate of the fruit
- * @return The block to replace the fruit block with, or null for air.
- */
- public ItemStack getReplacementBlock(World world, int x, int y, int z);
-
- /**
- * Called by the Fruit Picker before the fruit is picked.
- * @param world The world where the fruit is being picked
- * @param x The x-coordinate of the fruit
- * @param y The y-coordinate of the fruit
- * @param z The z-coordinate of the fruit
- */
- public void prePick(World world, int x, int y, int z);
-
- /**
- * Called by the Fruit Picker to determine what drops to generate. At the time this method is called, the fruit still exists.
- * @param world The world where the fruit is being picked
- * @param x The x-coordinate of the fruit
- * @param y The y-coordinate of the fruit
- * @param z The z-coordinate of the fruit
- */
- public List getDrops(World world, Random rand, int x, int y, int z);
-
- /**
- * Called by the Fruit Picker after the fruit is picked.
- * @param world The world where the fruit is being picked
- * @param x The x-coordinate of the fruit
- * @param y The y-coordinate of the fruit
- * @param z The z-coordinate of the fruit
- */
- public void postPick(World world, int x, int y, int z);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryGrindable.java b/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryGrindable.java
deleted file mode 100644
index 88eef061..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryGrindable.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.world.World;
-
-/**
- * @author PowerCrystals
- *
- * Defines a grindable entity for the Grinder.
- */
-@SuppressWarnings("deprecation")
-public interface IFactoryGrindable
-{
- /**
- * @return The class that this grindable instance is handling. This must be a subtype of EntityLivingBase or the entity will never
- * be noticed by the Grinder.
- */
- public Class> getGrindableEntity();
-
- /**
- * @param world The world this entity is in.
- * @param entity The entity instance being ground.
- * @param random A Random instance.
- * @return The drops generated when this entity is killed.
- */
- public List grind(World world, EntityLivingBase entity, Random random);
-
- /**
- * @param entity The entity instance being ground.
- * @return Whether this entity has been fully processed or not.
- */
- public boolean processEntity(EntityLivingBase entity);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryHarvestable.java b/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryHarvestable.java
deleted file mode 100644
index 63707375..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryHarvestable.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-
-/**
- * @author PowerCrystals
- *
- * Defines a harvestable block for the Harvester.
- */
-public interface IFactoryHarvestable
-{
- /**
- * @return The block ID this harvestable instance is managing.
- */
- public int getPlantId();
-
- /**
- * @return The type of harvest the Harvester should perform on this block.
- */
- public HarvestType getHarvestType();
-
-
- /**
- * @return Whether or not the Harvester should break the block when harvesting. If false, no changes will be performed by the Harvester itself.
- */
- public boolean breakBlock();
-
- /**
- * @param world The world this block is in.
- * @param harvesterSettings The harvester's current settings. Do not modify these.
- * @param x The X coordinate of the block being harvested.
- * @param y The Y coordinate of the block being harvested.
- * @param z The Z coordinate of the block being harvested.
- * @return True if this block can be harvested.
- */
- public boolean canBeHarvested(World world, Map harvesterSettings, int x, int y, int z);
-
- /**
- * @param world The world this block is in.
- * @param rand A Random instance to use when generating drops.
- * @param harvesterSettings The harvester's current settings. Do not modify these.
- * @param x The X coordinate of the block being harvested.
- * @param y The Y coordinate of the block being harvested.
- * @param z The Z coordinate of the block being harvested.
- * @return The drops generated by breaking this block. For a default implementation, calling Block.getBlockDropped() is usually sufficient.
- */
- public List getDrops(World world, Random rand, Map harvesterSettings, int x, int y, int z);
-
- /**
- * Called before the block is going to be harvested. Usually empty.
- * @param world The world this block is in.
- * @param x The X coordinate of the block being harvested.
- * @param y The Y coordinate of the block being harvested.
- * @param z The Z coordinate of the block being harvested.
- */
- public void preHarvest(World world, int x, int y, int z);
-
- /**
- * Called after the block is going to be harvested. Used to re-till soil, for example.
- * @param world The world this block is in.
- * @param x The X coordinate of the block being harvested.
- * @param y The Y coordinate of the block being harvested.
- * @param z The Z coordinate of the block being harvested.
- */
- public void postHarvest(World world, int x, int y, int z);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryPlantable.java b/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryPlantable.java
deleted file mode 100644
index 29bc7fbc..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryPlantable.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-
-/**
- * @author PowerCrystals
- *
- * Defines a plantable object for use in the Planter.
- */
-public interface IFactoryPlantable
-{
- /**
- * @return The block or item ID this plantable is managing.
- */
- public int getSeedId();
-
- /**
- * @param world The world instance this block or item will be placed into.
- * @param x The destination X coordinate.
- * @param y The destination Y coordinate.
- * @param z The destination Z coordinate.
- * @param stack The stack being planted.
- * @return The block ID that will be placed into the world.
- */
- public int getPlantedBlockId(World world, int x, int y, int z, ItemStack stack);
-
- /**
- * @param world The world instance this block or item will be placed into.
- * @param x The destination X coordinate.
- * @param y The destination Y coordinate.
- * @param z The destination Z coordinate.
- * @param stack The stack being planted.
- * @return The block metadata that will be placed into the world.
- */
- public int getPlantedBlockMetadata(World world, int x, int y, int z, ItemStack stack);
-
- /**
- * @param world The world instance this block or item will be placed into.
- * @param x The destination X coordinate.
- * @param y The destination Y coordinate.
- * @param z The destination Z coordinate.
- * @param stack The stack being planted.
- * @return True if this plantable can be placed at the provided coordinates.
- */
- public boolean canBePlantedHere(World world, int x, int y, int z, ItemStack stack);
-
- /**
- * Called before planting is performed. Used to till soil, for example.
- * @param world The world instance this block or item will be placed into.
- * @param x The destination X coordinate.
- * @param y The destination Y coordinate.
- * @param z The destination Z coordinate.
- * @param stack The stack being planted.
- */
- public void prePlant(World world, int x, int y, int z, ItemStack stack);
-
- /**
- * Called after planting is performed. Usually empty.
- * @param world The world instance this block or item will be placed into.
- * @param x The destination X coordinate.
- * @param y The destination Y coordinate.
- * @param z The destination Z coordinate.
- * @param stack The stack being planted.
- */
- public void postPlant(World world, int x, int y, int z, ItemStack stack);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryRanchable.java b/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryRanchable.java
deleted file mode 100644
index 36327c53..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/IFactoryRanchable.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import java.util.List;
-
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.world.World;
-
-/**
- * @author PowerCrystals
- *
- * Defines a ranchable entity for use in the Rancher.
- */
-public interface IFactoryRanchable
-{
- /**
- * @return The entity being ranched. Must be a subtype of EntityLivingBase.
- */
- public Class> getRanchableEntity();
-
- /**
- * @param world The world this entity is in.
- * @param entity The entity instance being ranched.
- * @param rancher The rancher instance doing the ranching. Used to access the Rancher's inventory when milking cows, for example.
- * @return A list of drops.
- */
- public List ranch(World world, EntityLivingBase entity, IInventory rancher);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/ILiquidDrinkHandler.java b/src/api/java/powercrystals/minefactoryreloaded/api/ILiquidDrinkHandler.java
deleted file mode 100644
index 2ab4a586..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/ILiquidDrinkHandler.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import net.minecraft.entity.player.EntityPlayer;
-
-public interface ILiquidDrinkHandler
-{
- public void onDrink(EntityPlayer player);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/IMobEggHandler.java b/src/api/java/powercrystals/minefactoryreloaded/api/IMobEggHandler.java
deleted file mode 100644
index a322f923..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/IMobEggHandler.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import net.minecraft.entity.EntityEggInfo;
-import net.minecraft.item.ItemStack;
-
-/**
- * @author PowerCrystals
- *
- * Defines a class that MFR will use to local egg info for a given mob. This is used to color the Safari Net based on the captured mob.
- */
-public interface IMobEggHandler
-{
- /**
- * @param safariNet The Safari Net that is looking for egg info.
- * @return An EntityEggInfo, or null if this instance cannot handle this mob.
- */
- public EntityEggInfo getEgg(ItemStack safariNet);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/INeedleAmmo.java b/src/api/java/powercrystals/minefactoryreloaded/api/INeedleAmmo.java
deleted file mode 100644
index db061304..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/INeedleAmmo.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.world.World;
-
-public interface INeedleAmmo
-{
- public boolean onHitEntity(EntityPlayer owner, Entity hit, double distance);
- public void onHitBlock(EntityPlayer owner, World world, int x, int y, int z, int side, double distance);
- public float getSpread();
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/IRandomMobProvider.java b/src/api/java/powercrystals/minefactoryreloaded/api/IRandomMobProvider.java
deleted file mode 100644
index b03d6f08..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/IRandomMobProvider.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import java.util.List;
-
-import net.minecraft.world.World;
-
-
-public interface IRandomMobProvider
-{
- public List getRandomMobs(World world);
-}
\ No newline at end of file
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/ISafariNetHandler.java b/src/api/java/powercrystals/minefactoryreloaded/api/ISafariNetHandler.java
deleted file mode 100644
index 37001795..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/ISafariNetHandler.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-
-/**
- * @author PowerCrystals
- *
- * Defines an object that can display information about a captured mob in a Safari net.
- */
-public interface ISafariNetHandler
-{
- /**
- * @return The class of mob that this handler applies to.
- */
- public Class> validFor();
-
- /**
- * @param safariNetStack The Safari Net that is requesting information.
- * @param player The player holding the Safari Net.
- * @param infoList The current list of information strings. Add yours to this.
- * @param advancedTooltips True if the advanced tooltips option is on.
- */
- @SuppressWarnings("rawtypes")
- public void addInformation(ItemStack safariNetStack, EntityPlayer player, List infoList, boolean advancedTooltips);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/ISyringe.java b/src/api/java/powercrystals/minefactoryreloaded/api/ISyringe.java
deleted file mode 100644
index 75cff08d..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/ISyringe.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-
-/**
- * @author PowerCrystals
- *
- * Defines a syringe for use in the Vet machine.
- */
-public interface ISyringe
-{
- /**
- * Called when the vet is deciding if it should use this syringe.
- * @param world The world instance.
- * @param entity The entity being injected.
- * @param syringe The syringe ItemStack.
- * @return True if the entity can be injected by this syringe.
- */
- public boolean canInject(World world, EntityLivingBase entity, ItemStack syringe);
-
- /**
- * Called to perform an injection.
- * @param world The world instance.
- * @param entity The entity being injected.
- * @param syringe The syringe ItemStack.
- * @return True if injection was successful.
- */
- public boolean inject(World world, EntityLivingBase entity, ItemStack syringe);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/IToolHammer.java b/src/api/java/powercrystals/minefactoryreloaded/api/IToolHammer.java
deleted file mode 100644
index 09ce7771..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/IToolHammer.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-/**
- * @author PowerCrystals
- * Defines a tool that can rotate MFR machines. Implement on an Item class. Requires no additional work on your part.
- */
-public interface IToolHammer
-{
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/IToolHammerAdvanced.java b/src/api/java/powercrystals/minefactoryreloaded/api/IToolHammerAdvanced.java
deleted file mode 100644
index 9c452349..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/IToolHammerAdvanced.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import net.minecraft.item.ItemStack;
-
-/**
- * @author PowerCrystals
- *
- * This interface is like IToolHammer, but is for items that change state on a per-stack basis. Implement this
- * instead of IToolHammer - not both!
- *
- * This interface will replace IToolHammer in MC 1.6.
- */
-public interface IToolHammerAdvanced
-{
- public boolean isActive(ItemStack stack);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/MobDrop.java b/src/api/java/powercrystals/minefactoryreloaded/api/MobDrop.java
deleted file mode 100644
index c6c6dcb3..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/MobDrop.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.WeightedRandomItem;
-
-public class MobDrop extends WeightedRandomItem
-{
- private ItemStack _stack;
-
- public MobDrop(int weight, ItemStack stack)
- {
- super(weight);
- _stack = stack;
- }
-
- public ItemStack getStack()
- {
- if(_stack == null) return null;
- return _stack.copy();
- }
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/RanchedItem.java b/src/api/java/powercrystals/minefactoryreloaded/api/RanchedItem.java
deleted file mode 100644
index 86791cc5..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/RanchedItem.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.fluids.FluidStack;
-
-/**
- * @author skyboy026
- *
- * Defines an ItemStack or a FluidStack that is the result of an entity being ranched
- */
-public final class RanchedItem {
- private final ItemStack item;
- private final FluidStack fluid;
-
- public RanchedItem(Block item, int amount, int meta)
- {
- this(new ItemStack(item, amount, meta));
- }
-
- public RanchedItem(Block item, int amount)
- {
- this(new ItemStack(item, amount));
- }
-
- public RanchedItem(Block item)
- {
- this(new ItemStack(item));
- }
-
- public RanchedItem(Item item, int amount, int meta)
- {
- this(new ItemStack(item, amount, meta));
- }
-
- public RanchedItem(Item item, int amount)
- {
- this(new ItemStack(item, amount));
- }
-
- public RanchedItem(Item item)
- {
- this(new ItemStack(item));
- }
-
- public RanchedItem(ItemStack item)
- {
- this.item = item;
- fluid = null;
- }
-
- public RanchedItem(FluidStack fluid)
- {
- this.fluid = fluid;
- item = null;
- }
-
- public boolean hasFluid()
- {
- return item == null & fluid != null;
- }
-
- public Object getResult()
- {
- return item == null ? fluid : item;
- }
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/RandomMob.java b/src/api/java/powercrystals/minefactoryreloaded/api/RandomMob.java
deleted file mode 100644
index 063699dd..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/RandomMob.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package powercrystals.minefactoryreloaded.api;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.util.WeightedRandomItem;
-
-public class RandomMob extends WeightedRandomItem
-{
- private Entity _mob;
-
- public RandomMob(Entity savedMob, int weight)
- {
- super(weight);
- _mob = savedMob;
- }
-
- public Entity getMob()
- {
- if(_mob == null) return null;
- return _mob;
- }
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IConnectableRedNet.java b/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IConnectableRedNet.java
deleted file mode 100644
index 3c8529db..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IConnectableRedNet.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package powercrystals.minefactoryreloaded.api.rednet;
-
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-
-/**
- * Defines a Block that can connect to RedNet cables. This must be implemented on your Block class.
- * Note that when you implement this, the RedNet network makes several assumptions about your code -
- * primarily, it will not clamp values to 0 <= x <= 15. This means you must be able to accept any
- * possible integer without crashing, even negatives. It will also assume that calling the onInput(s)Changed()
- * methods are sufficient, and will not issue block updates. Finally, it will never call the vanilla redstone
- * output methods in All mode, and will only query the methods contained in this interface in that case. In Single
- * mode, it will call onInputChanged, and will check for strong power (or weak if in Plate mode) through the vanilla
- * method calls.
- *
- * RedNet cables have their subnets indicated to the user by colored bands on the cable.
- * The color of a given subnet is the same as the wool with metadata equal to the subnet number.
- * For reference:
- * 0:White, 1:Orange, 2:Magenta, 3:LightBlue, 4:Yellow, 5:Lime, 6:Pink, 7:Gray,
- * 8:LightGray, 9:Cyan, 10:Purple, 11:Blue, 12:Brown, 13:Green, 14:Red, 15:Black
- */
-public interface IConnectableRedNet
-{
- /**
- * Returns the connection type of this Block. "All" types will cause getOutputValues() and onInputsChanged() to be used,
- * whereas "Single" types will onInputChanged() to be called for input changes and the normal redstone power output methods
- * to be called for output. If this value must be changed while the block is alive, it must perform a block update on any
- * adjacent RedNet wires.
- * @param world The world this block is in.
- * @param x This block's X coordinate.
- * @param y This block's Y coordinate.
- * @param z This block's Z coordinate.
- * @param side The side that connection information is required for.
- * @return The connection type.
- */
- public RedNetConnectionType getConnectionType(World world, int x, int y, int z, ForgeDirection side);
-
- /**
- * Returns the output values of this RedNet node. This array must be 16 elements long. Only called if your block is connected in "All" mode.
- * @param world The world this block is in.
- * @param x This block's X coordinate.
- * @param y This block's Y coordinate.
- * @param z This block's Z coordinate.
- * @param side The side the output values are required for.
- * @return The output values.
- */
- public int[] getOutputValues(World world, int x, int y, int z, ForgeDirection side);
-
- /**
- * Returns the output value of this RedNet node for a given subnet. Only called if your block is connected in "All" mode.
- * @param world The world this block is in.
- * @param x This block's X coordinate.
- * @param y This block's Y coordinate.
- * @param z This block's Z coordinate.
- * @param side The side the output value is required for.
- * @param subnet The subnet to get the output value for (0-15).
- * @return The output value.
- */
- public int getOutputValue(World world, int x, int y, int z, ForgeDirection side, int subnet);
-
- /**
- * Called when the input values to this block change. Only called if your block is connected in "All" mode.
- * Do not issue a network value update from inside this method call; it will be ignored. Issue your updates
- * on the next tick.
- * @param world The world this block is in.
- * @param x This block's X coordinate.
- * @param y This block's Y coordinate.
- * @param z This block's Z coordinate.
- * @param side The side the input values are being changed on.
- * @param inputValues The new set of input values. This array will be 16 elements long.
- */
- public void onInputsChanged(World world, int x, int y, int z, ForgeDirection side, int[] inputValues);
-
- /**
- * Called when the input value to this block changes. Only called if your block is connected in "Single" mode.
- * Do not issue a network value update from inside this method call; it will be ignored. Issue your updates
- * on the next tick.
- * @param world The world this block is in.
- * @param x This block's X coordinate.
- * @param y This block's Y coordinate.
- * @param z This block's Z coordinate.
- * @param side The side the input values are being changed on.
- * @param inputValue The new input value
- */
- public void onInputChanged(World world, int x, int y, int z, ForgeDirection side, int inputValue);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IRedNetDecorative.java b/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IRedNetDecorative.java
deleted file mode 100644
index b670f403..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IRedNetDecorative.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package powercrystals.minefactoryreloaded.api.rednet;
-
-public interface IRedNetDecorative
-{
-
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IRedNetLogicCircuit.java b/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IRedNetLogicCircuit.java
deleted file mode 100644
index 0bbbeeb9..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IRedNetLogicCircuit.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package powercrystals.minefactoryreloaded.api.rednet;
-
-import net.minecraft.nbt.NBTTagCompound;
-
-public interface IRedNetLogicCircuit
-{
- public int getInputCount();
-
- public int getOutputCount();
-
- public int[] recalculateOutputValues(long worldTime, int[] inputValues);
-
- public String getUnlocalizedName();
- public String getInputPinLabel(int pin);
- public String getOutputPinLabel(int pin);
-
- public void readFromNBT(NBTTagCompound tag);
- public void writeToNBT(NBTTagCompound tag);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IRedNetNetworkContainer.java b/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IRedNetNetworkContainer.java
deleted file mode 100644
index 5e27b1fe..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IRedNetNetworkContainer.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package powercrystals.minefactoryreloaded.api.rednet;
-
-import net.minecraft.world.World;
-
-/**
- *
- * You should not implement this yourself. Instead, use this to look for cables to notify from your IConnectableRedNet as this does not
- * require a block update. This will be implemented on the cable's Block class.
- *
- */
-public interface IRedNetNetworkContainer
-{
- /**
- * Tells the network to recalculate all subnets.
- * @param world The world this cable is in.
- * @param x The x-coordinate of this cable.
- * @param x The y-coordinate of this cable.
- * @param x The z-coordinate of this cable.
- */
- public void updateNetwork(World world, int x, int y, int z);
-
- /**
- * Tells the network to recalculate a specific subnet.
- * @param world The world this cable is in.
- * @param x The x-coordinate of this cable.
- * @param x The y-coordinate of this cable.
- * @param x The z-coordinate of this cable.
- * @param subnet The subnet to recalculate.
- */
- public void updateNetwork(World world, int x, int y, int z, int subnet);
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IRedNetNoConnection.java b/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IRedNetNoConnection.java
deleted file mode 100644
index 8ff95dd4..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/rednet/IRedNetNoConnection.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package powercrystals.minefactoryreloaded.api.rednet;
-
-public interface IRedNetNoConnection
-{
-
-}
diff --git a/src/api/java/powercrystals/minefactoryreloaded/api/rednet/RedNetConnectionType.java b/src/api/java/powercrystals/minefactoryreloaded/api/rednet/RedNetConnectionType.java
deleted file mode 100644
index eb4eba58..00000000
--- a/src/api/java/powercrystals/minefactoryreloaded/api/rednet/RedNetConnectionType.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package powercrystals.minefactoryreloaded.api.rednet;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Defines how RedNet cable connects to a block
- *
- * None: RedNet will never connect to this block (if this is all you want: use IRedNetNoConnection)
- *
- * CableSingle: Connections will use the cable renderer with a single band, best used for whole blocks
- * PlateSingle: Connections will use the plate renderer with a single band, used for conveyers and rails
- *
- * CableAll: Connections permit access to all 16 bands
- * PlateAll: Connections permit access to all 16 bands
- *
- * Forced connection modes are best used for decoration blocks: RedNet will not connect normally, but will if the user forces it
- * Typically, IRedNetDecorative is desired for this instead
- *
- * ForcedCableSingle: Connections permit access to a single band only when the cable is in forced connection mode
- * ForcedPlateSingle: Connections permit access to a single band only when the cable is in forced connection mode
- *
- * ForcedCableAll: Connections permit access to all 16 bands only when the cable is in forced connection mode
- * ForcedPlateAll: Connections permit access to all 16 bands only when the cable is in forced connection mode
- */
-public enum RedNetConnectionType
-{
- None, // 0
- CableSingle, // 11
- PlateSingle, // 13
- CableAll, // 19
- PlateAll, // 21
- ForcedCableSingle, // 43
- ForcedPlateSingle, // 45
- ForcedCableAll, // 51
- ForcedPlateAll; // 53
-
- public final boolean isConnected = this.ordinal() != 0;
- public final boolean isSingleSubnet = this.name().endsWith("Single");
- public final boolean isAllSubnets = this.name().endsWith("All");
- public final boolean isConnectionForced = this.name().startsWith("Forced");
- public final boolean isPlate = this.name().contains("Plate");
- public final boolean isCable = this.name().contains("Cable");
- public final short flags = toFlags(isConnected, isCable, isPlate, isSingleSubnet, isAllSubnets, isConnectionForced);
-
- public static final RedNetConnectionType fromFlags(short flags)
- {
- return connections.get(flags);
- }
-
- private static final short toFlags(boolean ...flags)
- {
- short ret = 0;
- for (int i = flags.length; i --> 0;)
- ret |= (flags[i] ? 1 : 0) << i;
- return ret;
- }
-
- private static final Map connections = new HashMap();
-
- static {
- for (RedNetConnectionType type : RedNetConnectionType.values())
- connections.put(type.flags, type);
- }
-}
diff --git a/src/main/java/tconstruct/TConstruct.java b/src/main/java/tconstruct/TConstruct.java
deleted file mode 100644
index 1811672b..00000000
--- a/src/main/java/tconstruct/TConstruct.java
+++ /dev/null
@@ -1,194 +0,0 @@
-package tconstruct;
-
-import tconstruct.achievements.TAchievements;
-
-import cpw.mods.fml.common.*;
-import cpw.mods.fml.common.Mod.EventHandler;
-import cpw.mods.fml.common.Mod.Instance;
-import cpw.mods.fml.common.event.*;
-import cpw.mods.fml.common.network.*;
-import cpw.mods.fml.common.registry.*;
-import cpw.mods.fml.relauncher.Side;
-import java.util.logging.Logger;
-import net.minecraft.crash.CallableMinecraftVersion;
-import net.minecraft.world.gen.structure.MapGenStructureIO;
-import net.minecraftforge.common.MinecraftForge;
-import tconstruct.client.event.EventCloakRender;
-import tconstruct.common.*;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.crafting.*;
-import tconstruct.library.util.TabTools;
-import tconstruct.plugins.PluginController;
-import tconstruct.util.*;
-import tconstruct.util.config.*;
-import tconstruct.util.landmine.behavior.Behavior;
-import tconstruct.util.landmine.behavior.stackCombo.SpecialStackHandler;
-import tconstruct.util.player.TPlayerHandler;
-import tconstruct.worldgen.*;
-import tconstruct.worldgen.village.*;
-
-/** TConstruct, the tool mod.
- * Craft your tools with style, then modify until the original is gone!
- * @author mDiyo
- */
-
-@Mod(modid = "TConstruct", name = "TConstruct", version = "1.6.X_1.5.3dev", dependencies = "required-after:Forge@[8.9,);after:ForgeMultipart;after:MineFactoryReloaded;after:NotEnoughItems;after:Waila;after:ThermalExpansion")
-@NetworkMod(serverSideRequired = false, clientSideRequired = true, channels = { "TConstruct" }, packetHandler = tconstruct.util.network.TPacketHandler.class)
-public class TConstruct
-{
- /** The value of one ingot in millibuckets */
- public static final int ingotLiquidValue = 144;
- public static final int oreLiquidValue = ingotLiquidValue * 2;
- public static final int blockLiquidValue = ingotLiquidValue * 9;
- public static final int chunkLiquidValue = ingotLiquidValue / 2;
- public static final int nuggetLiquidValue = ingotLiquidValue / 9;
-
- public static final int liquidUpdateAmount = 6;
-
- // Shared mod logger
- public static final Logger logger = Logger.getLogger("TConstruct");
-
- /* Instance of this mod, used for grabbing prototype fields */
- @Instance("TConstruct")
- public static TConstruct instance;
- /* Proxies for sides, used for graphics processing */
- @SidedProxy(clientSide = "tconstruct.client.TProxyClient", serverSide = "tconstruct.common.TProxyCommon")
- public static TProxyCommon proxy;
-
- public TConstruct()
- {
- logger.setParent(FMLCommonHandler.instance().getFMLLogger());
- if (Loader.isModLoaded("Natura"))
- {
- TConstruct.logger.info("[TConstruct] Natura, what are we going to do tomorrow night?");
- TConstruct.logger.info("[Natura] TConstruct, we're going to take over the world!");
- }
- else
- {
-
- TConstruct.logger.info("[TConstruct] Preparing to take over the world");
- }
-
- EnvironmentChecks.verifyEnvironmentSanity();
-
- PluginController.getController().registerBuiltins();
- }
-
- @EventHandler
- public void preInit (FMLPreInitializationEvent event)
- {
-
- PHConstruct.initProps(event.getModConfigurationDirectory());
- TConstructRegistry.materialTab = new TabTools("TConstructMaterials");
- TConstructRegistry.toolTab = new TabTools("TConstructTools");
- TConstructRegistry.blockTab = new TabTools("TConstructBlocks");
-
- tableCasting = new LiquidCasting();
- basinCasting = new LiquidCasting();
- chiselDetailing = new Detailing();
-
- content = new TContent();
-
- events = new TEventHandler();
- MinecraftForge.EVENT_BUS.register(events);
- MinecraftForge.EVENT_BUS.register(new TEventHandlerAchievement());
- content.oreRegistry();
-
- proxy.registerRenderer();
- proxy.addNames();
- proxy.readManuals();
- proxy.registerKeys();
- proxy.registerTickHandler();
-
- GameRegistry.registerWorldGenerator(new TBaseWorldGenerator());
- MinecraftForge.TERRAIN_GEN_BUS.register(new TerrainGenEventHandler());
- GameRegistry.registerFuelHandler(content);
- GameRegistry.registerCraftingHandler(new TCraftingHandler());
- NetworkRegistry.instance().registerGuiHandler(instance, proxy);
-
- if (PHConstruct.addToVillages)
- {
- // adds to the villager spawner egg
- VillagerRegistry.instance().registerVillagerId(78943);
- // moved down, not needed if 'addToVillages' is false
- VillagerRegistry.instance().registerVillageTradeHandler(78943, new TVillageTrades());
- VillagerRegistry.instance().registerVillageCreationHandler(new VillageToolStationHandler());
- VillagerRegistry.instance().registerVillageCreationHandler(new VillageSmelteryHandler());
- try
- {
- if (new CallableMinecraftVersion(null).minecraftVersion().equals("1.6.4"))
- {
- MapGenStructureIO.func_143031_a(ComponentToolWorkshop.class, "TConstruct:ToolWorkshopStructure");
- MapGenStructureIO.func_143031_a(ComponentSmeltery.class, "TConstruct:SmelteryStructure");
- }
- }
- catch (Throwable e)
- {
-
- }
- }
-
- playerTracker = new TPlayerHandler();
- GameRegistry.registerPlayerTracker(playerTracker);
- MinecraftForge.EVENT_BUS.register(playerTracker);
-
- PluginController.getController().preInit();
- }
-
- @EventHandler
- public void init (FMLInitializationEvent event)
- {
- if (event.getSide() == Side.CLIENT)
- {
- MinecraftForge.EVENT_BUS.register(new EventCloakRender());
- }
-
- content.intermodCommunication();
- TwilightForestConfig.initProps(PHConstruct.cfglocation);
- BOPConfig.initProps(PHConstruct.cfglocation);
- DimensionBlacklist.getbaddimensions();
- GameRegistry.registerWorldGenerator(new SlimeIslandGen(TContent.slimePool.blockID, 0));
-
- PluginController.getController().init();
-
- if(PHConstruct.achievementsEnabled){
- TAchievements.init();
- }
- }
-
- @EventHandler
- public void postInit (FMLPostInitializationEvent evt)
- {
- proxy.postInit();
- Behavior.registerBuiltInBehaviors();
- SpecialStackHandler.registerBuiltInStackHandlers();
- content.modIntegration();
- content.addOreDictionarySmelteryRecipes();
- content.createEntities();
- content.modRecipes();
-
- PluginController.getController().postInit();
- }
-
- public static LiquidCasting getTableCasting ()
- {
- return tableCasting;
- }
-
- public static LiquidCasting getBasinCasting ()
- {
- return basinCasting;
- }
-
- public static Detailing getChiselDetailing ()
- {
- return chiselDetailing;
- }
-
- public static TContent content;
- public static TEventHandler events;
- public static TPlayerHandler playerTracker;
- public static LiquidCasting tableCasting;
- public static LiquidCasting basinCasting;
- public static Detailing chiselDetailing;
-}
diff --git a/src/main/java/tconstruct/achievements/TAchievements.java b/src/main/java/tconstruct/achievements/TAchievements.java
deleted file mode 100644
index e3ff4276..00000000
--- a/src/main/java/tconstruct/achievements/TAchievements.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package tconstruct.achievements;
-
-import java.util.HashMap;
-import net.minecraft.stats.Achievement;
-import net.minecraft.util.StatCollector;
-import net.minecraftforge.common.AchievementPage;
-
-public class TAchievements {
-
- //Add achievements in here before the load executes(end of TC's init event)
- public static HashMap achievements = new HashMap();
-
- //Warning: Will be null until after the init stage
- public static AchievementPage achievementPage = null;
-
- public static void init(){
- Achievement[] achs = new Achievement[achievements.values().size()];
-
- for(int i = 0; i < achs.length; i++){
- achs[i] = (Achievement)achievements.values().toArray()[i];
- }
-
- achievementPage = new AchievementPage(StatCollector.translateToLocal("tconstruct.achievementPage.name"), achs);
-
- AchievementPage.registerAchievementPage(achievementPage);
- }
-
-}
diff --git a/src/main/java/tconstruct/blocks/BlockLandmine.java b/src/main/java/tconstruct/blocks/BlockLandmine.java
deleted file mode 100644
index 51b6088a..00000000
--- a/src/main/java/tconstruct/blocks/BlockLandmine.java
+++ /dev/null
@@ -1,671 +0,0 @@
-package tconstruct.blocks;
-
-import static net.minecraftforge.common.ForgeDirection.DOWN;
-import static net.minecraftforge.common.ForgeDirection.EAST;
-import static net.minecraftforge.common.ForgeDirection.NORTH;
-import static net.minecraftforge.common.ForgeDirection.SOUTH;
-import static net.minecraftforge.common.ForgeDirection.UP;
-import static net.minecraftforge.common.ForgeDirection.WEST;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.EnumMobType;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.item.EntityTNTPrimed;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.Explosion;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.LandmineExplodeLogic;
-import tconstruct.blocks.logic.TileEntityLandmine;
-import tconstruct.client.block.RenderLandmine;
-import tconstruct.common.TProxyCommon;
-import tconstruct.util.landmine.Helper;
-
-/**
- *
- * @author fuj1n
- *
- */
-public class BlockLandmine extends BlockContainer
-{
-
- // Should explode when broken instead of dropping items(may not actually work
- boolean explodeOnBroken = false;
-
- public BlockLandmine(int par1)
- {
- super(par1, Material.tnt);
- this.setTickRandomly(true);
- this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 1.0F - 0.0625F, 0.0625F, 1.0F - 0.0625F);
- }
-
- @Override
- public int getLightValue (IBlockAccess world, int x, int y, int z)
- {
- if (world.getBlockId(x, y, z) == this.blockID && world.getBlockTileEntity(x, y, z) instanceof TileEntityLandmine)
- {
- TileEntityLandmine te = (TileEntityLandmine) world.getBlockTileEntity(x, y, z);
-
- if (te != null)
- {
- if (te.getStackInSlot(3) != null)
- {
- return lightValue[te.getStackInSlot(3).itemID];
- }
- }
- }
- return super.getLightValue(world, x, y, z);
- }
-
- @Override
- public int tickRate (World par1World)
- {
- return 20;
- }
-
- @Override
- public Icon getBlockTexture (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- TileEntityLandmine te = (TileEntityLandmine) par1IBlockAccess.getBlockTileEntity(par2, par3, par4);
-
- ItemStack camo = te.getStackInSlot(3);
- if (camo != null && camo.itemID < blocksList.length)
- {
- return Block.blocksList[camo.itemID].getIcon(par5, camo.getItemDamage());
- }
- else
- {
- return this.getIcon(par5, par1IBlockAccess.getBlockMetadata(par2, par3, par4));
- }
- }
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- public int getRenderType ()
- {
- return RenderLandmine.model;
- }
-
- @Override
- public void onBlockClicked (World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer)
- {
- super.onBlockClicked(par1World, par2, par3, par4, par5EntityPlayer);
-
- if (this.explodeOnBroken)
- {
- checkExplosion(par1World, par2, par3, par4, true);
- }
- }
-
- @Override
- public void registerIcons (IconRegister par1IconRegister)
- {
- this.blockIcon = par1IconRegister.registerIcon("tinker:Landmine");
- }
-
- @Override
- public boolean onBlockActivated (World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)
- {
- par5EntityPlayer.openGui(TConstruct.instance, TProxyCommon.landmineID, par1World, par2, par3, par4);
- return true;
- }
-
- @Override
- public void breakBlock (World par1World, int par2, int par3, int par4, int par5, int par6)
- {
- TileEntityLandmine tileentity = (TileEntityLandmine) par1World.getBlockTileEntity(par2, par3, par4);
-
- int metadata = par1World.getBlockMetadata(par2, par3, par4);
-
- if (tileentity != null && (!explodeOnBroken || !hasItems(par1World, par2, par3, par4)) && par6 != 193 && !tileentity.isExploding)
- {
- int id = this.blockID;
- if (id > 0)
- {
- ItemStack is = new ItemStack(id, 1, damageDropped(tileentity.triggerType));
- if (tileentity.isInvNameLocalized())
- {
- is.setItemName(tileentity.getInvName());
- }
- dropBlockAsItem_do(par1World, par2, par3, par4, new ItemStack(id, 1, damageDropped(tileentity.triggerType)));
- }
-
- for (int j1 = 0; j1 < tileentity.getSizeInventory(); ++j1)
- {
- ItemStack itemstack = tileentity.getStackInSlot(j1);
-
- if (itemstack != null)
- {
- while (itemstack.stackSize > 0)
- {
-
- int ss = itemstack.stackSize;
- itemstack.stackSize -= ss;
- EntityItem entityitem = new EntityItem(par1World, (double) ((float) par2), (double) ((float) par3), (double) ((float) par4), new ItemStack(itemstack.itemID, ss,
- itemstack.getItemDamage()));
-
- if (itemstack.hasTagCompound())
- {
- entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy());
- }
-
- float f3 = 0.05F;
- entityitem.motionX = (double) (f3);
- entityitem.motionY = (double) (f3 + 0.2F);
- entityitem.motionZ = (double) (f3);
- par1World.spawnEntityInWorld(entityitem);
- }
- }
- }
-
- par1World.func_96440_m(par2, par3, par4, par5);
- }
- else if (explodeOnBroken)
- {
- checkExplosion(par1World, par2, par3, par4, true);
- }
-
- super.breakBlock(par1World, par2, par3, par4, par5, par6);
- }
-
- @Override
- public void getSubBlocks (int par1, CreativeTabs par2CreativeTabs, List par3List)
- {
- par3List.add(new ItemStack(par1, 1, 0));
- par3List.add(new ItemStack(par1, 1, 1));
- par3List.add(new ItemStack(par1, 1, 2));
- par3List.add(new ItemStack(par1, 1, 3));
- }
-
- @Override
- public boolean getBlocksMovement (IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
- {
- return true;
- }
-
- @Override
- public boolean canPlaceBlockOnSide (World par1World, int par2, int par3, int par4, int par5)
- {
- ForgeDirection dir = ForgeDirection.getOrientation(par5);
- return (dir == DOWN && par1World.isBlockSolidOnSide(par2, par3 + 1, par4, DOWN)) || (dir == UP && par1World.isBlockSolidOnSide(par2, par3 - 1, par4, UP))
- || (dir == NORTH && par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH)) || (dir == SOUTH && par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH))
- || (dir == WEST && par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST)) || (dir == EAST && par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST));
- }
-
- @Override
- public boolean canPlaceBlockAt (World par1World, int par2, int par3, int par4)
- {
- return par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST) || par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST) || par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH)
- || par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH) || par1World.isBlockSolidOnSide(par2, par3 - 1, par4, UP) || par1World.isBlockSolidOnSide(par2, par3 + 1, par4, DOWN);
- }
-
- @Override
- public int onBlockPlaced (World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9)
- {
- int j1 = par9 & 8;
- int k1 = par9 & 7;
- byte b0 = -1;
-
- if (par5 == 0 && par1World.isBlockSolidOnSide(par2, par3 + 1, par4, DOWN))
- {
- b0 = 0;
- }
-
- if (par5 == 1 && par1World.isBlockSolidOnSide(par2, par3 - 1, par4, UP))
- {
- b0 = 5;
- }
-
- if (par5 == 2 && par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH))
- {
- b0 = 4;
- }
-
- if (par5 == 3 && par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH))
- {
- b0 = 3;
- }
-
- if (par5 == 4 && par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST))
- {
- b0 = 2;
- }
-
- if (par5 == 5 && par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST))
- {
- b0 = 1;
- }
-
- return b0 + j1;
- }
-
- @Override
- public void onBlockPlacedBy (World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLivingBase, ItemStack par6ItemStack)
- {
- int l = par1World.getBlockMetadata(par2, par3, par4);
- int i1 = l & 7;
- int j1 = l & 8;
-
- if (i1 == invertMetadata(1))
- {
- if ((MathHelper.floor_double((double) (par5EntityLivingBase.rotationYaw * 4.0F / 360.0F) + 0.5D) & 1) == 0)
- {
- par1World.setBlockMetadataWithNotify(par2, par3, par4, 5 | j1, 2);
- }
- else
- {
- par1World.setBlockMetadataWithNotify(par2, par3, par4, 6 | j1, 2);
- }
- }
- else if (i1 == invertMetadata(0))
- {
- if ((MathHelper.floor_double((double) (par5EntityLivingBase.rotationYaw * 4.0F / 360.0F) + 0.5D) & 1) == 0)
- {
- par1World.setBlockMetadataWithNotify(par2, par3, par4, 7 | j1, 2);
- }
- else
- {
- par1World.setBlockMetadataWithNotify(par2, par3, par4, 0 | j1, 2);
- }
- }
-
- if (par6ItemStack.hasDisplayName())
- {
- ((TileEntityLandmine) par1World.getBlockTileEntity(par2, par3, par4)).setGuiDisplayName(par6ItemStack.getDisplayName());
- }
- }
-
- public static int invertMetadata (int par0)
- {
- switch (par0)
- {
- case 0:
- return 0;
- case 1:
- return 5;
- case 2:
- return 4;
- case 3:
- return 3;
- case 4:
- return 2;
- case 5:
- return 1;
- default:
- return -1;
- }
- }
-
- @Override
- public void onNeighborBlockChange (World par1World, int par2, int par3, int par4, int par5)
- {
- checkPlacement(par1World, par2, par3, par4, par5);
-
- checkExplosion(par1World, par2, par3, par4, false);
- }
-
- public void checkPlacement (World par1World, int par2, int par3, int par4, int par5)
- {
- if (this.checkIfAttachedToBlock(par1World, par2, par3, par4))
- {
- int i1 = par1World.getBlockMetadata(par2, par3, par4) & 7;
- boolean flag = false;
-
- if (!par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST) && i1 == 1)
- {
- flag = true;
- }
-
- if (!par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST) && i1 == 2)
- {
- flag = true;
- }
-
- if (!par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH) && i1 == 3)
- {
- flag = true;
- }
-
- if (!par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH) && i1 == 4)
- {
- flag = true;
- }
-
- if (!par1World.isBlockSolidOnSide(par2, par3 - 1, par4, UP) && i1 == 5)
- {
- flag = true;
- }
-
- if (!par1World.isBlockSolidOnSide(par2, par3 - 1, par4, UP) && i1 == 6)
- {
- flag = true;
- }
-
- if (!par1World.isBlockSolidOnSide(par2, par3 + 1, par4, DOWN) && i1 == 0)
- {
- flag = true;
- }
-
- if (!par1World.isBlockSolidOnSide(par2, par3 + 1, par4, DOWN) && i1 == 7)
- {
- flag = true;
- }
-
- if (flag)
- {
- this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0);
- par1World.setBlockToAir(par2, par3, par4);
- }
- }
- }
-
- private boolean checkIfAttachedToBlock (World par1World, int par2, int par3, int par4)
- {
- if (!this.canPlaceBlockAt(par1World, par2, par3, par4))
- {
- this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0);
- par1World.setBlockToAir(par2, par3, par4);
- return false;
- }
- else
- {
- return true;
- }
- }
-
- @Override
- public void updateTick (World par1World, int par2, int par3, int par4, Random par5Random)
- {
- if (!par1World.isRemote)
- {
- checkExplosion(par1World, par2, par3, par4, false);
- }
- }
-
- public void onEntityCollidedWithBlock (World par1World, int par2, int par3, int par4, Entity par5Entity)
- {
- if (!par1World.isRemote)
- {
- this.checkExplosion(par1World, par2, par3, par4, false);
- }
- }
-
- public void checkExplosion (World par1World, int par2, int par3, int par4, boolean skipCheck)
- {
- if (skipCheck || getMineState(par1World, par2, par3, par4) > 0)
- {
- if (hasItems(par1World, par2, par3, par4))
- {
- TileEntityLandmine te = (TileEntityLandmine) par1World.getBlockTileEntity(par2, par3, par4);
- if (te.soundcountything <= 0)
- {
- par1World.playSoundEffect((double) par2 + 0.5D, (double) par3 + 0.1D, (double) par4 + 0.5D, "random.click", 0.3F, 0.6F);
- te.setSoundPlayed();
- }
- new LandmineExplodeLogic(par1World, par2, par3, par4, getMineTriggerer(par1World, par2, par3, par4)).explode();
- }
- }
- }
-
- @Override
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World par1World, int par2, int par3, int par4)
- {
- return null;
- }
-
- private boolean hasItems (World par1World, int par2, int par3, int par4)
- {
- TileEntityLandmine te = (TileEntityLandmine) par1World.getBlockTileEntity(par2, par3, par4);
- if (te != null && te.getStackInSlot(0) != null || te.getStackInSlot(1) != null || te.getStackInSlot(2) != null)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- protected int getMineState (World par1World, int par2, int par3, int par4)
- {
- EnumMobType triggerMobType;
-
- TileEntityLandmine te = (TileEntityLandmine) par1World.getBlockTileEntity(par2, par3, par4);
-
- // Change to return 1 if you want the landmine to blow up when the block
- // holding it is broken
- if (te == null)
- {
- return 0;
- }
- switch (te.triggerType)
- {
- case 0:
- triggerMobType = EnumMobType.everything;
- break;
- case 1:
- triggerMobType = EnumMobType.mobs;
- break;
- case 2:
- triggerMobType = EnumMobType.players;
- break;
- default:
- triggerMobType = null;
- break;
- }
-
- if (triggerMobType != null)
- {
- List list = null;
-
- if (triggerMobType == EnumMobType.everything)
- {
- list = par1World.getEntitiesWithinAABBExcludingEntity((Entity) null, getSensitiveAABB(par1World, par2, par3, par4));
- }
-
- if (triggerMobType == EnumMobType.mobs)
- {
- list = par1World.getEntitiesWithinAABB(EntityLivingBase.class, getSensitiveAABB(par1World, par2, par3, par4));
- }
-
- if (triggerMobType == EnumMobType.players)
- {
- list = par1World.getEntitiesWithinAABB(EntityPlayer.class, this.getSensitiveAABB(par1World, par2, par3, par4));
- }
-
- if (list != null && !list.isEmpty())
- {
- Iterator iterator = list.iterator();
-
- while (iterator.hasNext())
- {
- Entity entity = (Entity) iterator.next();
-
- if (!entity.doesEntityNotTriggerPressurePlate())
- {
- return 1;
- }
- }
- }
- }
-
- return par1World.isBlockIndirectlyGettingPowered(par2, par3, par4) ? 1 : 0;
- }
-
- protected AxisAlignedBB getSensitiveAABB (World par1World, int par2, int par3, int par4)
- {
- float f = 0.125F;
- // return AxisAlignedBB.getAABBPool().getAABB((double)((float)par1 + f), (double)par2, (double)((float)par3 + f), (double)((float)(par1 + 1) - f), (double)par2 + 0.25D, (double)((float)(par3 + 1) - f));
-
- int l = par1World.getBlockMetadata(par2, par3, par4);
- int i1 = l & 7;
- boolean flag = (l & 8) > 0;
-
- float minX = par2 + f, minY = par3, minZ = par4 + f, maxX = par2 + 1 - f, maxY = par3 + 0.25F, maxZ = par4 + 1 - f;
-
- ForgeDirection dir = Helper.convertMetaToForgeOrientation(i1);
- switch (dir)
- {
- case DOWN:
- break;
- case UP:
- minY = par3 + 0.75F;
- maxY = par3 + 1;
- break;
- default:
- minX = par2;
- minY = par3;
- minZ = par4;
- maxX = par2 + 1;
- maxY = par3 + 1;
- maxZ = par4 + 1;
- }
- return AxisAlignedBB.getAABBPool().getAABB(minX, minY, minZ, maxX, maxY, maxZ);
- }
-
- public Entity getMineTriggerer (World par1World, int par2, int par3, int par4)
- {
-
- EnumMobType triggerMobType;
-
- TileEntityLandmine te = (TileEntityLandmine) par1World.getBlockTileEntity(par2, par3, par4);
-
- // Change to return 1 if you want the landmine to blow up when the
- // block holding it is broken
- if (te == null)
- {
- return null;
- }
- switch (te.triggerType)
- {
- case 0:
- triggerMobType = EnumMobType.everything;
- break;
- case 1:
- triggerMobType = EnumMobType.mobs;
- break;
- case 2:
- triggerMobType = EnumMobType.players;
- break;
- default:
- triggerMobType = null;
- break;
- }
-
- if (triggerMobType != null)
- {
- List list = null;
-
- if (triggerMobType == EnumMobType.everything)
- {
- list = par1World.getEntitiesWithinAABBExcludingEntity((Entity) null, AxisAlignedBB.getAABBPool().getAABB(par2 + 0D, par3 + 0D, par4 + 0D, par2 + 1D, par3 + 1D, par4 + 1D));
- }
-
- if (triggerMobType == EnumMobType.mobs)
- {
- list = par1World.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getAABBPool().getAABB(par2 + 0D, par3 + 0D, par4 + 0D, par2 + 1D, par3 + 1D, par4 + 1D));
- }
-
- if (triggerMobType == EnumMobType.players)
- {
- list = par1World.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB(par2 + 0D, par3 + 0D, par4 + 0D, par2 + 1D, par3 + 1D, par4 + 1D));
- }
-
- if (list != null && !list.isEmpty())
- {
- Iterator iterator = list.iterator();
-
- while (iterator.hasNext())
- {
- Entity entity = (Entity) iterator.next();
-
- if (!entity.doesEntityNotTriggerPressurePlate())
- {
- return entity;
- }
- }
- }
- }
-
- return new EntityTNTPrimed(par1World, par2, par3, par4, (EntityLivingBase) null);
- }
-
- @Override
- public boolean canDropFromExplosion (Explosion par1Explosion)
- {
- return false;
- }
-
- @SuppressWarnings("incomplete-switch")
- @Override
- public void setBlockBoundsBasedOnState (IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
- {
- int l = par1IBlockAccess.getBlockMetadata(par2, par3, par4);
- int i1 = l & 7;
- boolean flag = (l & 8) > 0;
-
- ForgeDirection dir = Helper.convertMetaToForgeOrientation(i1);
- switch (dir)
- {
- case DOWN:
- this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 1.0F - 0.0625F, 0.0625F, 1.0F - 0.0625F);
- break;
- case UP:
- this.setBlockBounds(0.0625F, 1.0F - 0.0625F, 0.0625F, 1.0F - 0.0625F, 1.0F, 1.0F - 0.0625F);
- break;
- case NORTH:
- this.setBlockBounds(0.0625F, 0.0625F, 0.0F, 1.0F - 0.0625F, 1.0F - 0.0625F, 0.0625F);
- break;
- case SOUTH:
- this.setBlockBounds(0.0625F, 0.0625F, 1.0F - 0.0625F, 1.0F - 0.0625F, 1.0F - 0.0625F, 1.0F);
- break;
- case EAST:
- this.setBlockBounds(1.0F - 0.0625F, 0.0625F, 0.0625F, 1.0F, 1.0F - 0.0625F, 1.0F - 0.0625F);
- break;
- case WEST:
- this.setBlockBounds(0.0F, 0.0625F, 0.0625F, 0.0625F, 1.0F - 0.0625F, 1.0F - 0.0625F);
- break;
- }
- }
-
- @Override
- public int idDropped (int par1, Random par2Random, int par3)
- {
- return 0;
- }
-
- @Override
- public TileEntity createNewTileEntity (World world)
- {
- return new TileEntityLandmine();
- }
-}
diff --git a/src/main/java/tconstruct/blocks/BloodBlock.java b/src/main/java/tconstruct/blocks/BloodBlock.java
deleted file mode 100644
index 038e003a..00000000
--- a/src/main/java/tconstruct/blocks/BloodBlock.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.world.World;
-import net.minecraftforge.fluids.Fluid;
-
-public class BloodBlock extends TConstructFluid
-{
-
- public BloodBlock(int id, Fluid fluid, Material material, String texture)
- {
- super(id, fluid, material, texture);
- }
-
- public void onEntityCollidedWithBlock (World world, int x, int y, int z, Entity entity)
- {
- if (entity instanceof EntityLivingBase)
- {
- ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.field_76434_w.id, 20*15, 0));
- ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.id, 20*5, 1));
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/CastingChannelBlock.java b/src/main/java/tconstruct/blocks/CastingChannelBlock.java
deleted file mode 100644
index 670be47a..00000000
--- a/src/main/java/tconstruct/blocks/CastingChannelBlock.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import tconstruct.blocks.logic.CastingChannelLogic;
-import tconstruct.client.block.BlockRenderCastingChannel;
-import tconstruct.library.TConstructRegistry;
-
-/**
- * @author BluSunrize
- */
-
-public class CastingChannelBlock extends BlockContainer
-{
-
- public CastingChannelBlock(int par1)
- {
- super(par1, Material.rock);
- this.setHardness(1F);
- this.setResistance(10);
- this.setStepSound(soundStoneFootstep);
- setCreativeTab(TConstructRegistry.blockTab);
- }
-
- @Override
- public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
- {
- ItemStack stack = player.getCurrentEquippedItem();
- CastingChannelLogic tile = (CastingChannelLogic) world.getBlockTileEntity(x, y, z);
- /*
- * Debugging
- System.out.println("Side: "+side);
- System.out.println("hitting: "+hitX+", "+hitY+", "+hitZ);
- String s = "LiquidAmount "+(world.isRemote?"client side: ":"server side: ");
- int amount = 0;
- if (tile.getTankInfo(null)[0].fluid != null)
- amount = tile.getTankInfo(null)[0].fluid.amount;
- if(world.isRemote)
- player.addChatMessage("-----");
- player.addChatMessage(s + amount);
- */
- if(stack==null)
- tile.changeOutputs(player, side, hitX, hitY, hitZ);
- return true;
- }
-
- @Override
- public void setBlockBoundsBasedOnState (IBlockAccess world, int x, int y, int z)
- {
- CastingChannelLogic tile = (CastingChannelLogic) world.getBlockTileEntity(x, y, z);
- float minX = 0.3125F;
- float maxX = 0.6875F;
- float minZ = 0.3125F;
- float maxZ = 0.6875F;
- minZ = 0F;
- maxZ = 1F;
- minX = 0F;
- maxX = 1F;
-
- this.setBlockBounds(minX, 0.375F, minZ, maxX, 0.625F, maxZ);
- }
-
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @Override
- public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- return true;
- }
-
- @Override
- public int getRenderType ()
- {
- return BlockRenderCastingChannel.renderID;
- }
-
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- this.blockIcon = iconRegister.registerIcon("tinker:searedstone");
- }
-
- @Override
- public TileEntity createNewTileEntity (World var1)
- {
- return new CastingChannelLogic();
- }
-
-}
diff --git a/src/main/java/tconstruct/blocks/ConveyorBase.java b/src/main/java/tconstruct/blocks/ConveyorBase.java
deleted file mode 100644
index 2a51e709..00000000
--- a/src/main/java/tconstruct/blocks/ConveyorBase.java
+++ /dev/null
@@ -1,156 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import tconstruct.client.block.SlimeChannelRender;
-import tconstruct.library.TConstructRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class ConveyorBase extends Block
-{
- String textureName;
- public ConveyorBase(int ID, Material material, String name)
- {
- super(ID, material);
- this.setCreativeTab(TConstructRegistry.blockTab);
- setBlockBounds(0f, 0f, 0f, 1f, 0.5f, 1f);
- textureName = name;
- }
-
- public boolean isBlockReplaceable (World world, int x, int y, int z)
- {
- return false;
- }
-
- @Override
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World world, int x, int y, int z)
- {
- return null;
- }
-
- @Override
- public void onEntityCollidedWithBlock (World world, int x, int y, int z, Entity entity)
- {
- if (!world.isBlockIndirectlyGettingPowered(x, y, z))
- {
- double moveX = 0;
- double moveZ = 0;
-
- double speed = 0.01;
-
- int meta = world.getBlockMetadata(x, y, z);
- switch (meta % 8)
- {
- case 6:
- moveX += speed;
- break;
- case 7:
- moveX += speed;
- moveZ += speed;
- break;
- case 0:
- moveZ += speed;
- break;
- case 1:
- moveZ += speed;
- moveX -= speed;
- break;
- case 2:
- moveX -= speed;
- break;
- case 3:
- moveX -= speed;
- moveZ -= speed;
- break;
- case 4:
- moveZ -= speed;
- break;
- case 5:
- moveZ -= speed;
- moveX += speed;
- break;
- }
-
- entity.addVelocity(moveX, 0, moveZ);
- }
-
- if (entity instanceof EntityItem)
- {
- ((EntityItem) entity).age = 0;
- }
- }
-
- @Override
- public void onBlockPlacedBy (World world, int x, int y, int z, EntityLivingBase entity, ItemStack stack)
- {
- int face = MathHelper.floor_double((double) (entity.rotationYaw * 8.0F / 360.0F) + 0.5D) + (entity.isSneaking() ? 4 : 0) & 7;
- int meta = world.getBlockMetadata(x, y, z) & 8;
- world.setBlockMetadataWithNotify(x, y, z, face | meta, 2);
- }
-
- public boolean shouldSideBeRendered (IBlockAccess world, int x, int y, int z, int side)
- {
- if (side == 1)
- return false;
- return super.shouldSideBeRendered(world, x, y, z, side);
- }
-
- public Icon[] icons;
-
- /* Rendering */
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @Override
- public int getRenderBlockPass ()
- {
- return 1;
- }
-
- @Override
- public int getRenderType ()
- {
- return SlimeChannelRender.model;
- }
-
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- String[] textureNames = new String[] { textureName, textureName+"_flow" };
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:" + textureNames[i]);
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIcon (int side, int meta)
- {
- if (meta >= 8)
- return icons[0];
- return side == 1 ? icons[1] : icons[0];
- }
-}
diff --git a/src/main/java/tconstruct/blocks/CraftingSlab.java b/src/main/java/tconstruct/blocks/CraftingSlab.java
deleted file mode 100644
index ae0b2451..00000000
--- a/src/main/java/tconstruct/blocks/CraftingSlab.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.CraftingStationLogic;
-import tconstruct.blocks.logic.PartBuilderLogic;
-import tconstruct.blocks.logic.PatternChestLogic;
-import tconstruct.blocks.logic.StencilTableLogic;
-import tconstruct.blocks.logic.ToolForgeLogic;
-import tconstruct.blocks.logic.ToolStationLogic;
-import tconstruct.common.TContent;
-import tconstruct.common.TProxyCommon;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.blocks.InventorySlab;
-import tconstruct.util.config.PHConstruct;
-
-public class CraftingSlab extends InventorySlab
-{
- public CraftingSlab(int id, Material material)
- {
- super(id, material);
- this.setCreativeTab(TConstructRegistry.blockTab);
- this.setHardness(2f);
- this.setStepSound(Block.soundWoodFootstep);
- }
-
- /* Rendering */
- @Override
- public String[] getTextureNames ()
- {
- String[] textureNames = { "craftingstation_top", "craftingstation_slab_side", "craftingstation_bottom", "toolstation_top", "toolstation_slab_side", "toolstation_bottom",
- "partbuilder_oak_top", "partbuilder_slab_side", "partbuilder_oak_bottom", "stenciltable_oak_top", "stenciltable_slab_side", "stenciltable_oak_bottom", "patternchest_top",
- "patternchest_slab_side", "patternchest_bottom", "toolforge_top", "toolforge_slab_side", "toolforge_top" };
-
- return textureNames;
- }
-
- @Override
- public Icon getIcon (int side, int meta)
- {
- return icons[(meta % 8) * 3 + getTextureIndex(side)];
- }
-
- public int getTextureIndex (int side)
- {
- if (side == 0)
- return 2;
- if (side == 1)
- return 0;
-
- return 1;
- }
-
- public AxisAlignedBB getSelectedBoundingBoxFromPool (World world, int x, int y, int z)
- {
- int metadata = world.getBlockMetadata(x, y, z);
- if (metadata == 5)
- return AxisAlignedBB.getAABBPool().getAABB((double) x + this.minX, (double) y + this.minY, (double) z + this.minZ, (double) x + this.maxX, (double) y + this.maxY - 0.125,
- (double) z + this.maxZ);
- return AxisAlignedBB.getAABBPool().getAABB((double) x + this.minX, (double) y + this.minY, (double) z + this.minZ, (double) x + this.maxX, (double) y + this.maxY, (double) z + this.maxZ);
- }
-
- @Override
- public TileEntity createTileEntity (World world, int metadata)
- {
- switch (metadata % 8)
- {
- case 0:
- return new CraftingStationLogic();
- case 1:
- return new ToolStationLogic();
- case 2:
- return new PartBuilderLogic();
- case 3:
- return new StencilTableLogic();
- case 4:
- return new PatternChestLogic();
- case 5:
- return new ToolForgeLogic();
- default:
- return null;
- }
- }
-
- @Override
- public Integer getGui (World world, int x, int y, int z, EntityPlayer entityplayer)
- {
- int meta = world.getBlockMetadata(x, y, z) % 8;
- switch (meta)
- {
- case 0:
- return TProxyCommon.craftingStationID;
- case 1:
- return TProxyCommon.toolStationID;
- case 2:
- return TProxyCommon.partBuilderID;
- case 3:
- return TProxyCommon.stencilTableID;
- case 4:
- return TProxyCommon.patternChestID;
- case 5:
- return TProxyCommon.toolForgeID;
- }
-
- return -1;
- }
-
- @Override
- public Object getModInstance ()
- {
- return TConstruct.instance;
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < 6; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-
- @Override
- public void onBlockPlacedBy (World world, int x, int y, int z, EntityLivingBase entityliving, ItemStack stack)
- {
- if (PHConstruct.freePatterns)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta == 4)
- {
- PatternChestLogic logic = (PatternChestLogic) world.getBlockTileEntity(x, y, z);
- for (int i = 1; i <= 13; i++)
- {
- logic.setInventorySlotContents(i - 1, new ItemStack(TContent.woodPattern, 1, i));
- }
- logic.setInventorySlotContents(13, new ItemStack(TContent.woodPattern, 1, 22));
- }
- }
- super.onBlockPlacedBy(world, x, y, z, entityliving, stack);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/CraftingStationBlock.java b/src/main/java/tconstruct/blocks/CraftingStationBlock.java
deleted file mode 100644
index 0292aafc..00000000
--- a/src/main/java/tconstruct/blocks/CraftingStationBlock.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.CraftingStationLogic;
-import tconstruct.client.block.TableRender;
-import tconstruct.common.TProxyCommon;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.blocks.InventoryBlock;
-
-public class CraftingStationBlock extends InventoryBlock
-{
- public CraftingStationBlock(int id, Material material)
- {
- super(id, material);
- this.setCreativeTab(TConstructRegistry.blockTab);
- this.setHardness(2f);
- this.setStepSound(Block.soundWoodFootstep);
- }
-
- //Block.hasComparatorInputOverride and Block.getComparatorInputOverride
-
- /* Rendering */
- @Override
- public String[] getTextureNames ()
- {
- String[] textureNames = { "craftingstation_top", "craftingstation_side", "craftingstation_bottom" };
-
- return textureNames;
- }
-
- @Override
- public Icon getIcon (int side, int meta)
- {
- return icons[meta * 3 + getTextureIndex(side)];
- }
-
- public int getTextureIndex (int side)
- {
- if (side == 0)
- return 2;
- if (side == 1)
- return 0;
-
- return 1;
- }
-
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @Override
- public int getRenderType ()
- {
- return TableRender.tabelModelID;
- }
-
- @Override
- public boolean shouldSideBeRendered (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- return true;
- }
-
- @Override
- public TileEntity createTileEntity (World world, int metadata)
- {
- return new CraftingStationLogic();
- /*switch (metadata)
- {
- case 0:
- return new CraftingStationLogic();
- default:
- return null;
- }*/
- }
-
- @Override
- public Integer getGui (World world, int x, int y, int z, EntityPlayer entityplayer)
- {
- return TProxyCommon.craftingStationID;
- }
-
- @Override
- public Object getModInstance ()
- {
- return TConstruct.instance;
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < 1; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/DryingRack.java b/src/main/java/tconstruct/blocks/DryingRack.java
deleted file mode 100644
index 4d07b25d..00000000
--- a/src/main/java/tconstruct/blocks/DryingRack.java
+++ /dev/null
@@ -1,353 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.DryingRackLogic;
-import tconstruct.client.block.DryingRackRender;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.blocks.InventoryBlock;
-import tconstruct.library.tools.AbilityHelper;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-
-public class DryingRack extends InventoryBlock
-{
-
- public DryingRack(int id)
- {
- super(id, Material.wood);
- this.setCreativeTab(TConstructRegistry.blockTab);
- setHardness(2.0f);
- setStepSound(soundMetalFootstep);
- }
-
- @Override
- public TileEntity createTileEntity (World world, int metadata)
- {
- return new DryingRackLogic();
- }
-
- @Override
- public int getRenderBlockPass ()
- {
- return 1;
- }
-
- @Override
- public Integer getGui (World world, int x, int y, int z, EntityPlayer entityplayer)
- {
- return null;
- }
-
- @Override
- public Object getModInstance ()
- {
- return TConstruct.instance;
- }
-
- public int onBlockPlaced (World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int meta)
- {
- if (side > 1)
- return side;
- return meta;
- }
-
- public void onBlockPlacedBy (World world, int x, int y, int z, EntityLiving living, ItemStack stack)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta == 0)
- {
- int l = MathHelper.floor_double((double) (living.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
- int direction = l % 2;
- if (direction == 1)
- world.setBlockMetadataWithNotify(x, y, z, 1, 2);
- }
- }
-
- /* Activation */
- @Override
- public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int side, float clickX, float clickY, float clickZ)
- {
- return activateDryingRack(world, x, y, z, player);
- }
-
- boolean activateDryingRack (World world, int x, int y, int z, EntityPlayer player)
- {
- if (!world.isRemote)
- {
- DryingRackLogic logic = (DryingRackLogic) world.getBlockTileEntity(x, y, z);
-
- if (!logic.isStackInSlot(0))
- {
- ItemStack stack = player.getCurrentEquippedItem();
- if (stack != null)
- {
- stack = player.inventory.decrStackSize(player.inventory.currentItem, 1);
- logic.setInventorySlotContents(0, stack);
- }
- }
- else
- {
- if (logic.isStackInSlot(0))
- {
- ItemStack decrStack = logic.decrStackSize(0, 1);
- if (decrStack != null)
- addItemToInventory(player, world, x, y, z, decrStack);
- }
- }
-
- world.markBlockForUpdate(x, y, z);
- }
- return true;
- }
-
- public void addItemToInventory (EntityPlayer player, World world, int x, int y, int z, ItemStack stack)
- {
- AbilityHelper.spawnItemAtPlayer(player, stack);
- }
-
- public AxisAlignedBB getSelectedBoundingBoxFromPool (World world, int x, int y, int z)
- {
- int metadata = world.getBlockMetadata(x, y, z);
- float xMin = 0F;
- float yMin = 0F;
- float zMin = 0F;
- float xMax = 1F;
- float yMax = 1F;
- float zMax = 1F;
- switch (metadata)
- {
- case 0:
- zMin = 0.375F;
- yMax = 0.25F;
- zMax = 0.625F;
- break;
- case 1:
- xMin = 0.375F;
- yMax = 0.25F;
- xMax = 0.625F;
- break;
- case 2:
- zMin = 0.75F;
- yMin = 0.75F;
- break;
- case 3:
- zMax = 0.25F;
- yMin = 0.75F;
- break;
- case 4:
- xMin = 0.75F;
- yMin = 0.75F;
- break;
- case 5:
- xMax = 0.25F;
- yMin = 0.75F;
- break;
- }
- return AxisAlignedBB.getAABBPool().getAABB((double) x + xMin, (double) y + yMin, (double) z + zMin, (double) x + xMax, (double) y + yMax, (double) z + zMax);
- }
-
- public void setBlockBoundsBasedOnState (IBlockAccess world, int x, int y, int z)
- {
- int metadata = world.getBlockMetadata(x, y, z);
- float xMin = 0F;
- float yMin = 0F;
- float zMin = 0F;
- float xMax = 1F;
- float yMax = 1F;
- float zMax = 1F;
- switch (metadata)
- {
- case 0:
- zMin = 0.375F;
- yMax = 0.25F;
- zMax = 0.625F;
- break;
- case 1:
- xMin = 0.375F;
- yMax = 0.25F;
- xMax = 0.625F;
- break;
- case 2:
- zMin = 0.75F;
- yMin = 0.75F;
- break;
- case 3:
- zMax = 0.25F;
- yMin = 0.75F;
- break;
- case 4:
- xMin = 0.75F;
- yMin = 0.75F;
- break;
- case 5:
- xMax = 0.25F;
- yMin = 0.75F;
- break;
- }
- this.setBlockBounds(xMin, yMin, zMin, xMax, yMax, zMax);
- }
-
- public void addCollisionBoxesToList (World world, int x, int y, int z, AxisAlignedBB aabb, List list, Entity entity)
- {
- this.setBlockBoundsBasedOnState(world, x, y, z);
- super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
- }
-
- /* Rendering */
- @Override
- public int getRenderType ()
- {
- return DryingRackRender.model;
- }
-
- @Override
- public String[] getTextureNames ()
- {
- String[] textureNames = { "castingtable_top", "castingtable_side", "castingtable_bottom", "faucet", "blockcast_top", "blockcast_side", "blockcast_bottom" };
-
- return textureNames;
- }
-
- @Override
- public Icon getIcon (int side, int meta)
- {
- return Block.planks.getIcon(side, 0);
- }
-
- public int getTextureIndex (int side)
- {
- if (side == 0)
- return 2;
- if (side == 1)
- return 0;
-
- return 1;
- }
-
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- /*@Override
- public boolean shouldSideBeRendered (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- return true;
- }*/
-
- /*@Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < 3; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }*/
-
- /*@Override
- public void setBlockBoundsBasedOnState (IBlockAccess world, int x, int y, int z)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta != 1)
- {
- this.setBlockBounds(0, 0, 0, 1, 1, 1);
- }
- else
- {
- FaucetLogic logic = (FaucetLogic) world.getBlockTileEntity(x, y, z);
- float xMin = 0.25F;
- float xMax = 0.75F;
- float zMin = 0.25F;
- float zMax = 0.75F;
-
- switch (logic.getRenderDirection())
- {
- case 2:
- zMin = 0.625F;
- zMax = 1.0F;
- break;
- case 3:
- zMax = 0.375F;
- zMin = 0F;
- break;
- case 4:
- xMin = 0.625F;
- xMax = 1.0F;
- break;
- case 5:
- xMax = 0.375F;
- xMin = 0F;
- break;
- }
-
- this.setBlockBounds(xMin, 0.25F, zMin, xMax, 0.625F, zMax);
- }
- }*/
-
- /*@Override
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World world, int x, int y, int z)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta != 1)
- {
- return AxisAlignedBB.getAABBPool().getAABB(x, y, z, x + 1, y + 1, z + 1);
- }
- else
- {
- FaucetLogic logic = (FaucetLogic) world.getBlockTileEntity(x, y, z);
- if (logic != null)
- {
- float xMin = 0.25F;
- float xMax = 0.75F;
- float zMin = 0.25F;
- float zMax = 0.75F;
-
- switch (logic.getRenderDirection())
- {
- case 2:
- zMin = 0.625F;
- zMax = 1.0F;
- break;
- case 3:
- zMax = 0.375F;
- zMin = 0F;
- break;
- case 4:
- xMin = 0.625F;
- xMax = 1.0F;
- break;
- case 5:
- xMax = 0.375F;
- xMin = 0F;
- break;
- }
-
- return AxisAlignedBB.getAABBPool().getAABB((double) ((float) x + xMin), (double) y + 0.25, (double) ((float) z + zMin), (double) ((float) x + xMax), (double) y + 0.625, (double) ((float) z + zMax));
- }
- }
-
- return super.getCollisionBoundingBoxFromPool(world, x, y, z);
- }*/
-
- /* Redstone */
-}
diff --git a/src/main/java/tconstruct/blocks/EquipBlock.java b/src/main/java/tconstruct/blocks/EquipBlock.java
deleted file mode 100644
index 41b6a063..00000000
--- a/src/main/java/tconstruct/blocks/EquipBlock.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package tconstruct.blocks;
-
-import tconstruct.blocks.logic.EquipLogic;
-
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-import tconstruct.library.blocks.InventoryLogic;
-
-import java.util.*;
-
-import cpw.mods.fml.relauncher.*;
-
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.FrypanLogic;
-import tconstruct.client.block.FrypanRender;
-import tconstruct.library.blocks.InventoryBlock;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.*;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.*;
-import net.minecraft.world.*;
-
-public class EquipBlock extends InventoryBlock
-{
-
- public EquipBlock(int id, Material material)
- {
- super(id, material);
- this.setHardness(0.3f);
- this.setBlockBounds(0, 0, 0, 1, 0.25f, 1);
- //this.setCreativeTab(ToolConstruct.materialTab);
- }
-
- @Override
- public String[] getTextureNames ()
- {
- return new String[] { "toolstation_top" };
- }
-
- public Icon getIcon (int side, int meta)
- {
- return Block.blockIron.getIcon(side, meta);
- }
-
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister par1IconRegister)
- {
- //this.blockIcon = par1iconRegister.registerIcon(Block.blockIron.getUnlocalizedName());
- }
-
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @Override
- public int getRenderType ()
- {
- return FrypanRender.frypanModelID;
- }
-
- @Override
- public int idDropped (int par1, Random par2Random, int par3)
- {
- return 0;
- }
-
- @Override
- public TileEntity createTileEntity (World world, int metadata)
- {
- return new FrypanLogic();
- }
-
- public void randomDisplayTick (World world, int x, int y, int z, Random random)
- {
- if (isActive(world, x, y, z))
- {
- float f = (float) x + 0.5F;
- float f1 = (float) y + 0.25F + (random.nextFloat() * 6F) / 16F;
- float f2 = (float) z + 0.5F;
- float f4 = random.nextFloat() * 0.6F - 0.3F;
- world.spawnParticle("smoke", f, f1, f2 + f4, 0.0D, 0.0D, 0.0D);
- world.spawnParticle("flame", f, f1, f2 + f4, 0.0D, 0.0D, 0.0D);
- }
- }
-
- public void onBlockPlacedBy (World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLivingBase, ItemStack par6ItemStack)
- {
- super.onBlockPlacedBy(par1World, par2, par3, par4, par5EntityLivingBase, par6ItemStack);
- int i3 = MathHelper.floor_double((par5EntityLivingBase.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
-
- int newMeta = 0;
-
- switch (i3)
- {
- case 3:
- newMeta = 0;
- break;
- case 0:
- newMeta = 3;
- break;
- case 1:
- newMeta = 1;
- break;
- case 2:
- newMeta = 2;
- break;
- }
- par1World.setBlockMetadataWithNotify(par2, par3, par4, newMeta, 2);
- }
-
- @Override
- public void breakBlock (World par1World, int x, int y, int z, int par5, int meta)
- {
- TileEntity te = par1World.getBlockTileEntity(x, y, z);
-
- if (te != null && te instanceof EquipLogic)
- {
- EquipLogic logic = (EquipLogic) te;
- for (int iter = 0; iter < logic.getSizeInventory(); ++iter)
- {
- ItemStack stack = iter == 0 ? logic.getEquipmentItem() : logic.getStackInSlot(iter);
-
- if (stack != null && logic.canDropInventorySlot(iter))
- {
- float jumpX = rand.nextFloat() * 0.8F + 0.1F;
- float jumpY = rand.nextFloat() * 0.8F + 0.1F;
- float jumpZ = rand.nextFloat() * 0.8F + 0.1F;
-
- while (stack.stackSize > 0)
- {
- int itemSize = rand.nextInt(21) + 10;
-
- if (itemSize > stack.stackSize)
- {
- itemSize = stack.stackSize;
- }
-
- stack.stackSize -= itemSize;
- EntityItem entityitem = new EntityItem(par1World, (double) ((float) x + jumpX), (double) ((float) y + jumpY), (double) ((float) z + jumpZ), new ItemStack(stack.itemID,
- itemSize, stack.getItemDamage()));
-
- if (stack.hasTagCompound())
- {
- entityitem.getEntityItem().setTagCompound((NBTTagCompound) stack.getTagCompound().copy());
- }
-
- float offset = 0.05F;
- entityitem.motionX = (double) ((float) rand.nextGaussian() * offset);
- entityitem.motionY = (double) ((float) rand.nextGaussian() * offset + 0.2F);
- entityitem.motionZ = (double) ((float) rand.nextGaussian() * offset);
- par1World.spawnEntityInWorld(entityitem);
- }
- }
- }
- }
-
- super.breakBlock(par1World, x, y, z, par5, meta);
- }
-
- public int getLightValue (IBlockAccess world, int x, int y, int z)
- {
- return !isActive(world, x, y, z) ? 0 : 9;
- }
-
- @Override
- public Integer getGui (World world, int x, int y, int z, EntityPlayer entityplayer)
- {
- return TConstruct.proxy.frypanGuiID;
- }
-
- @Override
- public Object getModInstance ()
- {
- return TConstruct.instance;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/FurnaceSlab.java b/src/main/java/tconstruct/blocks/FurnaceSlab.java
deleted file mode 100644
index 4aa17e19..00000000
--- a/src/main/java/tconstruct/blocks/FurnaceSlab.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.FurnaceLogic;
-import tconstruct.common.TProxyCommon;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.blocks.InventorySlab;
-import tconstruct.library.util.IActiveLogic;
-import tconstruct.library.util.IFacingLogic;
-
-public class FurnaceSlab extends InventorySlab
-{
-
- public FurnaceSlab(int id, Material material)
- {
- super(id, material);
- this.setCreativeTab(TConstructRegistry.blockTab);
- this.setHardness(3.5f);
- }
-
- @Override
- public TileEntity createTileEntity (World world, int metadata)
- {
- switch (metadata % 8)
- {
- case 0:
- return new FurnaceLogic();
- }
- return null;
- }
-
- @Override
- public Integer getGui (World world, int x, int y, int z, EntityPlayer entityplayer)
- {
- return TProxyCommon.furnaceID;
- }
-
- @Override
- public Object getModInstance ()
- {
- return TConstruct.instance;
- }
-
- @Override
- public String[] getTextureNames ()
- {
- String[] textureNames = { "furnaceslab_front", "furnaceslab_front_active", "furnaceslab_side", "furnace_top" };
-
- return textureNames;
- }
-
- @Override
- public Icon getIcon (int side, int meta)
- {
- return icons[(meta % 8) * 3 + getTextureIndex(side)];
- }
-
- public Icon getBlockTexture (IBlockAccess world, int x, int y, int z, int side)
- {
- TileEntity logic = world.getBlockTileEntity(x, y, z);
- short direction = (logic instanceof IFacingLogic) ? ((IFacingLogic) logic).getRenderDirection() : 0;
- int meta = world.getBlockMetadata(x, y, z) % 8;
-
- if (meta == 0)
- {
- if (side == direction)
- {
- if (((IActiveLogic) logic).getActive())
- return icons[1];
- else
- return icons[0];
- }
- else if (side > 1)
- {
- return icons[2];
- }
- return icons[3];
- }
- return icons[0];
- }
-
- public int getTextureIndex (int side)
- {
- if (side == 0 || side == 1)
- return 3;
- if (side == 3)
- return 0;
-
- return 2;
- }
-
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- String[] textureNames = getTextureNames();
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- if (i == 3)
- this.icons[i] = iconRegister.registerIcon("minecraft:" + textureNames[i]);
- else
- this.icons[i] = iconRegister.registerIcon("tinker:" + textureNames[i]);
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/GlassBlock.java b/src/main/java/tconstruct/blocks/GlassBlock.java
deleted file mode 100644
index aeb3366b..00000000
--- a/src/main/java/tconstruct/blocks/GlassBlock.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class GlassBlock extends TConstructBlock
-{
- static String blockTextures[] = { "glass_clear", "soulglass", "soulglass_clear" };
-
- public GlassBlock(int id)
- {
- super(id, Material.glass, 3f, blockTextures);
- }
-
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @SideOnly(Side.CLIENT)
- public boolean shouldSideBeRendered (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- int i1 = par1IBlockAccess.getBlockId(par2, par3, par4);
- return i1 == this.blockID ? false : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5);
- }
-
- @Override
- public float getBlockHardness (World world, int x, int y, int z)
- {
- int meta = world.getBlockMetadata(x, y, z);
- switch (meta)
- {
- case 0:
- return 0.3F;
- case 1:
- return 50.0F;
- case 2:
- return 50.0F;
- default:
- return blockHardness;
- }
- }
-
- public float getExplosionResistance (Entity entity, World world, int x, int y, int z, double explosionX, double explosionY, double explosionZ)
- {
- int meta = world.getBlockMetadata(x, y, z);
- switch (meta)
- {
- case 0:
- return 1.5F;
- case 1:
- return 2000F;
- case 2:
- return 2000F;
- default:
- return getExplosionResistance(entity);
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:glass/" + textureNames[i]);
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/GlassBlockConnected.java b/src/main/java/tconstruct/blocks/GlassBlockConnected.java
deleted file mode 100644
index ab24a890..00000000
--- a/src/main/java/tconstruct/blocks/GlassBlockConnected.java
+++ /dev/null
@@ -1,637 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.ArrayList;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.util.*;
-import net.minecraft.world.*;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.util.config.PHConstruct;
-
-/** @author fuj1n
- *
- */
-
-public class GlassBlockConnected extends Block
-{
- protected Icon[] icons = new Icon[16];
- private boolean shouldRenderSelectionBox = true;
- protected String folder;
- private int renderPass;
-
- public GlassBlockConnected(int par1, String location, boolean hasAlpha)
- {
- super(par1, Material.glass);
- this.setStepSound(soundGlassFootstep);
- folder = location;
- renderPass = hasAlpha ? 1 : 0;
- setHardness(0.3F);
- this.setCreativeTab(TConstructRegistry.blockTab);
- }
-
- //For FMP support
- public Icon[] getIcons ()
- {
- return icons;
- }
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- public int getRenderBlockPass ()
- {
- return renderPass;
- }
-
- /**
- * This is checked to see if the texture should connect to this block
- * @param par2 x
- * @param par3 y
- * @param par4 z
- * @param par5 ID this block is asking to connect to (may be 0 if there is no block)
- * @param par6 Metadata of the block this block is trying to connect to
- * @return true if should connect
- */
- public boolean shouldConnectToBlock (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5, int par6)
- {
- return par5 == this.blockID;
- }
-
- @Override
- public Icon getBlockTexture (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- return par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 15 ? icons[0] : getConnectedBlockTexture(par1IBlockAccess, par2, par3, par4, par5, icons);
- }
-
- public Icon getConnectedBlockTexture (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5, Icon[] icons)
- {
- if (PHConstruct.connectedTexturesMode == 0)
- {
- return icons[0];
- }
-
- boolean isOpenUp = false, isOpenDown = false, isOpenLeft = false, isOpenRight = false;
-
- switch (par5)
- {
- case 0:
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
- {
- isOpenDown = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
- {
- isOpenUp = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
- {
- isOpenLeft = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
- {
- isOpenRight = true;
- }
-
- if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[15];
- }
- else if (isOpenUp && isOpenDown && isOpenLeft)
- {
- return icons[11];
- }
- else if (isOpenUp && isOpenDown && isOpenRight)
- {
- return icons[12];
- }
- else if (isOpenUp && isOpenLeft && isOpenRight)
- {
- return icons[13];
- }
- else if (isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[14];
- }
- else if (isOpenDown && isOpenUp)
- {
- return icons[5];
- }
- else if (isOpenLeft && isOpenRight)
- {
- return icons[6];
- }
- else if (isOpenDown && isOpenLeft)
- {
- return icons[8];
- }
- else if (isOpenDown && isOpenRight)
- {
- return icons[10];
- }
- else if (isOpenUp && isOpenLeft)
- {
- return icons[7];
- }
- else if (isOpenUp && isOpenRight)
- {
- return icons[9];
- }
- else if (isOpenDown)
- {
- return icons[3];
- }
- else if (isOpenUp)
- {
- return icons[4];
- }
- else if (isOpenLeft)
- {
- return icons[2];
- }
- else if (isOpenRight)
- {
- return icons[1];
- }
- break;
- case 1:
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
- {
- isOpenDown = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
- {
- isOpenUp = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
- {
- isOpenLeft = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
- {
- isOpenRight = true;
- }
-
- if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[15];
- }
- else if (isOpenUp && isOpenDown && isOpenLeft)
- {
- return icons[11];
- }
- else if (isOpenUp && isOpenDown && isOpenRight)
- {
- return icons[12];
- }
- else if (isOpenUp && isOpenLeft && isOpenRight)
- {
- return icons[13];
- }
- else if (isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[14];
- }
- else if (isOpenDown && isOpenUp)
- {
- return icons[5];
- }
- else if (isOpenLeft && isOpenRight)
- {
- return icons[6];
- }
- else if (isOpenDown && isOpenLeft)
- {
- return icons[8];
- }
- else if (isOpenDown && isOpenRight)
- {
- return icons[10];
- }
- else if (isOpenUp && isOpenLeft)
- {
- return icons[7];
- }
- else if (isOpenUp && isOpenRight)
- {
- return icons[9];
- }
- else if (isOpenDown)
- {
- return icons[3];
- }
- else if (isOpenUp)
- {
- return icons[4];
- }
- else if (isOpenLeft)
- {
- return icons[2];
- }
- else if (isOpenRight)
- {
- return icons[1];
- }
- break;
- case 2:
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
- {
- isOpenDown = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
- {
- isOpenUp = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
- {
- isOpenLeft = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
- {
- isOpenRight = true;
- }
-
- if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[15];
- }
- else if (isOpenUp && isOpenDown && isOpenLeft)
- {
- return icons[13];
- }
- else if (isOpenUp && isOpenDown && isOpenRight)
- {
- return icons[14];
- }
- else if (isOpenUp && isOpenLeft && isOpenRight)
- {
- return icons[11];
- }
- else if (isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[12];
- }
- else if (isOpenDown && isOpenUp)
- {
- return icons[6];
- }
- else if (isOpenLeft && isOpenRight)
- {
- return icons[5];
- }
- else if (isOpenDown && isOpenLeft)
- {
- return icons[9];
- }
- else if (isOpenDown && isOpenRight)
- {
- return icons[10];
- }
- else if (isOpenUp && isOpenLeft)
- {
- return icons[7];
- }
- else if (isOpenUp && isOpenRight)
- {
- return icons[8];
- }
- else if (isOpenDown)
- {
- return icons[1];
- }
- else if (isOpenUp)
- {
- return icons[2];
- }
- else if (isOpenLeft)
- {
- return icons[4];
- }
- else if (isOpenRight)
- {
- return icons[3];
- }
- break;
- case 3:
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
- {
- isOpenDown = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
- {
- isOpenUp = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
- {
- isOpenLeft = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
- {
- isOpenRight = true;
- }
-
- if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[15];
- }
- else if (isOpenUp && isOpenDown && isOpenLeft)
- {
- return icons[14];
- }
- else if (isOpenUp && isOpenDown && isOpenRight)
- {
- return icons[13];
- }
- else if (isOpenUp && isOpenLeft && isOpenRight)
- {
- return icons[11];
- }
- else if (isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[12];
- }
- else if (isOpenDown && isOpenUp)
- {
- return icons[6];
- }
- else if (isOpenLeft && isOpenRight)
- {
- return icons[5];
- }
- else if (isOpenDown && isOpenLeft)
- {
- return icons[10];
- }
- else if (isOpenDown && isOpenRight)
- {
- return icons[9];
- }
- else if (isOpenUp && isOpenLeft)
- {
- return icons[8];
- }
- else if (isOpenUp && isOpenRight)
- {
- return icons[7];
- }
- else if (isOpenDown)
- {
- return icons[1];
- }
- else if (isOpenUp)
- {
- return icons[2];
- }
- else if (isOpenLeft)
- {
- return icons[3];
- }
- else if (isOpenRight)
- {
- return icons[4];
- }
- break;
- case 4:
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
- {
- isOpenDown = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
- {
- isOpenUp = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
- {
- isOpenLeft = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
- {
- isOpenRight = true;
- }
-
- if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[15];
- }
- else if (isOpenUp && isOpenDown && isOpenLeft)
- {
- return icons[14];
- }
- else if (isOpenUp && isOpenDown && isOpenRight)
- {
- return icons[13];
- }
- else if (isOpenUp && isOpenLeft && isOpenRight)
- {
- return icons[11];
- }
- else if (isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[12];
- }
- else if (isOpenDown && isOpenUp)
- {
- return icons[6];
- }
- else if (isOpenLeft && isOpenRight)
- {
- return icons[5];
- }
- else if (isOpenDown && isOpenLeft)
- {
- return icons[10];
- }
- else if (isOpenDown && isOpenRight)
- {
- return icons[9];
- }
- else if (isOpenUp && isOpenLeft)
- {
- return icons[8];
- }
- else if (isOpenUp && isOpenRight)
- {
- return icons[7];
- }
- else if (isOpenDown)
- {
- return icons[1];
- }
- else if (isOpenUp)
- {
- return icons[2];
- }
- else if (isOpenLeft)
- {
- return icons[3];
- }
- else if (isOpenRight)
- {
- return icons[4];
- }
- break;
- case 5:
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
- {
- isOpenDown = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
- {
- isOpenUp = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
- {
- isOpenLeft = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
- {
- isOpenRight = true;
- }
-
- if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[15];
- }
- else if (isOpenUp && isOpenDown && isOpenLeft)
- {
- return icons[13];
- }
- else if (isOpenUp && isOpenDown && isOpenRight)
- {
- return icons[14];
- }
- else if (isOpenUp && isOpenLeft && isOpenRight)
- {
- return icons[11];
- }
- else if (isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[12];
- }
- else if (isOpenDown && isOpenUp)
- {
- return icons[6];
- }
- else if (isOpenLeft && isOpenRight)
- {
- return icons[5];
- }
- else if (isOpenDown && isOpenLeft)
- {
- return icons[9];
- }
- else if (isOpenDown && isOpenRight)
- {
- return icons[10];
- }
- else if (isOpenUp && isOpenLeft)
- {
- return icons[7];
- }
- else if (isOpenUp && isOpenRight)
- {
- return icons[8];
- }
- else if (isOpenDown)
- {
- return icons[1];
- }
- else if (isOpenUp)
- {
- return icons[2];
- }
- else if (isOpenLeft)
- {
- return icons[4];
- }
- else if (isOpenRight)
- {
- return icons[3];
- }
- break;
- }
-
- return icons[0];
- }
-
- @Override
- public boolean shouldSideBeRendered (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- int i1 = par1IBlockAccess.getBlockId(par2, par3, par4);
- return i1 == this.blockID ? false : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5);
- }
-
- @Override
- public Icon getIcon (int par1, int par2)
- {
- return icons[0];
- }
-
- @Override
- public AxisAlignedBB getSelectedBoundingBoxFromPool (World par1World, int par2, int par3, int par4)
- {
- if (shouldRenderSelectionBox)
- {
- return super.getSelectedBoundingBoxFromPool(par1World, par2, par3, par4);
- }
- else
- {
- return AxisAlignedBB.getAABBPool().getAABB(0D, 0D, 0D, 0D, 0D, 0D);
- }
- }
-
- @Override
- public void registerIcons (IconRegister par1IconRegister)
- {
- icons[0] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass");
- icons[1] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_1_d");
- icons[2] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_1_u");
- icons[3] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_1_l");
- icons[4] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_1_r");
- icons[5] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_2_h");
- icons[6] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_2_v");
- icons[7] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_2_dl");
- icons[8] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_2_dr");
- icons[9] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_2_ul");
- icons[10] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_2_ur");
- icons[11] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_3_d");
- icons[12] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_3_u");
- icons[13] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_3_l");
- icons[14] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_3_r");
- icons[15] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_4");
- }
-
- @Override
- public boolean canPlaceTorchOnTop (World world, int x, int y, int z)
- {
- return true;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/GlassBlockConnectedMeta.java b/src/main/java/tconstruct/blocks/GlassBlockConnectedMeta.java
deleted file mode 100644
index 40387ae2..00000000
--- a/src/main/java/tconstruct/blocks/GlassBlockConnectedMeta.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import tconstruct.util.config.PHConstruct;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-
-/** @author fuj1n
- *
- */
-
-public class GlassBlockConnectedMeta extends GlassBlockConnected
-{
- public String[] textures;
- public Icon[][] icons;
- boolean ignoreMetaForConnectedGlass = PHConstruct.connectedTexturesMode == 2;
-
- public GlassBlockConnectedMeta(int par1, String location, boolean hasAlpha, String... textures)
- {
- super(par1, location, hasAlpha);
- this.textures = textures;
- this.icons = new Icon[textures.length][16];
- }
-
- @Override
- public Icon getBlockTexture (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- int meta = par1IBlockAccess.getBlockMetadata(par2, par3, par4);
- if (meta < icons.length)
- {
- return getConnectedBlockTexture(par1IBlockAccess, par2, par3, par4, par5, icons[meta]);
- }
- else
- {
- return getConnectedBlockTexture(par1IBlockAccess, par2, par3, par4, par5, icons[0]);
- }
- }
-
- @Override
- public boolean shouldConnectToBlock (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5, int par6)
- {
- return par5 == this.blockID && (par6 == par1IBlockAccess.getBlockMetadata(par2, par3, par4) || ignoreMetaForConnectedGlass);
- }
-
- @Override
- public Icon getIcon (int par1, int par2)
- {
- return icons[par2][0];
- }
-
- @Override
- public void getSubBlocks (int par1, CreativeTabs par2CreativeTabs, List par3List)
- {
- for (int i = 0; i < textures.length; i++)
- {
- par3List.add(new ItemStack(par1, 1, i));
- }
- }
-
- @Override
- public void registerIcons (IconRegister par1IconRegister)
- {
- for (int i = 0; i < textures.length; i++)
- {
- icons[i][0] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass");
- icons[i][1] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_1_d");
- icons[i][2] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_1_u");
- icons[i][3] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_1_l");
- icons[i][4] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_1_r");
- icons[i][5] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_2_h");
- icons[i][6] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_2_v");
- icons[i][7] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_2_dl");
- icons[i][8] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_2_dr");
- icons[i][9] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_2_ul");
- icons[i][10] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_2_ur");
- icons[i][11] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_3_d");
- icons[i][12] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_3_u");
- icons[i][13] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_3_l");
- icons[i][14] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_3_r");
- icons[i][15] = par1IconRegister.registerIcon("tinker:glass/" + folder + "/" + textures[i] + "/glass_4");
- }
- }
-
- @Override
- public int damageDropped (int par1)
- {
- return par1;
- }
-
- @Override
- public boolean canPlaceTorchOnTop (World world, int x, int y, int z)
- {
- return true;
- }
-
-}
diff --git a/src/main/java/tconstruct/blocks/GlassBlockStained.java b/src/main/java/tconstruct/blocks/GlassBlockStained.java
deleted file mode 100644
index 25bd9db5..00000000
--- a/src/main/java/tconstruct/blocks/GlassBlockStained.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class GlassBlockStained extends TConstructBlock
-{
- static String blockTextures[] = { "white", "orange", "magenta", "lightblue", "yellow", "lime", "pink", "gray", "lightgray", "cyan", "purple", "blue", "brown", "green", "red", "black" };
- String textureName;
-
- public GlassBlockStained(int id, String tex)
- {
- super(id, Material.glass, 3f, blockTextures);
- this.textureName = tex;
- }
-
- @Override
- public int getRenderBlockPass ()
- {
- return 1;
- }
-
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @SideOnly(Side.CLIENT)
- public boolean shouldSideBeRendered (IBlockAccess world, int x, int y, int z, int side)
- {
- int blockID = world.getBlockId(x, y, z);
- return blockID == this.blockID ? false : super.shouldSideBeRendered(world, x, y, z, side);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:glass/" + textureName + textureNames[i]);
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/GlassPane.java b/src/main/java/tconstruct/blocks/GlassPane.java
deleted file mode 100644
index ca7ab07d..00000000
--- a/src/main/java/tconstruct/blocks/GlassPane.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package tconstruct.blocks;
-
-import tconstruct.library.TConstructRegistry;
-import net.minecraft.block.material.Material;
-
-public class GlassPane extends PaneBase
-{
- static String blockTextures[] = { "glass_clear", "soulglass", "soulglass_clear" };
-
- public GlassPane(int id)
- {
- super(id, Material.glass, "glass/", blockTextures);
- this.setHardness(0.3F);
- this.setStepSound(soundGlassFootstep);
- this.setUnlocalizedName("tconstruct.glasspane");
- this.setCreativeTab(TConstructRegistry.blockTab);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/GlassPaneConnected.java b/src/main/java/tconstruct/blocks/GlassPaneConnected.java
deleted file mode 100644
index 0009ed94..00000000
--- a/src/main/java/tconstruct/blocks/GlassPaneConnected.java
+++ /dev/null
@@ -1,697 +0,0 @@
-package tconstruct.blocks;
-
-import tconstruct.util.config.PHConstruct;
-
-import java.util.List;
-
-import tconstruct.client.block.PaneConnectedRender;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-
-public class GlassPaneConnected extends GlassBlockConnected
-{
-
- private Icon theIcon;
-
- public GlassPaneConnected(int par1, String location, boolean hasAlpha)
- {
- super(par1, location, hasAlpha);
- }
-
- @Override
- public int getRenderType ()
- {
- return PaneConnectedRender.model;
- // return 0;
- }
-
- @Override
- public Icon getBlockTexture (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- if (par5 == 0 || par5 == 1)
- {
- return par1IBlockAccess.getBlockId(par2, par3 - 1, par4) == this.blockID && par5 == 0 ? icons[15]
- : par1IBlockAccess.getBlockId(par2, par3 + 1, par4) == this.blockID && par5 == 1 ? icons[15] : getSideTextureIndex();
- }
- else
- {
- return super.getBlockTexture(par1IBlockAccess, par2, par3, par4, par5);
- }
- }
-
- @Override
- public Icon getConnectedBlockTexture (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5, Icon[] icons)
- {
- if (par5 == 0 || par5 == 1)
- {
- return getSideTextureIndex();
- }
-
- if (PHConstruct.connectedTexturesMode == 0)
- {
- return icons[0];
- }
-
- boolean isOpenUp = false, isOpenDown = false, isOpenLeft = false, isOpenRight = false;
-
- switch (par5)
- {
- case 0:
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
- {
- isOpenDown = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
- {
- isOpenUp = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
- {
- isOpenLeft = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
- {
- isOpenRight = true;
- }
-
- if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[15];
- }
- else if (isOpenUp && isOpenDown && isOpenLeft)
- {
- return icons[11];
- }
- else if (isOpenUp && isOpenDown && isOpenRight)
- {
- return icons[12];
- }
- else if (isOpenUp && isOpenLeft && isOpenRight)
- {
- return icons[13];
- }
- else if (isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[14];
- }
- else if (isOpenDown && isOpenUp)
- {
- return icons[5];
- }
- else if (isOpenLeft && isOpenRight)
- {
- return icons[6];
- }
- else if (isOpenDown && isOpenLeft)
- {
- return icons[8];
- }
- else if (isOpenDown && isOpenRight)
- {
- return icons[10];
- }
- else if (isOpenUp && isOpenLeft)
- {
- return icons[7];
- }
- else if (isOpenUp && isOpenRight)
- {
- return icons[9];
- }
- else if (isOpenDown)
- {
- return icons[3];
- }
- else if (isOpenUp)
- {
- return icons[4];
- }
- else if (isOpenLeft)
- {
- return icons[2];
- }
- else if (isOpenRight)
- {
- return icons[1];
- }
- break;
- case 1:
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
- {
- isOpenDown = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
- {
- isOpenUp = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
- {
- isOpenLeft = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
- {
- isOpenRight = true;
- }
-
- if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[15];
- }
- else if (isOpenUp && isOpenDown && isOpenLeft)
- {
- return icons[11];
- }
- else if (isOpenUp && isOpenDown && isOpenRight)
- {
- return icons[12];
- }
- else if (isOpenUp && isOpenLeft && isOpenRight)
- {
- return icons[13];
- }
- else if (isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[14];
- }
- else if (isOpenDown && isOpenUp)
- {
- return icons[5];
- }
- else if (isOpenLeft && isOpenRight)
- {
- return icons[6];
- }
- else if (isOpenDown && isOpenLeft)
- {
- return icons[8];
- }
- else if (isOpenDown && isOpenRight)
- {
- return icons[10];
- }
- else if (isOpenUp && isOpenLeft)
- {
- return icons[7];
- }
- else if (isOpenUp && isOpenRight)
- {
- return icons[9];
- }
- else if (isOpenDown)
- {
- return icons[3];
- }
- else if (isOpenUp)
- {
- return icons[4];
- }
- else if (isOpenLeft)
- {
- return icons[2];
- }
- else if (isOpenRight)
- {
- return icons[1];
- }
- break;
- case 2:
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
- {
- isOpenDown = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
- {
- isOpenUp = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
- {
- isOpenLeft = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
- {
- isOpenRight = true;
- }
-
- if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[15];
- }
- else if (isOpenUp && isOpenDown && isOpenLeft)
- {
- return icons[13];
- }
- else if (isOpenUp && isOpenDown && isOpenRight)
- {
- return icons[14];
- }
- else if (isOpenUp && isOpenLeft && isOpenRight)
- {
- return icons[11];
- }
- else if (isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[12];
- }
- else if (isOpenDown && isOpenUp)
- {
- return icons[6];
- }
- else if (isOpenLeft && isOpenRight)
- {
- return icons[5];
- }
- else if (isOpenDown && isOpenLeft)
- {
- return icons[9];
- }
- else if (isOpenDown && isOpenRight)
- {
- return icons[10];
- }
- else if (isOpenUp && isOpenLeft)
- {
- return icons[7];
- }
- else if (isOpenUp && isOpenRight)
- {
- return icons[8];
- }
- else if (isOpenDown)
- {
- return icons[1];
- }
- else if (isOpenUp)
- {
- return icons[2];
- }
- else if (isOpenLeft)
- {
- return icons[4];
- }
- else if (isOpenRight)
- {
- return icons[3];
- }
- break;
- case 3:
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
- {
- isOpenDown = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
- {
- isOpenUp = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
- {
- isOpenLeft = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
- {
- isOpenRight = true;
- }
-
- if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[15];
- }
- else if (isOpenUp && isOpenDown && isOpenLeft)
- {
- return icons[14];
- }
- else if (isOpenUp && isOpenDown && isOpenRight)
- {
- return icons[13];
- }
- else if (isOpenUp && isOpenLeft && isOpenRight)
- {
- return icons[11];
- }
- else if (isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[12];
- }
- else if (isOpenDown && isOpenUp)
- {
- return icons[6];
- }
- else if (isOpenLeft && isOpenRight)
- {
- return icons[5];
- }
- else if (isOpenDown && isOpenLeft)
- {
- return icons[10];
- }
- else if (isOpenDown && isOpenRight)
- {
- return icons[9];
- }
- else if (isOpenUp && isOpenLeft)
- {
- return icons[8];
- }
- else if (isOpenUp && isOpenRight)
- {
- return icons[7];
- }
- else if (isOpenDown)
- {
- return icons[1];
- }
- else if (isOpenUp)
- {
- return icons[2];
- }
- else if (isOpenLeft)
- {
- return icons[3];
- }
- else if (isOpenRight)
- {
- return icons[4];
- }
- break;
- case 4:
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
- {
- isOpenDown = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
- {
- isOpenUp = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
- {
- isOpenLeft = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
- {
- isOpenRight = true;
- }
-
- if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[15];
- }
- else if (isOpenUp && isOpenDown && isOpenLeft)
- {
- return icons[14];
- }
- else if (isOpenUp && isOpenDown && isOpenRight)
- {
- return icons[13];
- }
- else if (isOpenUp && isOpenLeft && isOpenRight)
- {
- return icons[11];
- }
- else if (isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[12];
- }
- else if (isOpenDown && isOpenUp)
- {
- return icons[6];
- }
- else if (isOpenLeft && isOpenRight)
- {
- return icons[5];
- }
- else if (isOpenDown && isOpenLeft)
- {
- return icons[10];
- }
- else if (isOpenDown && isOpenRight)
- {
- return icons[9];
- }
- else if (isOpenUp && isOpenLeft)
- {
- return icons[8];
- }
- else if (isOpenUp && isOpenRight)
- {
- return icons[7];
- }
- else if (isOpenDown)
- {
- return icons[1];
- }
- else if (isOpenUp)
- {
- return icons[2];
- }
- else if (isOpenLeft)
- {
- return icons[3];
- }
- else if (isOpenRight)
- {
- return icons[4];
- }
- break;
- case 5:
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
- {
- isOpenDown = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
- {
- isOpenUp = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
- {
- isOpenLeft = true;
- }
-
- if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlockId(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
- {
- isOpenRight = true;
- }
-
- if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[15];
- }
- else if (isOpenUp && isOpenDown && isOpenLeft)
- {
- return icons[13];
- }
- else if (isOpenUp && isOpenDown && isOpenRight)
- {
- return icons[14];
- }
- else if (isOpenUp && isOpenLeft && isOpenRight)
- {
- return icons[11];
- }
- else if (isOpenDown && isOpenLeft && isOpenRight)
- {
- return icons[12];
- }
- else if (isOpenDown && isOpenUp)
- {
- return icons[6];
- }
- else if (isOpenLeft && isOpenRight)
- {
- return icons[5];
- }
- else if (isOpenDown && isOpenLeft)
- {
- return icons[9];
- }
- else if (isOpenDown && isOpenRight)
- {
- return icons[10];
- }
- else if (isOpenUp && isOpenLeft)
- {
- return icons[7];
- }
- else if (isOpenUp && isOpenRight)
- {
- return icons[8];
- }
- else if (isOpenDown)
- {
- return icons[1];
- }
- else if (isOpenUp)
- {
- return icons[2];
- }
- else if (isOpenLeft)
- {
- return icons[4];
- }
- else if (isOpenRight)
- {
- return icons[3];
- }
- break;
- }
-
- return icons[0];
- }
-
- @Override
- public void addCollisionBoxesToList (World par1World, int par2, int par3, int par4, AxisAlignedBB par5AxisAlignedBB, List par6List, Entity par7Entity)
- {
- boolean flag = this.canPaneConnectTo(par1World, par2, par3, par4, ForgeDirection.NORTH);
- boolean flag1 = this.canPaneConnectTo(par1World, par2, par3, par4, ForgeDirection.SOUTH);
- boolean flag2 = this.canPaneConnectTo(par1World, par2, par3, par4, ForgeDirection.WEST);
- boolean flag3 = this.canPaneConnectTo(par1World, par2, par3, par4, ForgeDirection.EAST);
-
- if ((!flag2 || !flag3) && (flag2 || flag3 || flag || flag1))
- {
- if (flag2 && !flag3)
- {
- this.setBlockBounds(0.0F, 0.0F, 0.4375F, 0.5F, 1.0F, 0.5625F);
- super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
- }
- else if (!flag2 && flag3)
- {
- this.setBlockBounds(0.5F, 0.0F, 0.4375F, 1.0F, 1.0F, 0.5625F);
- super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
- }
- }
- else
- {
- this.setBlockBounds(0.0F, 0.0F, 0.4375F, 1.0F, 1.0F, 0.5625F);
- super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
- }
-
- if ((!flag || !flag1) && (flag2 || flag3 || flag || flag1))
- {
- if (flag && !flag1)
- {
- this.setBlockBounds(0.4375F, 0.0F, 0.0F, 0.5625F, 1.0F, 0.5F);
- super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
- }
- else if (!flag && flag1)
- {
- this.setBlockBounds(0.4375F, 0.0F, 0.5F, 0.5625F, 1.0F, 1.0F);
- super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
- }
- }
- else
- {
- this.setBlockBounds(0.4375F, 0.0F, 0.0F, 0.5625F, 1.0F, 1.0F);
- super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
- }
- }
-
- @Override
- public void setBlockBoundsForItemRender ()
- {
- this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
- }
-
- @Override
- public void setBlockBoundsBasedOnState (IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
- {
- float f = 0.4375F;
- float f1 = 0.5625F;
- float f2 = 0.4375F;
- float f3 = 0.5625F;
- boolean flag = this.canPaneConnectTo(par1IBlockAccess, par2, par3, par4, ForgeDirection.NORTH);
- boolean flag1 = this.canPaneConnectTo(par1IBlockAccess, par2, par3, par4, ForgeDirection.SOUTH);
- boolean flag2 = this.canPaneConnectTo(par1IBlockAccess, par2, par3, par4, ForgeDirection.WEST);
- boolean flag3 = this.canPaneConnectTo(par1IBlockAccess, par2, par3, par4, ForgeDirection.EAST);
-
- if ((!flag2 || !flag3) && (flag2 || flag3 || flag || flag1))
- {
- if (flag2 && !flag3)
- {
- f = 0.0F;
- }
- else if (!flag2 && flag3)
- {
- f1 = 1.0F;
- }
- }
- else
- {
- f = 0.0F;
- f1 = 1.0F;
- }
-
- if ((!flag || !flag1) && (flag2 || flag3 || flag || flag1))
- {
- if (flag && !flag1)
- {
- f2 = 0.0F;
- }
- else if (!flag && flag1)
- {
- f3 = 1.0F;
- }
- }
- else
- {
- f2 = 0.0F;
- f3 = 1.0F;
- }
-
- this.setBlockBounds(f, 0.0F, f2, f1, 1.0F, f3);
- }
-
- public Icon getSideTextureIndex ()
- {
- return this.theIcon;
- }
-
- public final boolean canThisPaneConnectToThisBlockID (int par1)
- {
- return Block.opaqueCubeLookup[par1] || par1 == this.blockID || par1 == Block.glass.blockID;
- }
-
- public void registerIcons (IconRegister par1IconRegister)
- {
- super.registerIcons(par1IconRegister);
- this.theIcon = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_side");
- }
-
- public boolean canPaneConnectTo (IBlockAccess access, int x, int y, int z, ForgeDirection dir)
- {
- return canThisPaneConnectToThisBlockID(access.getBlockId(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ))
- || access.isBlockSolidOnSide(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir.getOpposite(), false);
- }
-
- @Override
- public boolean shouldSideBeRendered (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- // if(par5 == 0 || par5 == 1){
- // return par1IBlockAccess.getBlockId(par2, par3, par4) != this.blockID;
- // }else{
- // return true;
- // }
- return true;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/GlassPaneStained.java b/src/main/java/tconstruct/blocks/GlassPaneStained.java
deleted file mode 100644
index 548bf389..00000000
--- a/src/main/java/tconstruct/blocks/GlassPaneStained.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package tconstruct.blocks;
-
-import tconstruct.library.TConstructRegistry;
-import net.minecraft.block.material.Material;
-
-public class GlassPaneStained extends PaneBase
-{
- static String blockTextures[] = { "white", "orange", "magenta", "lightblue", "yellow", "lime", "pink", "gray", "lightgray", "cyan", "purple", "blue", "brown", "green", "red", "black" };
-
- public GlassPaneStained(int id)
- {
- super(id, Material.glass, "glass/", assembleBlockTextures());
- this.setHardness(0.3F);
- this.setStepSound(soundGlassFootstep);
- this.setUnlocalizedName("tconstruct.glasspanestained");
- this.setCreativeTab(TConstructRegistry.blockTab);
- }
-
- private static String[] assembleBlockTextures ()
- {
- String[] textures = new String[blockTextures.length];
- for (int i = 0; i < blockTextures.length; i++)
- {
- textures[i] = "stainedglass_" + blockTextures[i];
- }
- return textures;
- }
-
- @Override
- public int getRenderBlockPass ()
- {
- return 1;
- }
-
- @Override
- public int damageDropped (int par1)
- {
- return par1;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/GlueBlock.java b/src/main/java/tconstruct/blocks/GlueBlock.java
deleted file mode 100644
index 94b425f8..00000000
--- a/src/main/java/tconstruct/blocks/GlueBlock.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.world.World;
-
-public class GlueBlock extends TConstructBlock {
-
- public GlueBlock(int id)
- {
- super(id, Material.ground, 4.0f, new String[]{"glue"});
- }
-
- @Override
- public void onEntityCollidedWithBlock (World world, int x, int y, int z, Entity entity)
- {
- entity.motionX *= 0.1;
- entity.motionZ *= 0.1;
-
- if (entity instanceof EntityLivingBase) {
- EntityLivingBase lvb = (EntityLivingBase)entity;
- // Well you'd feel ill too standing on glue...
- if (lvb.isPotionActive(Potion.hunger)) {
- lvb.getActivePotionEffect(Potion.hunger).duration = 20;
- } else {
- lvb.addPotionEffect(new PotionEffect(Potion.hunger.getId(), 20, 4));
- }
-
- // Glue is sticky stuff
- if (lvb.isPotionActive(Potion.moveSlowdown)) {
- lvb.getActivePotionEffect(Potion.moveSlowdown).duration = 30;
- } else {
- lvb.addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 30, 4));
- }
- }
- }
-
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World world, int x, int y, int z)
- {
- return Block.slowSand.getCollisionBoundingBoxFromPool(world, x, y, z);
- }
-
-}
diff --git a/src/main/java/tconstruct/blocks/GlueFluid.java b/src/main/java/tconstruct/blocks/GlueFluid.java
deleted file mode 100644
index f7ad3d8a..00000000
--- a/src/main/java/tconstruct/blocks/GlueFluid.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package tconstruct.blocks;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import net.minecraftforge.fluids.BlockFluidFinite;
-import net.minecraftforge.fluids.Fluid;
-
-public class GlueFluid extends BlockFluidFinite {
-
- Icon stillIcon;
- Icon flowIcon;
-
- public GlueFluid(int id, Fluid fluid, Material material)
- {
- super(id, fluid, material);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- stillIcon = iconRegister.registerIcon("tinker:liquid_glue");
- flowIcon = iconRegister.registerIcon("tinker:liquid_glue_flow");
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIcon (int side, int meta)
- {
- if (side == 0 || side == 1)
- return stillIcon;
- return flowIcon;
- }
-
- @Override
- public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) {
- entity.motionX *= 0.1;
- entity.motionZ *= 0.1;
-
- if (entity instanceof EntityLivingBase) {
- EntityLivingBase lvb = (EntityLivingBase)entity;
- // Well you'd feel ill too standing in glue...
- if (lvb.isPotionActive(Potion.hunger)) {
- lvb.getActivePotionEffect(Potion.hunger).duration = 20;
- } else {
- lvb.addPotionEffect(new PotionEffect(Potion.hunger.getId(), 20, 4));
- }
-
- // Glue is sticky stuff
- if (lvb.isPotionActive(Potion.moveSlowdown)) {
- lvb.getActivePotionEffect(Potion.moveSlowdown).duration = 30;
- } else {
- lvb.addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 30, 4));
- }
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/GolemCoreBlock.java b/src/main/java/tconstruct/blocks/GolemCoreBlock.java
deleted file mode 100644
index 26a0b956..00000000
--- a/src/main/java/tconstruct/blocks/GolemCoreBlock.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package tconstruct.blocks;
-
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.GolemCoreLogic;
-import tconstruct.client.block.GolemCoreRender;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.blocks.InventoryBlock;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-
-public class GolemCoreBlock extends InventoryBlock
-{
- public GolemCoreBlock(int id)
- {
- super(id, Material.rock);
- this.setCreativeTab(TConstructRegistry.blockTab);
- }
-
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- public int getRenderType ()
- {
- return GolemCoreRender.model;
- }
-
- @Override
- public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9)
- {
- if (!world.isRemote)
- {
- GolemCoreLogic logic = (GolemCoreLogic) world.getBlockTileEntity(x, y, z);
-
- if (!logic.isStackInSlot(0))
- {
- ItemStack stack = player.getCurrentEquippedItem();
- stack = player.inventory.decrStackSize(player.inventory.currentItem, 1);
- logic.setInventorySlotContents(0, stack);
- }
- else
- {
- ItemStack stack = logic.decrStackSize(0, 1);
- if (stack != null)
- addItemToInventory(player, world, x, y, z, stack);
- }
-
- world.markBlockForUpdate(x, y, z);
- }
- return true;
- }
-
- protected void addItemToInventory (EntityPlayer player, World world, int x, int y, int z, ItemStack stack)
- {
- if (!world.isRemote)
- {
- EntityItem entityitem = new EntityItem(world, (double) x + 0.5D, (double) y + 0.9325D, (double) z + 0.5D, stack);
- world.spawnEntityInWorld(entityitem);
- entityitem.onCollideWithPlayer(player);
- }
- }
-
- public int damageDropped (int meta)
- {
- return meta;
- }
-
- @Override
- public Icon getIcon (int side, int meta)
- {
- return icons[0];
- }
-
- @Override
- public boolean shouldSideBeRendered (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- return true;
- }
-
- @Override
- public TileEntity createTileEntity (World world, int metadata)
- {
- return new GolemCoreLogic();
- }
-
- @Override
- public Integer getGui (World world, int x, int y, int z, EntityPlayer entityplayer)
- {
- return null; //Not sure if gui block or not, probably not
- }
-
- @Override
- public Object getModInstance ()
- {
- return TConstruct.instance;
- }
-
- @Override
- public String[] getTextureNames ()
- {
- return new String[] { "golemcore" };
- }
-}
diff --git a/src/main/java/tconstruct/blocks/GolemHeadBlock.java b/src/main/java/tconstruct/blocks/GolemHeadBlock.java
deleted file mode 100644
index c56b1b41..00000000
--- a/src/main/java/tconstruct/blocks/GolemHeadBlock.java
+++ /dev/null
@@ -1,1015 +0,0 @@
-package tconstruct.blocks;
-
-import tconstruct.blocks.logic.GolemCoreLogic;
-import tconstruct.common.TContent;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-
-public class GolemHeadBlock extends Block
-{
- /*public static int headSideTex = ModLoader.addOverride("/terrain.png", "/GGE/golemheadside.png");
- public static int headTopTex = ModLoader.addOverride("/terrain.png", "/GGE/golemheadtop&bottom.png");
- public static int face;*/
-
- public GolemHeadBlock(int id)
- {
- super(id, Material.ground);
- //setTickRandomly(true);
- }
-
- public Icon[] icons;
- public String[] textureNames = new String[] { "golemhead_face", "golemhead_side", "golemhead_top" };
-
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:" + textureNames[i]);
- }
- }
-
- @Override
- public void onNeighborBlockChange (World world, int x, int y, int z, int blockID)
- {
- if (buildGolem(world, x, y, z, world.getBlockMetadata(x, y, z)))
- {
- //mod_Golems.trigger("headachievement");
- }
- }
-
- /*public int getIcon(int i, int j)
- {
- if (i == 1)
- {
- return headTopTex;
- }
- if (i == 0)
- {
- return headTopTex;
- }
- int k = face;
- if (j == 2 && i == 2)
- {
- return k;
- }
- if (j == 3 && i == 5)
- {
- return k;
- }
- if (j == 0 && i == 3)
- {
- return k;
- }
- if (j == 1 && i == 4)
- {
- return k;
- }
- else
- {
- return headSideTex;
- }
- }*/
-
- /*public int getBlockTextureFromSide(int i)
- {
- int j = face;
- if (i == 1)
- {
- return blockIndexInTexture;
- }
- if (i == 0)
- {
- return blockIndexInTexture;
- }
- if (i == 3)
- {
- return j;
- }
- else
- {
- return blockIndexInTexture + 16;
- }
- }*/
-
- @Override
- public void onBlockPlacedBy (World world, int i, int j, int k, EntityLivingBase entityliving, ItemStack par6ItemStack)
- {
- int l = MathHelper.floor_double((double) ((entityliving.rotationYaw * 4F) / 360F) + 2.5D) & 3;
- world.setBlockMetadataWithNotify(i, j, k, l, 3);
- if (!buildGolem(world, i, j, k, l))
- {
- for (int i1 = 0; (double) i1 < Math.random() * 5D + 3D; i1++)
- {
- world.spawnParticle("largesmoke", (double) i + Math.random(), (double) j + 1.2D + Math.random() / 2D, (double) k + Math.random(), 0.0D, 0.0D, 0.0D);
- }
- }
- /*else
- {
- mod_Golems.trigger("headachievement");
- }*/
- }
-
- private boolean idIsInvalid (int i)
- {
- //return Block.blocksList[i] != null && (!Block.blocksList[i].renderAsNormalBlock() && i != TContent.golemCore.blockID || i == 43 || i == 44 || i == Block.chest.blockID);
- return false;
- }
-
- private boolean buildGolem (World world, int x, int y, int z, int metadata)
- {
- /*int pedestalHeight = 0;
- for (int yPos = 1; yPos <= 3; yPos++)
- {
- if (world.getBlockId(x, y - yPos, z) == TContent.golemPedestal.blockID)
- {
- pedestalHeight = yPos;
- }
- }
-
- if (pedestalHeight == 0)
- {
- return false;
- }
- for (int height = pedestalHeight; height >= 0; height--)
- {
- if (world.getBlockId(x, y - height, z) == 0)
- {
- return false;
- }
- }
-
- int l1 = 0;
- int i2 = 0;
- ItemStack itemstack = null;
- GolemCoreLogic coreLogic = null;
- int golemBlockIDs[][] = new int[3][3];
- int golemBlockMetas[][] = new int[3][3];
- for (int arrX = 0; arrX < 3; arrX++)
- {
- for (int arrY = 0; arrY < 3; arrY++)
- {
- golemBlockIDs[arrX][arrY] = 0;
- }
- }
-
- for (int iterX = -1; iterX <= 1; iterX++)
- {
- for (int iterY = 0; iterY < 3; iterY++)
- {
- if (iterY + (3 - pedestalHeight) >= 3 || iterY + (3 - pedestalHeight) == 0 && iterX != 0)
- {
- continue;
- }
- if (metadata == 0)
- {
- int bID = world.getBlockId(x - iterX, y - iterY, z);
- if (idIsInvalid(bID))
- {
- bID = 0;
- return false;
- }
- if (bID == blockID)
- {
- i2++;
- }
- golemBlockIDs[iterX + 1][iterY + (3 - pedestalHeight)] = bID;
- golemBlockMetas[iterX + 1][iterY + (3 - pedestalHeight)] = bID == blockID ? 0 : world.getBlockMetadata(x - iterX, y - iterY, z);
- }
- if (metadata == 1)
- {
- int l3 = world.getBlockId(x, y - iterY, z - iterX);
- if (idIsInvalid(l3))
- {
- l3 = 0;
- return false;
- }
- if (l3 == blockID)
- {
- i2++;
- }
- golemBlockIDs[iterX + 1][iterY + (3 - pedestalHeight)] = l3;
- golemBlockMetas[iterX + 1][iterY + (3 - pedestalHeight)] = l3 == blockID ? 0 : world.getBlockMetadata(x, y - iterY, z - iterX);
- }
- if (metadata == 2)
- {
- int i4 = world.getBlockId(x + iterX, y - iterY, z);
- if (idIsInvalid(i4))
- {
- i4 = 0;
- return false;
- }
- if (i4 == blockID)
- {
- i2++;
- }
- golemBlockIDs[iterX + 1][iterY + (3 - pedestalHeight)] = i4;
- golemBlockMetas[iterX + 1][iterY + (3 - pedestalHeight)] = i4 == blockID ? 0 : world.getBlockMetadata(x + iterX, y - iterY, z);
- }
- if (metadata == 3)
- {
- int bID = world.getBlockId(x, y - iterY, z + iterX);
- if (idIsInvalid(bID))
- {
- bID = 0;
- return false;
- }
- if (bID == blockID)
- {
- i2++;
- }
- golemBlockIDs[iterX + 1][iterY + (3 - pedestalHeight)] = bID;
- golemBlockMetas[iterX + 1][iterY + (3 - pedestalHeight)] = bID == blockID ? 0 : world.getBlockMetadata(x, y - iterY, z + iterX);
- }
- if (i2 > 1)
- {
- return false;
- }
- if (golemBlockIDs[iterX + 1][iterY + (3 - pedestalHeight)] != 0 && Block.blocksList[golemBlockIDs[iterX + 1][iterY]] != null
- && !Block.blocksList[golemBlockIDs[iterX + 1][iterY]].renderAsNormalBlock() && (iterX + 1 == 0 || iterX + 1 == 2) && iterY == 2
- && golemBlockIDs[iterX + 1][iterY] != TContent.golemCore.blockID)
- {
- return false;
- }
- if (golemBlockIDs[iterX + 1][iterY + (3 - pedestalHeight)] == TContent.golemCore.blockID)
- {
- l1++;
- if (metadata == 0)
- {
- coreLogic = (GolemCoreLogic) world.getBlockTileEntity(x - iterX, y - iterY, z);
- }
- if (metadata == 1)
- {
- coreLogic = (GolemCoreLogic) world.getBlockTileEntity(x, y - iterY, z - iterX);
- }
- if (metadata == 2)
- {
- coreLogic = (GolemCoreLogic) world.getBlockTileEntity(x + iterX, y - iterY, z);
- }
- if (metadata == 3)
- {
- coreLogic = (GolemCoreLogic) world.getBlockTileEntity(x, y - iterY, z + iterX);
- }
- itemstack = coreLogic.getKey();
- }
- if (l1 > 1)
- {
- return false;
- }
- }
- }
-
- boolean flag = false;
- for (int j3 = 0; j3 < 3; j3++)
- {
- for (int k4 = 0; k4 < 3; k4++)
- {
- if (golemBlockIDs[k4][j3] == this.blockID)
- {
- flag = true;
- }
- }
- }
-
- if (!flag)
- {
- return false;
- }
- if (golemBlockIDs[0][2] != 0 && Block.blocksList[golemBlockIDs[0][2]].renderAsNormalBlock() || golemBlockIDs[2][2] != 0 && Block.blocksList[golemBlockIDs[2][2]].renderAsNormalBlock())
- {
- return false;
- }
- if (l1 > 0
- && (golemBlockIDs[0][0] == TContent.golemCore.blockID || golemBlockIDs[0][1] == TContent.golemCore.blockID || golemBlockIDs[2][0] == TContent.golemCore.blockID || golemBlockIDs[2][1] == TContent.golemCore.blockID))
- {
- return false;
- }
- TileEntity tileentity = world.getBlockTileEntity(x, y - pedestalHeight, z);
- if (!(tileentity instanceof TileEntityGolemPedestal))
- {
- return false;
- }
- TileEntityGolemPedestal tileentitygolempedestal = (TileEntityGolemPedestal) tileentity;
- if (tileentitygolempedestal.subtractSoul(l1 == 1 ? 8 : 1) && world.getBlockId(x, y - pedestalHeight, z) == TContent.golemPedestal.blockID)
- {
- EntityGenericGolem entitygenericgolem = new EntityGenericGolem(world);
- EntityPlayerSP entityplayersp = ModLoader.getMinecraftInstance().thePlayer;
- double d = ((EntityPlayer) (entityplayersp)).posX - (double) (float) ((double) x + 0.5D);
- double d1 = ((EntityPlayer) (entityplayersp)).posZ - (double) (float) ((double) z + 0.5D);
- entitygenericgolem.setBody(golemBlockIDs, golemBlockMetas, y, pedestalHeight);
- entitygenericgolem.setPositionAndRotation((double) x + 0.5D, (y - pedestalHeight) + 1, (double) z + 0.5D, (float) ((Math.atan2(d1, d) * 180D) / 3.1415927410125732D) - 90F, 0.0F);
- if (l1 > 0)
- {
- entitygenericgolem.setCore(itemstack);
- }
- if (coreLogic != null)
- {
- //((GolemCoreBlock) mod_Golems.golemCore).killDisplayItem(world, coreLogic.xCoord, coreLogic.yCoord, coreLogic.zCoord);
- //coreLogic.key = null;
- }
- if (!buildInterrupt(world, x, y, z, metadata, golemBlockIDs, golemBlockMetas, pedestalHeight, coreLogic != null, itemstack, coreLogic) && world.spawnEntityInWorld(entitygenericgolem))
- {
- delBlocks(world, x, y, z, metadata, golemBlockIDs, pedestalHeight);
- world.spawnParticle("hugeexplosion", (double) x + Math.random(), (double) y + 1.2D, (double) z + Math.random(), 0.0D, 0.0D, 0.0D);
- return true;
- }
- else
- {
- return false;
- }
- }
- else
- {
- return false;
- }*/
- return false;
- }
-
- public boolean buildInterrupt (World world, int i, int j, int k, int l, int ai[][], int ai1[][], int i1, boolean flag, ItemStack itemstack, GolemCoreLogic tileentitygolemcore)
- {
- /*EntityPlayerSP entityplayersp = ModLoader.getMinecraftInstance().thePlayer;
- double d = ((EntityPlayer) (entityplayersp)).posX - (double) (float) ((double) i + 0.5D);
- double d1 = ((EntityPlayer) (entityplayersp)).posZ - (double) (float) ((double) k + 0.5D);
- int j1 = world.difficultySetting;
- int k1 = 0;
- for (int l1 = 0; l1 < 3; l1++)
- {
- for (int i2 = 0; i2 < 3; i2++)
- {
- if (ai[l1][i2] != 0)
- {
- k1++;
- }
- }
- }
-
- boolean flag1 = ai[0][1] != 0 || ai[2][1] != 0;
- if (isAll(ai, ai1, Block.tnt.blockID, -1) || i1 == 3 && ai[1][1] == Block.tnt.blockID && ai[1][2] == Block.cloth.blockID && ai1[1][2] == 5 && !flag1 && j1 >= 1)
- {
- EntityCreeper entitycreeper = new EntityCreeper(world);
- entitycreeper.setPositionAndRotation((double) i + 0.5D, (j - i1) + 1, (double) k + 0.5D, (float) ((Math.atan2(d1, d) * 180D) / 3.1415927410125732D) - 90F, 0.0F);
- world.spawnEntityInWorld(entitycreeper);
- delBlocks(world, i, j, k, l, ai, i1);
- world.spawnParticle("hugeexplosion", (double) i + Math.random(), (double) j + 1.2D, (double) k + Math.random(), 0.0D, 0.0D, 0.0D);
- mod_Golems.trigger("creeper");
- return true;
- }
- if (isAll(ai, ai1, Block.netherrack.blockID, -1) && i1 == 3 && j1 >= 1)
- {
- EntityBlaze entityblaze = new EntityBlaze(world);
- entityblaze.setPositionAndRotation((double) i + 0.5D, (j - i1) + 1, (double) k + 0.5D, (float) ((Math.atan2(d1, d) * 180D) / 3.1415927410125732D) - 90F, 0.0F);
- world.spawnEntityInWorld(entityblaze);
- delBlocks(world, i, j, k, l, ai, i1);
- world.spawnParticle("hugeexplosion", (double) i + Math.random(), (double) j + 1.2D, (double) k + Math.random(), 0.0D, 0.0D, 0.0D);
- mod_Golems.trigger("blaze");
- return true;
- }
- if (isAll(ai, ai1, Block.obsidian.blockID, -1) && i1 == 3 && countBlock(ai, ai1, Block.obsidian.blockID, -1) == 2 && j1 >= 1)
- {
- EntityEnderman entityenderman = new EntityEnderman(world);
- entityenderman.setPositionAndRotation((double) i + 0.5D, (j - i1) + 1, (double) k + 0.5D, (float) ((Math.atan2(d1, d) * 180D) / 3.1415927410125732D) - 90F, 0.0F);
- world.spawnEntityInWorld(entityenderman);
- delBlocks(world, i, j, k, l, ai, i1);
- world.spawnParticle("hugeexplosion", (double) i + Math.random(), (double) j + 1.2D, (double) k + Math.random(), 0.0D, 0.0D, 0.0D);
- mod_Golems.trigger("enderman");
- return true;
- }
- if (hasBlock(ai, ai1, Block.tnt.blockID, -1) && hasBlock(ai, ai1, Block.netherrack.blockID, -1))
- {
- boolean flag2 = false;
- Entity aentity[][] = new Entity[3][3];
- for (int j2 = 0; j2 < 3; j2++)
- {
- for (int l2 = 0; l2 < 3; l2++)
- {
- aentity[j2][l2] = null;
- if (ai[j2][l2] == Block.tnt.blockID)
- {
- EntityTNTPrimed entitytntprimed = new EntityTNTPrimed(world);
- entitytntprimed.fuse = 80;
- aentity[j2][l2] = entitytntprimed;
- }
- }
- }
-
- replEntity(world, i, j, k, l, ai, aentity, i1);
- i1 = updateBody(ai, ai1);
- EntityGenericGolem entitygenericgolem = new EntityGenericGolem(world);
- entitygenericgolem.setBody(ai, ai1, l, i1);
- entitygenericgolem.setPositionAndRotation((double) i + 0.5D, (j - i1) + 1, (double) k + 0.5D, (float) ((Math.atan2(d1, d) * 180D) / 3.1415927410125732D) - 90F, 0.0F);
- if (flag)
- {
- entitygenericgolem.setCore(itemstack);
- }
- world.spawnEntityInWorld(entitygenericgolem);
- world.spawnParticle("hugeexplosion", (double) i + Math.random(), (double) j + 1.2D, (double) k + Math.random(), 0.0D, 0.0D, 0.0D);
- mod_Golems.trigger("boom");
- return true;
- }
- if (i1 == 3 && !flag1 && ai[1][2] == Block.blockIron.blockID && ai[1][1] == Block.blockIron.blockID)
- {
- List list = world.getEntitiesWithinAABB(EntityLiving.class, AxisAlignedBB.getAABBPool().getAABB(i, j, k, (double) i + 1.0D, (double) j + 1.0D, (double) k + 1.0D).expand(4D, 16D, 4D));
- Entity entity;
- for (Iterator iterator = list.iterator(); iterator.hasNext(); world.addWeatherEffect(new EntityLightningBolt(world, entity.posX, entity.posY, entity.posZ)))
- {
- Object obj = iterator.next();
- entity = (Entity) obj;
- }
-
- mod_Golems.trigger("zap");
- }
- else
- {
- if (isAll(ai, ai1, Block.cloth.blockID, 0) && countBlock(ai, ai1, Block.cloth.blockID, 0) == 4)
- {
- EntitySheep entitysheep = new EntitySheep(world);
- entitysheep.setPositionAndRotation((double) i + 0.5D, (j - i1) + 1, (double) k + 0.5D, (float) ((Math.atan2(d1, d) * 180D) / 3.1415927410125732D) - 90F, 0.0F);
- world.spawnEntityInWorld(entitysheep);
- delBlocks(world, i, j, k, l, ai, i1);
- world.spawnParticle("hugeexplosion", (double) i + Math.random(), (double) j + 1.2D, (double) k + Math.random(), 0.0D, 0.0D, 0.0D);
- mod_Golems.trigger("sheep");
- return true;
- }
- if (countBlock(ai, ai1, Block.furnaceIdle.blockID, -1) >= (int) (Math.random() * 2D + 2D))
- {
- ItemStack aitemstack[][] = new ItemStack[3][3];
- aitemstack[0][1] = new ItemStack(Block.lavaMoving, 1);
- aitemstack[2][1] = new ItemStack(Block.lavaMoving, 1);
- aitemstack[1][0] = new ItemStack(Block.lavaMoving, 1);
- aitemstack[1][1] = new ItemStack(Block.lavaMoving, 1);
- aitemstack[1][2] = new ItemStack(Block.lavaMoving, 1);
- replBlocks(world, i, j, k, l, ai, aitemstack, i1);
- mod_Golems.trigger("meltdown");
- return true;
- }
- if (hasBlock(ai, ai1, Block.stoneBrick.blockID, -1) && Math.random() <= 0.40000000000000002D)
- {
- boolean flag3 = false;
- Entity aentity1[][] = new Entity[3][3];
- for (int k2 = 0; k2 < 3; k2++)
- {
- for (int i3 = 0; i3 < 3; i3++)
- {
- aentity1[k2][i3] = null;
- if (ai[k2][i3] == Block.stoneBrick.blockID)
- {
- aentity1[k2][i3] = Math.random() <= 0.59999999999999998D ? ((Entity) (new EntitySilverfish(world))) : null;
- }
- }
- }
-
- replEntity(world, i, j, k, l, ai, aentity1, i1);
- i1 = updateBody(ai, ai1);
- EntityGenericGolem entitygenericgolem1 = new EntityGenericGolem(world);
- entitygenericgolem1.setBody(ai, ai1, l, i1);
- entitygenericgolem1.setPositionAndRotation((double) i + 0.5D, (j - i1) + 1, (double) k + 0.5D, (float) ((Math.atan2(d1, d) * 180D) / 3.1415927410125732D) - 90F, 0.0F);
- if (flag)
- {
- entitygenericgolem1.setCore(itemstack);
- }
- world.spawnEntityInWorld(entitygenericgolem1);
- world.spawnParticle("hugeexplosion", (double) i + Math.random(), (double) j + 1.2D, (double) k + Math.random(), 0.0D, 0.0D, 0.0D);
- mod_Golems.trigger("silverfish");
- return true;
- }
- if (countBlock(ai, ai1, Block.melon.blockID, -1) == 4)
- {
- delBlocks(world, i, j, k, l, ai, i1);
- EntityGSpawn entitygspawn = new EntityGSpawn(world);
- entitygspawn.setPosition(i, j, k);
- entitygspawn.skin = "http://s3.amazonaws.com/MinecraftSkins/loligator704.png";
- world.spawnEntityInWorld(entitygspawn);
- mod_Golems.trigger("loligator");
- world.spawnParticle("hugeexplosion", (double) i + Math.random(), (double) j + 1.2D, (double) k + Math.random(), 0.0D, 0.0D, 0.0D);
- return true;
- }
- if (countBlock(ai, ai1, Block.cloth.blockID, 13) == 3 && ai[1][1] == Block.cloth.blockID && ai1[1][1] == 0)
- {
- delBlocks(world, i, j, k, l, ai, i1);
- EntityGSpawn entitygspawn1 = new EntityGSpawn(world);
- entitygspawn1.setPosition(i, j, k);
- entitygspawn1.skin = "http://s3.amazonaws.com/MinecraftSkins/coalheartly.png";
- world.spawnEntityInWorld(entitygspawn1);
- mod_Golems.trigger("bitterman");
- world.spawnParticle("hugeexplosion", (double) i + Math.random(), (double) j + 1.2D, (double) k + Math.random(), 0.0D, 0.0D, 0.0D);
- return true;
- }
- if (countBlock(ai, ai1, Block.cloth.blockID, 11) == 3 && ai[1][1] == Block.blockLapis.blockID)
- {
- delBlocks(world, i, j, k, l, ai, i1);
- EntityGSpawn entitygspawn2 = new EntityGSpawn(world);
- entitygspawn2.setPosition(i, j, k);
- entitygspawn2.skin = "http://s3.amazonaws.com/MinecraftSkins/BILLYTG101.png";
- world.spawnEntityInWorld(entitygspawn2);
- mod_Golems.trigger("yourstruly");
- return true;
- }
- if (countBlock(ai, ai1, Block.cloth.blockID, 12) == 2 && ai[1][1] == Block.blockGold.blockID && ai[1][2] == Block.cloth.blockID && ai1[1][2] == 0)
- {
- delBlocks(world, i, j, k, l, ai, i1);
- EntityGSpawn entitygspawn3 = new EntityGSpawn(world);
- entitygspawn3.setPosition(i, j, k);
- entitygspawn3.skin = "http://s3.amazonaws.com/MinecraftSkins/Notch.png";
- world.spawnEntityInWorld(entitygspawn3);
- mod_Golems.trigger("king");
- world.spawnParticle("hugeexplosion", (double) i + Math.random(), (double) j + 1.2D, (double) k + Math.random(), 0.0D, 0.0D, 0.0D);
- return true;
- }
-
- if (isAll(ai, ai1, Block.blockClay.blockID, -1) && i1 == 3 && countBlock(ai, ai1, Block.blockClay.blockID, -1) == 2 && j1 >= 1)
- {
- EntityZombie entityzombie = new EntityZombie(world);
- entityzombie.setPositionAndRotation((double) i + 0.5D, (j - i1) + 1, (double) k + 0.5D, (float) ((Math.atan2(d1, d) * 180D) / 3.1415927410125732D) - 90F, 0.0F);
- world.spawnEntityInWorld(entityzombie);
- delBlocks(world, i, j, k, l, ai, i1);
- world.spawnParticle("hugeexplosion", (double) i + Math.random(), (double) j + 1.2D, (double) k + Math.random(), 0.0D, 0.0D, 0.0D);
- mod_Golems.trigger("zombie");
- return true;
- }
- }*/
- return false;
- }
-
- private void delBlocks (World world, int i, int j, int k, int l, int ai[][], int i1)
- {
- for (int j1 = -1; j1 <= 1; j1++)
- {
- for (int k1 = 0; k1 < i1; k1++)
- {
- if (k1 == 0 && j1 != 0 || ai[j1 + 1][(k1 - i1) + 3] == 0)
- {
- continue;
- }
- if (l == 0)
- {
- world.setBlock(i - j1, j - k1, k, 0);
- }
- if (l == 1)
- {
- world.setBlock(i, j - k1, k - j1, 0);
- }
- if (l == 2)
- {
- world.setBlock(i + j1, j - k1, k, 0);
- }
- if (l == 3)
- {
- world.setBlock(i, j - k1, k + j1, 0);
- }
- }
- }
-
- if (i1 == 2 && (ai[0][1] != 0 || ai[2][1] != 0))
- {
- if (l == 0)
- {
- if (ai[0][1] != 0)
- {
- world.setBlock(i + 1, j, k, 0);
- }
- if (ai[2][1] != 0)
- {
- world.setBlock(i - 1, j, k, 0);
- }
- }
- if (l == 1)
- {
- if (ai[0][1] != 0)
- {
- world.setBlock(i, j, k + 1, 0);
- }
- if (ai[2][1] != 0)
- {
- world.setBlock(i, j, k - 1, 0);
- }
- }
- if (l == 2)
- {
- if (ai[0][1] != 0)
- {
- world.setBlock(i - 1, j, k, 0);
- }
- if (ai[2][1] != 0)
- {
- world.setBlock(i + 1, j, k, 0);
- }
- }
- if (l == 3)
- {
- if (ai[0][1] != 0)
- {
- world.setBlock(i, j, k - 1, 0);
- }
- if (ai[2][1] != 0)
- {
- world.setBlock(i, j, k + 1, 0);
- }
- }
- }
- }
-
- private boolean hasBlock (int ai[][], int ai1[][], int i, int j)
- {
- for (int k = 0; k < 3; k++)
- {
- for (int l = 0; l < 3; l++)
- {
- if (ai[k][l] == i && (ai1[k][l] == j || j == -1))
- {
- return true;
- }
- }
- }
-
- return false;
- }
-
- private void replBlocks (World world, int i, int j, int k, int l, int ai[][], ItemStack aitemstack[][], int i1)
- {
- for (int j1 = -1; j1 <= 1; j1++)
- {
- for (int k1 = 0; k1 < i1; k1++)
- {
- if (aitemstack[j1 + 1][(k1 - i1) + 3] == null)
- {
- aitemstack[j1 + 1][(k1 - i1) + 3] = new ItemStack(0, 0, 0);
- }
- if (k1 == 0 && j1 != 0 || ai[j1 + 1][(k1 - i1) + 3] == 0)
- {
- continue;
- }
- if (l == 0)
- {
- world.setBlock(i - j1, j - k1, k, aitemstack[j1 + 1][(k1 - i1) + 3].itemID, aitemstack[j1 + 1][(k1 - i1) + 3].getItemDamage(), 3);
- }
- if (l == 1)
- {
- world.setBlock(i, j - k1, k - j1, aitemstack[j1 + 1][(k1 - i1) + 3].itemID, aitemstack[j1 + 1][(k1 - i1) + 3].getItemDamage(), 3);
- }
- if (l == 2)
- {
- world.setBlock(i + j1, j - k1, k, aitemstack[j1 + 1][(k1 - i1) + 3].itemID, aitemstack[j1 + 1][(k1 - i1) + 3].getItemDamage(), 3);
- }
- if (l == 3)
- {
- world.setBlock(i, j - k1, k + j1, aitemstack[j1 + 1][(k1 - i1) + 3].itemID, aitemstack[j1 + 1][(k1 - i1) + 3].getItemDamage(), 3);
- }
- }
- }
-
- if (i1 == 2 && (ai[0][1] != 0 || ai[2][1] != 0))
- {
- if (l == 0)
- {
- if (ai[0][1] != 0)
- {
- world.setBlock(i + 1, j, k, aitemstack[0][1].itemID, aitemstack[0][1].getItemDamage(), 3);
- }
- if (ai[2][1] != 0)
- {
- world.setBlock(i - 1, j, k, aitemstack[2][1].itemID, aitemstack[2][1].getItemDamage(), 3);
- }
- }
- if (l == 1)
- {
- if (ai[0][1] != 0)
- {
- world.setBlock(i, j, k + 1, aitemstack[0][1].itemID, aitemstack[0][1].getItemDamage(), 3);
- }
- if (ai[2][1] != 0)
- {
- world.setBlock(i, j, k - 1, aitemstack[2][1].itemID, aitemstack[2][1].getItemDamage(), 3);
- }
- }
- if (l == 2)
- {
- if (ai[0][1] != 0)
- {
- world.setBlock(i - 1, j, k, aitemstack[0][1].itemID, aitemstack[0][1].getItemDamage(), 3);
- }
- if (ai[2][1] != 0)
- {
- world.setBlock(i + 1, j, k, aitemstack[2][1].itemID, aitemstack[2][1].getItemDamage(), 3);
- }
- }
- if (l == 3)
- {
- if (ai[0][1] != 0)
- {
- world.setBlock(i, j, k - 1, aitemstack[0][1].itemID, aitemstack[0][1].getItemDamage(), 3);
- }
- if (ai[2][1] != 0)
- {
- world.setBlock(i, j, k + 1, aitemstack[2][1].itemID, aitemstack[2][1].getItemDamage(), 3);
- }
- }
- }
- }
-
- private void replEntity (World world, int i, int j, int k, int l, int ai[][], Entity aentity[][], int i1)
- {
- for (int j1 = -1; j1 <= 1; j1++)
- {
- for (int k1 = 0; k1 < i1; k1++)
- {
- if (k1 == 0 && j1 != 0)
- {
- continue;
- }
- Entity entity8 = aentity[j1 + 1][(k1 - i1) + 3];
- if (ai[j1 + 1][(k1 - i1) + 3] == 0)
- {
- if (entity8 != null)
- {
- entity8.setDead();
- }
- continue;
- }
- if (l == 0)
- {
- world.setBlock(i - j1, j - k1, k, 0);
- if (entity8 != null)
- {
- entity8.setPosition(((float) i - (float) j1) + 0.5F, ((float) j - (float) k1) + 0.5F, (float) k + 0.5F);
- world.spawnEntityInWorld(entity8);
- ai[j1 + 1][(k1 - i1) + 3] = 0;
- }
- }
- if (l == 1)
- {
- world.setBlock(i, j - k1, k - j1, 0);
- if (entity8 != null)
- {
- entity8.setPosition(((float) i - (float) j1) + 0.5F, ((float) j - (float) k1) + 0.5F, (float) k + 0.5F);
- world.spawnEntityInWorld(entity8);
- ai[j1 + 1][(k1 - i1) + 3] = 0;
- }
- }
- if (l == 2)
- {
- world.setBlock(i + j1, j - k1, k, 0);
- if (entity8 != null)
- {
- entity8.setPosition(((float) i - (float) j1) + 0.5F, ((float) j - (float) k1) + 0.5F, (float) k + 0.5F);
- world.spawnEntityInWorld(entity8);
- ai[j1 + 1][(k1 - i1) + 3] = 0;
- }
- }
- if (l != 3)
- {
- continue;
- }
- world.setBlock(i, j - k1, k + j1, 0);
- if (entity8 != null)
- {
- entity8.setPosition(((float) i - (float) j1) + 0.5F, ((float) j - (float) k1) + 0.5F, (float) k + 0.5F);
- world.spawnEntityInWorld(entity8);
- ai[j1 + 1][(k1 - i1) + 3] = 0;
- }
- }
- }
-
- if (i1 == 2 && (ai[0][1] != 0 || ai[2][1] != 0))
- {
- Object obj = null;
- if (l == 0)
- {
- if (ai[0][1] != 0)
- {
- world.setBlock(i + 1, j, k, 0);
- Entity entity;
- if ((entity = aentity[0][1]) != null)
- {
- entity.setPosition((float) i + 1.0F + 0.5F, (float) j + 0.5F, (float) k + 0.5F);
- world.spawnEntityInWorld(aentity[0][1]);
- ai[2][1] = 0;
- }
- }
- else if (aentity[0][1] != null)
- {
- aentity[0][1].setDead();
- }
- if (ai[2][1] != 0)
- {
- world.setBlock(i - 1, j, k, 0);
- Entity entity1;
- if ((entity1 = aentity[2][1]) != null)
- {
- entity1.setPosition(((float) i - 1.0F) + 0.5F, (float) j + 0.5F, (float) k + 0.5F);
- world.spawnEntityInWorld(aentity[2][1]);
- ai[2][1] = 0;
- }
- }
- else if (aentity[2][1] != null)
- {
- aentity[2][1].setDead();
- }
- }
- if (l == 1)
- {
- if (ai[0][1] != 0)
- {
- world.setBlock(i, j, k + 1, 0);
- Entity entity2;
- if ((entity2 = aentity[0][1]) != null)
- {
- entity2.setPosition((float) i + 0.5F, (float) j + 0.5F, (float) k + 1.0F + 0.5F);
- world.spawnEntityInWorld(aentity[0][1]);
- ai[2][1] = 0;
- }
- }
- else if (aentity[0][1] != null)
- {
- aentity[0][1].setDead();
- }
- if (ai[2][1] != 0)
- {
- world.setBlock(i, j, k - 1, 0);
- Entity entity3;
- if ((entity3 = aentity[2][1]) != null)
- {
- entity3.setPosition((float) i + 0.5F, (float) j + 0.5F, ((float) k - 1.0F) + 0.5F);
- world.spawnEntityInWorld(aentity[2][1]);
- ai[2][1] = 0;
- }
- }
- else if (aentity[2][1] != null)
- {
- aentity[2][1].setDead();
- }
- }
- if (l == 2)
- {
- if (ai[0][1] != 0)
- {
- world.setBlock(i - 1, j, k, 0);
- Entity entity4;
- if ((entity4 = aentity[0][1]) != null)
- {
- entity4.setPosition(((float) i - 1.0F) + 0.5F, (float) j + 0.5F, (float) k + 0.5F);
- world.spawnEntityInWorld(aentity[0][1]);
- ai[2][1] = 0;
- }
- }
- else if (aentity[0][1] != null)
- {
- aentity[0][1].setDead();
- }
- if (ai[2][1] != 0)
- {
- world.setBlock(i + 1, j, k, 0);
- Entity entity5;
- if ((entity5 = aentity[2][1]) != null)
- {
- entity5.setPosition((float) i + 1.0F + 0.5F, (float) j + 0.5F, (float) k + 0.5F);
- world.spawnEntityInWorld(aentity[2][1]);
- ai[2][1] = 0;
- }
- }
- else if (aentity[2][1] != null)
- {
- aentity[2][1].setDead();
- }
- }
- if (l == 3)
- {
- if (ai[0][1] != 0)
- {
- world.setBlock(i, j, k - 1, 0);
- Entity entity6;
- if ((entity6 = aentity[0][1]) != null)
- {
- entity6.setPosition((float) i + 0.5F, (float) j + 0.5F, (float) k + 1.0F + 0.5F);
- world.spawnEntityInWorld(aentity[0][1]);
- }
- }
- else if (aentity[0][1] != null)
- {
- aentity[0][1].setDead();
- }
- if (ai[2][1] != 0)
- {
- world.setBlock(i, j, k + 1, 0);
- Entity entity7;
- if ((entity7 = aentity[2][1]) != null)
- {
- entity7.setPosition((float) i + 0.5F, (float) j + 0.5F, (float) k + 1.0F + 0.5F);
- world.spawnEntityInWorld(aentity[2][1]);
- }
- }
- else if (aentity[2][1] != null)
- {
- aentity[2][1].setDead();
- }
- }
- }
- }
-
- private int updateBody (int ai[][], int ai1[][])
- {
- for (int i = 0; ai[1][2] == 0 && i < 3;)
- {
- i++;
- for (int i1 = 0; i1 < 3; i1++)
- {
- int j2 = ai[i1][0];
- int l2 = ai[i1][1];
- ai[i1][0] = ai[i1][2];
- ai[i1][1] = j2;
- ai[i1][2] = l2;
- }
-
- int j1 = 0;
- while (j1 < 3)
- {
- int k2 = ai1[j1][0];
- int i3 = ai1[j1][1];
- ai1[j1][0] = ai1[j1][2];
- ai1[j1][1] = k2;
- ai1[j1][2] = i3;
- j1++;
- }
- }
-
- if (ai[1][1] == 0)
- {
- for (int j = 0; j < 3; j++)
- {
- int k1 = ai[j][0];
- ai[j][0] = ai[j][1];
- ai[j][1] = k1;
- }
-
- for (int k = 0; k < 3; k++)
- {
- int l1 = ai1[k][0];
- ai1[k][0] = ai1[k][1];
- ai1[k][1] = l1;
- }
- }
- int l = 0;
- for (int i2 = 0; i2 < 3; i2++)
- {
- if (ai[1][i2] != 0)
- {
- l = 3 - i2;
- }
- }
-
- if (l == 1)
- {
- ai[0][1] = 0;
- ai[2][1] = 0;
- ai1[0][1] = 0;
- ai1[2][1] = 0;
- }
- return 0;
- }
-
- private boolean isAll (int ai[][], int ai1[][], int i, int j)
- {
- boolean flag = false;
- for (int k = 0; k < 3; k++)
- {
- for (int l = 0; l < 3; l++)
- {
- if (ai[k][l] != i && ai[k][l] != 0 && ai[k][l] != this.blockID && (ai1[k][l] != j || j == -1))
- {
- return false;
- }
- if (ai[k][l] == i && (ai1[k][l] == j || j == -1))
- {
- flag = true;
- }
- }
- }
-
- return flag;
- }
-
- private int countBlock (int ai[][], int ai1[][], int i, int j)
- {
- int k = 0;
- for (int l = 0; l < 3; l++)
- {
- for (int i1 = 0; i1 < 3; i1++)
- {
- if (ai[l][i1] == i && (ai1[l][i1] == j || j == -1))
- {
- k++;
- }
- }
- }
-
- return k;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/GolemPedestalBlock.java b/src/main/java/tconstruct/blocks/GolemPedestalBlock.java
deleted file mode 100644
index a2d6b2c6..00000000
--- a/src/main/java/tconstruct/blocks/GolemPedestalBlock.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.Random;
-
-import tconstruct.blocks.logic.GolemPedestalLogic;
-import tconstruct.library.blocks.InventoryBlock;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-
-public class GolemPedestalBlock extends InventoryBlock
-{
- /*public static int texTop;
- public static int texTopp;
- public static int texSide;
- public static int texBottom;*/
-
- public GolemPedestalBlock(int i)
- {
- super(i, Material.wood);
- /*texTop = ModLoader.addOverride("/terrain.png", "/GGE/pedestaltop.png");
- texTopp = ModLoader.addOverride("/terrain.png", "/GGE/pedestaltopp.png");
- texSide = ModLoader.addOverride("/terrain.png", "/GGE/pedestalside.png");
- texBottom = ModLoader.addOverride("/terrain.png", "/GGE/pedestalbottom.png");*/
- }
-
- /*public int getIcon(int i, int j)
- {
- if (i == 1)
- {
- return j == 0 ? texTop : texTopp;
- }
- if (i == 0)
- {
- return texBottom;
- }
- if (i == 2 || i == 4)
- {
- return texSide;
- }
- else
- {
- return texSide;
- }
- }*/
-
- /*public int idDropped(int i, Random random, int j)
- {
- return super.idDropped(i, random, j);
- }*/
-
- /*public void onBlockPlacedBy(World world, int i, int j, int k, EntityLiving entityliving)
- {
- super.onBlockPlacedBy(world, i, j, k, entityliving);
- ItemStack itemstack = ((EntityPlayer)entityliving).getCurrentEquippedItem();
- world.setBlockMetadata(i, j, k, itemstack.getItemDamage());
- }*/
-
- public void onBlockRemoval (World world, int i, int j, int k)
- {
- Random random = new Random();
- GolemPedestalLogic tileentitygolempedestal = (GolemPedestalLogic) world.getBlockTileEntity(i, j, k);
- if (tileentitygolempedestal != null)
- {
- label0: for (int l = 0; l < tileentitygolempedestal.getSizeInventory(); l++)
- {
- ItemStack itemstack = tileentitygolempedestal.getStackInSlot(l);
- if (itemstack == null)
- {
- continue;
- }
- float f = random.nextFloat() * 0.8F + 0.1F;
- float f1 = random.nextFloat() * 0.8F + 0.1F;
- float f2 = random.nextFloat() * 0.8F + 0.1F;
- do
- {
- if (itemstack.stackSize <= 0)
- {
- continue label0;
- }
- int i1 = random.nextInt(21) + 10;
- if (i1 > itemstack.stackSize)
- {
- i1 = itemstack.stackSize;
- }
- itemstack.stackSize -= i1;
- EntityItem entityitem = new EntityItem(world, (float) i + f, (float) j + f1, (float) k + f2, new ItemStack(itemstack.itemID, i1, itemstack.getItemDamage()));
- float f3 = 0.05F;
- entityitem.motionX = (float) random.nextGaussian() * f3;
- entityitem.motionY = (float) random.nextGaussian() * f3 + 0.2F;
- entityitem.motionZ = (float) random.nextGaussian() * f3;
- world.spawnEntityInWorld(entityitem);
- } while (true);
- }
- }
- //super.onBlockRemoval(world, i, j, k);
- }
-
- public boolean blockActivated (World world, int i, int j, int k, EntityPlayer entityplayer)
- {
- /*ItemStack itemstack = entityplayer.getCurrentEquippedItem();
- if (world.isRemote)
- {
- return true;
- }
- if (itemstack == null || itemstack != null && (itemstack.itemID >= 256 || itemstack.itemID == 0 || itemstack.itemID == Block.slowSand.blockID))
- {
- ModLoader.openGUI(entityplayer, new GuiGolemPedestal(entityplayer.inventory, world, i, j, k));
- return true;
- }
- else
- {
- return false;
- }*/
- return false;
- }
-
- @Override
- public TileEntity createTileEntity (World world, int metadata)
- {
- return new GolemPedestalLogic();
- }
-
- @Override
- public Integer getGui (World world, int x, int y, int z, EntityPlayer entityplayer)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Object getModInstance ()
- {
- return null;
- }
-
- @Override
- public String[] getTextureNames ()
- {
- return null;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/GravelOre.java b/src/main/java/tconstruct/blocks/GravelOre.java
deleted file mode 100644
index dae64425..00000000
--- a/src/main/java/tconstruct/blocks/GravelOre.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-import java.util.Random;
-
-import tconstruct.library.TConstructRegistry;
-
-import net.minecraft.block.BlockSand;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-
-public class GravelOre extends BlockSand
-{
- public String[] textureNames = new String[] { "iron", "gold", "copper", "tin", "aluminum", "cobalt" };
- public Icon[] icons;
-
- public GravelOre(int id)
- {
- super(id, Material.craftedSnow);
- this.setCreativeTab(TConstructRegistry.blockTab);
- this.setStepSound(soundGravelFootstep);
- }
-
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:ore_" + textureNames[i] + "_gravel");
- }
- }
-
- @Override
- public Icon getIcon (int side, int meta)
- {
- return icons[meta];
- }
-
- public float getBlockHardness (World world, int x, int y, int z)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta == 5)
- return 10f;
- else
- return 3f;
- }
-
- @Override
- public int damageDropped (int meta)
- {
- /*if (meta == 1)
- return 0;*/
- return meta;
- }
-
- public int idDropped (int par1, Random par2Random, int par3)
- {
- /*if (par1 == 1)
- return Item.goldNugget.itemID;*/
- return this.blockID;
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < 6; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/LavaTankBlock.java b/src/main/java/tconstruct/blocks/LavaTankBlock.java
deleted file mode 100644
index 4664b7d1..00000000
--- a/src/main/java/tconstruct/blocks/LavaTankBlock.java
+++ /dev/null
@@ -1,318 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.fluids.FluidContainerRegistry;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTankInfo;
-import tconstruct.blocks.logic.LavaTankLogic;
-import tconstruct.client.block.TankRender;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.util.IServantLogic;
-
-public class LavaTankBlock extends BlockContainer
-{
- public Icon[] icons;
- String texturePrefix = "";
-
- public LavaTankBlock(int id)
- {
- super(id, Material.rock);
- setHardness(3F);
- setResistance(20F);
- setCreativeTab(TConstructRegistry.blockTab);
- setUnlocalizedName("TConstruct.LavaTank");
- setStepSound(Block.soundGlassFootstep);
- }
-
- public LavaTankBlock(int id, String prefix)
- {
- this(id);
- texturePrefix = prefix;
- }
-
- public String[] getTextureNames ()
- {
- String[] textureNames = { "lavatank_side", "lavatank_top", "searedgague_top", "searedgague_side", "searedgague_bottom", "searedwindow_top", "searedwindow_side", "searedwindow_bottom" };
-
- if (!texturePrefix.equals(""))
- for (int i = 0; i < textureNames.length; i++)
- textureNames[i] = texturePrefix+"_"+textureNames[i];
-
- return textureNames;
- }
-
- public void registerIcons (IconRegister iconRegister)
- {
- String[] textureNames = getTextureNames();
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:" + textureNames[i]);
- }
- }
-
- @Override
- public int getRenderBlockPass ()
- {
- return 1;
- }
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- public boolean shouldSideBeRendered (IBlockAccess world, int x, int y, int z, int side)
- {
- //if (side == 0 && world.getBlockMetadata(x, y, z) == 0)
- //return super.shouldSideBeRendered(world, x, y, z, side);
- int bID = world.getBlockId(x, y, z);
- return bID == this.blockID ? false : super.shouldSideBeRendered(world, x, y, z, side);
- //return true;
- }
-
- @Override
- public int getLightValue (IBlockAccess world, int x, int y, int z)
- {
- TileEntity logic = world.getBlockTileEntity(x, y, z);
- if (logic != null && logic instanceof LavaTankLogic)
- return ((LavaTankLogic) logic).getBrightness();
- return 0;
- }
-
- /*@Override
- public int getRenderBlockPass()
- {
- return 1;
- }*/
-
- @Override
- public int getRenderType ()
- {
- return TankRender.tankModelID;
- }
-
- public Icon getIcon (int side, int meta)
- {
- if (meta >= 3)
- meta = 0;
- if (meta == 0)
- {
- if (side == 0 || side == 1)
- {
- return icons[1];
- }
- else
- {
- return icons[0];
- }
- }
- else
- {
- return icons[meta * 3 + getTextureIndex(side) - 1];
- }
- }
-
- public int getTextureIndex (int side)
- {
- if (side == 0)
- return 2;
- if (side == 1)
- return 0;
-
- return 1;
- }
-
- @Override
- public TileEntity createTileEntity (World world, int metadata)
- {
- return new LavaTankLogic();
- }
-
- @Override
- public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int side, float clickX, float clickY, float clickZ)
- {
- ItemStack heldItem = player.inventory.getCurrentItem();
- if (heldItem != null)
- {
- FluidStack liquid = FluidContainerRegistry.getFluidForFilledItem(player.getCurrentEquippedItem());
- LavaTankLogic logic = (LavaTankLogic) world.getBlockTileEntity(x, y, z);
- if (liquid != null)
- {
- int amount = logic.fill(ForgeDirection.UNKNOWN, liquid, false);
- if (amount == liquid.amount)
- {
- logic.fill(ForgeDirection.UNKNOWN, liquid, true);
- if (!player.capabilities.isCreativeMode)
- player.inventory.setInventorySlotContents(player.inventory.currentItem, consumeItem(heldItem));
- return true;
- }
- else
- return true;
- }
- else if (FluidContainerRegistry.isBucket(heldItem))
- {
- FluidTankInfo[] tanks = logic.getTankInfo(ForgeDirection.UNKNOWN);
- FluidStack fillFluid = tanks[0].fluid;//getFluid();
- ItemStack fillStack = FluidContainerRegistry.fillFluidContainer(fillFluid, heldItem);
- if (fillStack != null)
- {
- logic.drain(ForgeDirection.UNKNOWN, FluidContainerRegistry.getFluidForFilledItem(fillStack).amount, true);
- if (!player.capabilities.isCreativeMode)
- {
- if (heldItem.stackSize == 1)
- {
- player.inventory.setInventorySlotContents(player.inventory.currentItem, fillStack);
- }
- else
- {
- player.inventory.setInventorySlotContents(player.inventory.currentItem, consumeItem(heldItem));
-
- if (!player.inventory.addItemStackToInventory(fillStack))
- {
- player.dropPlayerItem(fillStack);
- }
- }
- }
- return true;
- }
- else
- {
- return true;
- }
- }
- }
-
- return false;
- }
-
- public static ItemStack consumeItem (ItemStack stack)
- {
- if (stack.stackSize == 1)
- {
- if (stack.getItem().hasContainerItem())
- return stack.getItem().getContainerItemStack(stack);
- else
- return null;
- }
- else
- {
- stack.splitStack(1);
-
- return stack;
- }
- }
-
- @Override
- public TileEntity createNewTileEntity (World world)
- {
- return createTileEntity(world, 0);
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < 3; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-
- /* Data */
- public int damageDropped (int meta)
- {
- return meta;
- }
-
- /* Updates */
- public void onNeighborBlockChange (World world, int x, int y, int z, int nBlockID)
- {
- TileEntity logic = world.getBlockTileEntity(x, y, z);
- if (logic instanceof IServantLogic)
- {
- ((IServantLogic) logic).notifyMasterOfChange();
- }
- }
-
- @Override
- public boolean removeBlockByPlayer (World world, EntityPlayer player, int x, int y, int z)
- {
- player.addExhaustion(0.025F);
- int meta = world.getBlockMetadata(x, y, z);
- ItemStack stack = new ItemStack(this.blockID, 1, meta);
- LavaTankLogic logic = (LavaTankLogic) world.getBlockTileEntity(x, y, z);
- FluidStack liquid = logic.tank.getFluid();
- if (liquid != null)
- {
- NBTTagCompound tag = new NBTTagCompound();
- NBTTagCompound liquidTag = new NBTTagCompound();
- liquid.writeToNBT(liquidTag);
- tag.setCompoundTag("Fluid", liquidTag);
- stack.setTagCompound(tag);
- }
- if (!player.capabilities.isCreativeMode || player.isSneaking())
- dropTankBlock(world, x, y, z, stack);
-
- return world.setBlockToAir(x, y, z);
- }
-
- protected void dropTankBlock (World world, int x, int y, int z, ItemStack stack)
- {
- if (!world.isRemote && world.getGameRules().getGameRuleBooleanValue("doTileDrops"))
- {
- float f = 0.7F;
- double d0 = (double) (world.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D;
- double d1 = (double) (world.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D;
- double d2 = (double) (world.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D;
- EntityItem entityitem = new EntityItem(world, (double) x + d0, (double) y + d1, (double) z + d2, stack);
- entityitem.delayBeforeCanPickup = 10;
- world.spawnEntityInWorld(entityitem);
- }
- }
-
- public void harvestBlock (World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6)
- {
-
- }
-
- @Override
- public void onBlockPlacedBy (World world, int x, int y, int z, EntityLivingBase living, ItemStack stack)
- {
- if (stack.hasTagCompound())
- {
- NBTTagCompound liquidTag = stack.getTagCompound().getCompoundTag("Fluid");
- if (liquidTag != null)
- {
- FluidStack liquid = FluidStack.loadFluidStackFromNBT(liquidTag);
- LavaTankLogic logic = (LavaTankLogic) world.getBlockTileEntity(x, y, z);
- logic.tank.setFluid(liquid);
- }
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/LiquidMetalFinite.java b/src/main/java/tconstruct/blocks/LiquidMetalFinite.java
deleted file mode 100644
index 9419400c..00000000
--- a/src/main/java/tconstruct/blocks/LiquidMetalFinite.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.util.DamageSource;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import net.minecraftforge.fluids.BlockFluidFinite;
-import net.minecraftforge.fluids.Fluid;
-import tconstruct.common.TContent;
-import tconstruct.library.TConstructRegistry;
-
-public class LiquidMetalFinite extends BlockFluidFinite
-{
- String texture;
- public Icon stillIcon;
- public Icon flowIcon;
-
- public LiquidMetalFinite(int id, Fluid fluid, String texture)
- {
- super(id, fluid, TContent.liquidMetal);
- this.texture = texture;
- this.setCreativeTab(TConstructRegistry.blockTab);
- }
-
- @Override
- public int getRenderBlockPass ()
- {
- return 0;
- }
-
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- stillIcon = iconRegister.registerIcon("tinker:" + texture);
- flowIcon = iconRegister.registerIcon("tinker:" + texture + "_flow");
- }
-
- @Override
- public Icon getIcon (int side, int meta)
- {
- if (side == 0 || side == 1)
- return stillIcon;
- return flowIcon;
- }
-
- @Override
- public void onEntityCollidedWithBlock (World par1World, int x, int y, int z, Entity entity)
- {
- if (entity instanceof EntityLivingBase)
- {
- entity.motionX *= 0.4D;
- entity.motionZ *= 0.4D;
- }
- if (!(entity instanceof EntityItem) && !entity.isImmuneToFire())
- {
- entity.attackEntityFrom(DamageSource.lava, 4);
- entity.setFire(15);
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/MeatBlock.java b/src/main/java/tconstruct/blocks/MeatBlock.java
deleted file mode 100644
index 40112c4f..00000000
--- a/src/main/java/tconstruct/blocks/MeatBlock.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import tconstruct.library.TConstructRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class MeatBlock extends Block
-{
- public Icon[] icons;
- public String[] textureNames = new String[] { "ham_skin", "ham_bone" };
-
- public MeatBlock(int id)
- {
- super(id, Material.sponge);
- this.setHardness(1.0F);
- this.setStepSound(Block.soundWoodFootstep);
- //setBurnProperties(this.blockID, 5, 20);
- this.setCreativeTab(TConstructRegistry.blockTab);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIcon (int side, int metadata)
- {
- int tex = (metadata % 4) * 2;
- int orientation = metadata / 4;
-
- switch (orientation)
- //Ends of logs
- {
- case 0:
- if (side == 0 || side == 1)
- return icons[tex + 1];
- break;
- case 1:
- if (side == 4 || side == 5)
- return icons[tex + 1];
- break;
- case 2:
- if (side == 2 || side == 3)
- return icons[tex + 1];
- break;
- }
-
- return icons[tex];
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:" + textureNames[i]);
- }
- }
-
- public int idDropped (int par1, Random par2Random, int par3)
- {
- return this.blockID;
- }
-
- /**
- * ejects contained items into the world, and notifies neighbours of an update, as appropriate
- */
- public void breakBlock (World par1World, int par2, int par3, int par4, int par5, int par6)
- {
- byte b0 = 4;
- int j1 = b0 + 1;
-
- if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1))
- {
- for (int k1 = -b0; k1 <= b0; ++k1)
- {
- for (int l1 = -b0; l1 <= b0; ++l1)
- {
- for (int i2 = -b0; i2 <= b0; ++i2)
- {
- int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2);
-
- if (Block.blocksList[j2] != null)
- {
- Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2);
- }
- }
- }
- }
- }
- }
-
- /**
- * Called when a block is placed using its ItemBlock. Args: World, X, Y, Z, side, hitX, hitY, hitZ, block metadata
- */
- public int onBlockPlaced (World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9)
- {
- int j1 = par9 & 3;
- byte b0 = 0;
-
- switch (par5)
- {
- case 0:
- case 1:
- b0 = 0;
- break;
- case 2:
- case 3:
- b0 = 8;
- break;
- case 4:
- case 5:
- b0 = 4;
- }
-
- return j1 | b0;
- }
-
- /**
- * Determines the damage on the item the block drops. Used in cloth and wood.
- */
- public int damageDropped (int par1)
- {
- return par1 & 3;
- }
-
- /**
- * returns a number between 0 and 3
- */
- public static int limitToValidMetadata (int par0)
- {
- return par0 & 3;
- }
-
- protected ItemStack createStackedBlock (int par1)
- {
- return new ItemStack(this.blockID, 1, limitToValidMetadata(par1));
- }
-
- public boolean isBlockReplaceable (World world, int x, int y, int z)
- {
- return false;
- }
-
- /*public void onBlockHarvested (World world, int x, int y, int z, int meta, EntityPlayer player)
- {
- if (meta % 4 == 1)
- {
- if (world.difficultySetting > 2)
- world.createExplosion(null, x, y, z, 1.75f, false);
- else
- world.createExplosion(null, x, y, z, 2f, false);
- }
- }*/
-
- @SideOnly(Side.CLIENT)
- @Override
- public void getSubBlocks (int par1, CreativeTabs par2CreativeTabs, List par3List)
- {
- for (int i = 0; i < icons.length / 2; i++)
- par3List.add(new ItemStack(par1, 1, i));
- }
-
- @Override
- public boolean canSustainLeaves (World world, int x, int y, int z)
- {
- return true;
- }
-
- @Override
- public boolean isWood (World world, int x, int y, int z)
- {
- return true;
- }
-
- public boolean isBeaconBase (World worldObj, int x, int y, int z, int beaconX, int beaconY, int beaconZ)
- {
- return true;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/MetalOre.java b/src/main/java/tconstruct/blocks/MetalOre.java
deleted file mode 100644
index 42f3009d..00000000
--- a/src/main/java/tconstruct/blocks/MetalOre.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-
-public class MetalOre extends TConstructBlock
-{
- public MetalOre(int id, Material material, float hardness, String[] tex)
- {
- super(id, material, hardness, tex);
- }
-
- public float getBlockHardness (World world, int x, int y, int z)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta <= 2)
- return 10f;
- else
- return 3f;
- //return this.blockHardness;
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 1; iter < 6; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/MultiBrick.java b/src/main/java/tconstruct/blocks/MultiBrick.java
deleted file mode 100644
index 92c9494c..00000000
--- a/src/main/java/tconstruct/blocks/MultiBrick.java
+++ /dev/null
@@ -1,159 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class MultiBrick extends TConstructBlock
-{
- static String blockTextures[] = { "brick_obsidian", "brick_sandstone", "brick_netherrack", "brick_stone_refined", "brick_iron", "brick_gold", "brick_lapis", "brick_diamond", "brick_redstone",
- "brick_bone", "brick_slime", "brick_blueslime", "brick_endstone", "brick_obsidian_ingot" };
-
- public MultiBrick(int id)
- {
- super(id, Material.rock, 3f, blockTextures);
- }
-
- @Override
- public float getBlockHardness (World world, int x, int y, int z)
- {
- int meta = world.getBlockMetadata(x, y, z);
- switch (meta)
- {
- case 0:
- return Block.obsidian.getBlockHardness(world, x, y, z);
- case 1:
- return Block.sandStone.getBlockHardness(world, x, y, z);
- case 2:
- return Block.netherrack.getBlockHardness(world, x, y, z);
- case 3:
- return Block.stone.getBlockHardness(world, x, y, z);
- case 4:
- return Block.blockIron.getBlockHardness(world, x, y, z);
- case 5:
- return Block.blockGold.getBlockHardness(world, x, y, z);
- case 6:
- return Block.blockLapis.getBlockHardness(world, x, y, z);
- case 7:
- return Block.blockDiamond.getBlockHardness(world, x, y, z);
- case 8:
- return Block.blockRedstone.getBlockHardness(world, x, y, z);
- case 9:
- return 1.0F;
- case 10:
- return 1.5F;
- case 11:
- return 1.5F;
- case 12:
- return Block.whiteStone.getBlockHardness(world, x, y, z);
- case 13:
- return Block.obsidian.getBlockHardness(world, x, y, z);
- default:
- return blockHardness;
- }
- }
-
- public float getExplosionResistance (Entity entity, World world, int x, int y, int z, double explosionX, double explosionY, double explosionZ)
- {
- int meta = world.getBlockMetadata(x, y, z);
- switch (meta)
- {
- case 0:
- return Block.obsidian.getExplosionResistance(entity);
- case 1:
- return Block.sandStone.getExplosionResistance(entity);
- case 2:
- return Block.netherrack.getExplosionResistance(entity);
- case 3:
- return Block.stone.getExplosionResistance(entity);
- case 4:
- return Block.blockIron.getExplosionResistance(entity);
- case 5:
- return Block.blockGold.getExplosionResistance(entity);
- case 6:
- return Block.blockLapis.getExplosionResistance(entity);
- case 7:
- return Block.blockDiamond.getExplosionResistance(entity);
- case 8:
- return Block.blockRedstone.getExplosionResistance(entity);
- case 9:
- return 1.0F;
- case 10:
- return 1.5F;
- case 11:
- return 1.5F;
- case 12:
- return Block.whiteStone.getExplosionResistance(entity);
- case 13:
- return Block.obsidian.getExplosionResistance(entity);
- default:
- return getExplosionResistance(entity);
- }
- }
-
- @Override
- public void onEntityCollidedWithBlock (World world, int x, int y, int z, Entity entity)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta == 10 || meta == 11)
- {
- if (entity.motionY < 0)
- entity.motionY *= -1.2F;
- entity.fallDistance = 0;
- }
- }
-
- @Override
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World world, int x, int y, int z)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta == 10 || meta == 11)
- return AxisAlignedBB.getBoundingBox(x, y, z, (double) x + 1.0D, (double) y + 0.625D, (double) z + 1.0D);
- return super.getCollisionBoundingBoxFromPool(world, x, y, z);
- }
-
- /*@Override
- public int getRenderType ()
- {
- return BrickRender.model;
- }*/
-
- @Override
- public boolean isBlockNormalCube (World world, int x, int y, int z)
- {
- return world.getBlockMetadata(x, y, z) != 8;
- }
-
- @Override
- public boolean canProvidePower ()
- {
- return true;
- }
-
- @Override
- public int isProvidingWeakPower (IBlockAccess world, int x, int y, int z, int side)
- {
- if (world.getBlockMetadata(x, y, z) == 8)
- return 4;
- return 0;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:bricks/" + textureNames[i]);
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/MultiBrickFancy.java b/src/main/java/tconstruct/blocks/MultiBrickFancy.java
deleted file mode 100644
index a8ed4084..00000000
--- a/src/main/java/tconstruct/blocks/MultiBrickFancy.java
+++ /dev/null
@@ -1,164 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class MultiBrickFancy extends TConstructBlock
-{
- static String blockTextures[] = { "fancybrick_obsidian", "fancybrick_sandstone", "fancybrick_netherrack", "fancybrick_stone_refined", "fancybrick_iron", "fancybrick_gold", "fancybrick_lapis",
- "fancybrick_diamond", "fancybrick_redstone", "fancybrick_bone", "fancybrick_slime", "fancybrick_blueslime", "fancybrick_endstone", "fancybrick_obsidian_ingot", "fancybrick_stone",
- "road_stone" };
-
- public MultiBrickFancy(int id)
- {
- super(id, Material.rock, 3f, blockTextures);
- }
-
- @Override
- public float getBlockHardness (World world, int x, int y, int z)
- {
- int meta = world.getBlockMetadata(x, y, z);
- switch (meta)
- {
- case 0:
- return Block.obsidian.getBlockHardness(world, x, y, z);
- case 1:
- return Block.sandStone.getBlockHardness(world, x, y, z);
- case 2:
- return Block.netherrack.getBlockHardness(world, x, y, z);
- case 4:
- return Block.blockIron.getBlockHardness(world, x, y, z);
- case 5:
- return Block.blockGold.getBlockHardness(world, x, y, z);
- case 6:
- return Block.blockLapis.getBlockHardness(world, x, y, z);
- case 7:
- return Block.blockDiamond.getBlockHardness(world, x, y, z);
- case 8:
- return Block.blockRedstone.getBlockHardness(world, x, y, z);
- case 9:
- return 1.0F;
- case 10:
- return 1.5F;
- case 11:
- return 1.5F;
- case 12:
- return Block.whiteStone.getBlockHardness(world, x, y, z);
- case 13:
- return Block.obsidian.getBlockHardness(world, x, y, z);
- case 3:
- case 14:
- case 15:
- return Block.stone.getBlockHardness(world, x, y, z);
- default:
- return blockHardness;
- }
- }
-
- public float getExplosionResistance (Entity entity, World world, int x, int y, int z, double explosionX, double explosionY, double explosionZ)
- {
- int meta = world.getBlockMetadata(x, y, z);
- switch (meta)
- {
- case 0:
- return Block.obsidian.getExplosionResistance(entity);
- case 1:
- return Block.sandStone.getExplosionResistance(entity);
- case 2:
- return Block.netherrack.getExplosionResistance(entity);
- case 4:
- return Block.blockIron.getExplosionResistance(entity);
- case 5:
- return Block.blockGold.getExplosionResistance(entity);
- case 6:
- return Block.blockLapis.getExplosionResistance(entity);
- case 7:
- return Block.blockDiamond.getExplosionResistance(entity);
- case 8:
- return Block.blockRedstone.getExplosionResistance(entity);
- case 9:
- return 1.0F;
- case 10:
- return 1.5F;
- case 11:
- return 1.5F;
- case 12:
- return Block.whiteStone.getExplosionResistance(entity);
- case 13:
- return Block.obsidian.getExplosionResistance(entity);
- case 3:
- case 14:
- case 15:
- return Block.stone.getExplosionResistance(entity);
- default:
- return getExplosionResistance(entity);
- }
- }
-
- @Override
- public void onEntityCollidedWithBlock (World world, int x, int y, int z, Entity entity)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta == 10 || meta == 11)
- {
- if (entity.motionY < 0)
- entity.motionY *= -1.2F;
- entity.fallDistance = 0;
- }
- }
-
- @Override
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World world, int x, int y, int z)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta == 10 || meta == 11)
- return AxisAlignedBB.getBoundingBox(x, y, z, (double) x + 1.0D, (double) y + 0.625D, (double) z + 1.0D);
- return super.getCollisionBoundingBoxFromPool(world, x, y, z);
- }
-
- /*@Override
- public int getRenderType ()
- {
- return BrickRender.model;
- }*/
-
- @Override
- public boolean isBlockNormalCube (World world, int x, int y, int z)
- {
- return world.getBlockMetadata(x, y, z) != 8;
- }
-
- @Override
- public boolean canProvidePower ()
- {
- return false;
- }
-
- @Override
- public int isProvidingWeakPower (IBlockAccess world, int x, int y, int z, int side)
- {
- if (world.getBlockMetadata(x, y, z) == 8)
- return 4;
- return 0;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:bricks/" + textureNames[i]);
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/OreberryBush.java b/src/main/java/tconstruct/blocks/OreberryBush.java
deleted file mode 100644
index 68b1f64e..00000000
--- a/src/main/java/tconstruct/blocks/OreberryBush.java
+++ /dev/null
@@ -1,350 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-import java.util.Random;
-
-import tconstruct.client.block.OreberryRender;
-import tconstruct.common.TContent;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.tools.AbilityHelper;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockLeavesBase;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.DamageSource;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import net.minecraftforge.common.EnumPlantType;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.common.IPlantable;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class OreberryBush extends BlockLeavesBase implements IPlantable
-{
- Random random;
- public Icon[] fastIcons;
- public Icon[] fancyIcons;
- public String[] textureNames;
- public String[] oreTypes;
- public int itemMeat;
- private int subitems;
-
- public OreberryBush(int id, String[] textureNames, int meta, int sub, String[] oreTypes)
- {
- super(id, Material.leaves, false);
- this.textureNames = textureNames;
- this.itemMeat = meta;
- this.subitems = sub;
- this.oreTypes = oreTypes;
- this.setTickRandomly(true);
- random = new Random();
- this.setHardness(0.3F);
- this.setStepSound(Block.soundMetalFootstep);
- this.setCreativeTab(TConstructRegistry.blockTab);
- }
-
- /* Berries show up at meta 12-15 */
-
- @SideOnly(Side.CLIENT)
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- this.fastIcons = new Icon[textureNames.length];
- this.fancyIcons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.fastIcons.length; i++)
- {
- if (textureNames[i] != "")
- {
- this.fastIcons[i] = iconRegister.registerIcon("tinker:crops/" + textureNames[i] + "_fast");
- this.fancyIcons[i] = iconRegister.registerIcon("tinker:crops/" + textureNames[i] + "_fancy");
- }
- }
- }
-
- @Override
- public Icon getIcon (int side, int metadata)
- {
- if (graphicsLevel)
- {
- if (metadata < 12)
- {
- return fancyIcons[metadata % 4];
- }
- else
- {
- return fancyIcons[metadata % 4 + 4];
- }
- }
- else
- {
- if (metadata < 12)
- {
- return fastIcons[metadata % 4];
- }
- else
- {
- return fastIcons[metadata % 4 + 4];
- }
- }
- }
-
- /* Bushes are stored by size then type */
- @Override
- public int damageDropped (int metadata)
- {
- return metadata % 4;
- }
-
- /* The following methods define a berry bush's size depending on metadata */
- @Override
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World world, int x, int y, int z)
- {
- int l = world.getBlockMetadata(x, y, z);
- if (l < 4)
- {
- return AxisAlignedBB.getBoundingBox((double) x + 0.25D, y, (double) z + 0.25D, (double) x + 0.75D, (double) y + 0.5D, (double) z + 0.75D);
- }
- else if (l < 8)
- {
- return AxisAlignedBB.getBoundingBox((double) x + 0.125D, y, (double) z + 0.125D, (double) x + 0.875D, (double) y + 0.75D, (double) z + 0.875D);
- }
- else
- {
- return AxisAlignedBB.getBoundingBox(x + 0.0625, y, z + 0.0625, (double) x + 0.9375D, (double) y + 0.9375D, (double) z + 0.9375D);
- }
- }
-
- public AxisAlignedBB getSelectedBoundingBoxFromPool (World world, int x, int y, int z)
- {
- int l = world.getBlockMetadata(x, y, z);
- if (l < 4)
- {
- return AxisAlignedBB.getBoundingBox((double) x + 0.25D, y, (double) z + 0.25D, (double) x + 0.75D, (double) y + 0.5D, (double) z + 0.75D);
- }
- else if (l < 8)
- {
- return AxisAlignedBB.getBoundingBox((double) x + 0.125D, y, (double) z + 0.125D, (double) x + 0.875D, (double) y + 0.75D, (double) z + 0.875D);
- }
- else
- {
- return AxisAlignedBB.getBoundingBox(x, y, z, (double) x + 1.0D, (double) y + 1.0D, (double) z + 1.0D);
- }
- }
-
- @Override
- public void setBlockBoundsBasedOnState (IBlockAccess iblockaccess, int x, int y, int z)
- {
- int md = iblockaccess.getBlockMetadata(x, y, z);
-
- float minX;
- float minY = 0F;
- float minZ;
- float maxX;
- float maxY;
- float maxZ;
-
- if (md < 4)
- {
- minX = minZ = 0.25F;
- maxX = maxZ = 0.75F;
- maxY = 0.5F;
- }
- else
-
- if (md < 8)
- {
- minX = minZ = 0.125F;
- maxX = maxZ = 0.875F;
- maxY = 0.75F;
- }
-
- else
- {
- minX = minZ = 0.0F;
- maxX = maxZ = 1.0F;
- maxY = 1.0F;
- }
- setBlockBounds(minX, minY, minZ, maxX, maxY, maxZ);
- }
-
- /* Left-click harvests berries */
- @Override
- public void onBlockClicked (World world, int x, int y, int z, EntityPlayer player)
- {
- if (!world.isRemote)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta >= 12)
- {
- world.setBlock(x, y, z, blockID, meta - 4, 3);
- AbilityHelper.spawnItemAtPlayer(player, new ItemStack(TContent.oreBerries, 1, meta % 4 + itemMeat));
- }
- }
- }
-
- /* Right-click harvests berries */
- @Override
- public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9)
- {
- /*if (world.isRemote)
- return false;*/
-
- int meta = world.getBlockMetadata(x, y, z);
- if (meta >= 12)
- {
- if (world.isRemote)
- return true;
-
- world.setBlock(x, y, z, blockID, meta - 4, 3);
- AbilityHelper.spawnItemAtPlayer(player, new ItemStack(TContent.oreBerries, random.nextInt(3) + 1, meta % 4 + itemMeat));
- return true;
- }
-
- return false;
- }
-
- /* Render logic */
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- public void setGraphicsLevel (boolean flag)
- {
- graphicsLevel = flag;
- }
-
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- public int getRenderType ()
- {
- return OreberryRender.model;
- }
-
- public boolean shouldSideBeRendered (IBlockAccess iblockaccess, int x, int y, int z, int meta)
- {
- if (meta > 7 || graphicsLevel)
- {
- return super.shouldSideBeRendered(iblockaccess, x, y, z, meta);
- }
- else
- {
- return true;
- }
- }
-
- /* Bush growth */
-
- @Override
- public void updateTick (World world, int x, int y, int z, Random random1)
- {
- if (world.isRemote)
- {
- return;
- }
-
- if (random1.nextInt(20) == 0)// && world.getBlockLightValue(x, y, z) <= 8)
- {
- if (world.getFullBlockLightValue(x, y, z) < 10)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta < 12)
- {
- world.setBlock(x, y, z, blockID, meta + 4, 3);
- }
- }
- /*else if (meta < 8)
- {
- world.setBlock(x, y, z, blockID, meta + 4, 3);
- }*/
- }
- }
-
- public boolean canSustainPlant (World world, int x, int y, int z, ForgeDirection direction, IPlantable plant)
- {
- if (plant instanceof OreberryBush)
- return (world.getBlockMetadata(x, y, z) > 7);
- return super.canSustainPlant(world, x, y, z, direction, plant);
- }
-
- public boolean canPlaceBlockAt (World world, int x, int y, int z)
- {
- if (world.getFullBlockLightValue(x, y, z) < 13)
- return super.canPlaceBlockAt(world, x, y, z);
- return false;
- }
-
- /* Resistance to fire */
-
- @Override
- public int getFlammability (IBlockAccess world, int x, int y, int z, int metadata, ForgeDirection face)
- {
- return 0;
- }
-
- @Override
- public boolean isFlammable (IBlockAccess world, int x, int y, int z, int metadata, ForgeDirection face)
- {
- return false;
- }
-
- @Override
- public int getFireSpreadSpeed (World world, int x, int y, int z, int metadata, ForgeDirection face)
- {
- return 0;
- }
-
- /**
- * returns a list of items with the same ID, but different meta (eg: dye returns 16 items)
- */
- @SideOnly(Side.CLIENT)
- @Override
- public void getSubBlocks (int par1, CreativeTabs par2CreativeTabs, List par3List)
- {
- for (int var4 = 8; var4 < 8 + subitems; ++var4)
- {
- par3List.add(new ItemStack(par1, 1, var4));
- }
- }
-
- @Override
- public EnumPlantType getPlantType (World world, int x, int y, int z)
- {
- return EnumPlantType.Cave;
- }
-
- @Override
- public int getPlantID (World world, int x, int y, int z)
- {
- return this.blockID;
- }
-
- @Override
- public int getPlantMetadata (World world, int x, int y, int z)
- {
- return world.getBlockMetadata(x, y, z) - 4;
- }
-
- @Override
- public void onEntityCollidedWithBlock (World world, int x, int y, int z, Entity entity)
- {
- if (!(entity instanceof EntityItem))
- entity.attackEntityFrom(DamageSource.cactus, 1);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/OreberryBushEssence.java b/src/main/java/tconstruct/blocks/OreberryBushEssence.java
deleted file mode 100644
index 8c08583d..00000000
--- a/src/main/java/tconstruct/blocks/OreberryBushEssence.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.Random;
-
-import net.minecraft.world.World;
-import net.minecraftforge.common.IPlantable;
-
-public class OreberryBushEssence extends OreberryBush implements IPlantable
-{
- public OreberryBushEssence(int id, String[] textureNames, int meta, int sub, String[] oreTypes)
- {
- super(id, textureNames, meta, sub, oreTypes);
- }
-
- /* Bush growth */
-
- @Override
- public void updateTick (World world, int x, int y, int z, Random random1)
- {
- if (world.isRemote)
- {
- return;
- }
-
- if (random1.nextInt(20) == 0)// && world.getBlockLightValue(x, y, z) <= 8)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (world.getFullBlockLightValue(x, y, z) < 10 || meta % 4 == 1)
- {
- if (meta < 12)
- {
- world.setBlock(x, y, z, blockID, meta + 4, 3);
- }
- }
- /*else if (meta < 8)
- {
- world.setBlock(x, y, z, blockID, meta + 4, 3);
- }*/
- }
- }
-
- public boolean canPlaceBlockAt (World world, int x, int y, int z)
- {
- return true;
- /*if (world.getFullBlockLightValue(x, y, z) < 13)
- return super.canPlaceBlockAt(world, x, y, z);
- return false;*/
- }
-}
diff --git a/src/main/java/tconstruct/blocks/PaneBase.java b/src/main/java/tconstruct/blocks/PaneBase.java
deleted file mode 100644
index 2d79c44a..00000000
--- a/src/main/java/tconstruct/blocks/PaneBase.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import tconstruct.client.block.PaneRender;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockPane;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class PaneBase extends Block
-{
- public String[] textureNames;
- public String folder;
- public Icon[] icons;
- public Icon[] sideIcons;
-
- public PaneBase(int id, Material material, String folder, String[] blockTextures)
- {
- super(id, material);
- textureNames = blockTextures;
- this.folder = folder;
- }
-
- public boolean canConnectTo (int blockID)
- {
- Block block = Block.blocksList[blockID];
- return Block.opaqueCubeLookup[blockID] || block instanceof PaneBase || block instanceof BlockPane || blockID == Block.glass.blockID;
- }
-
- public Icon getSideTextureIndex (int meta)
- {
- return sideIcons[meta];
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
- this.sideIcons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:" + folder + textureNames[i]);
- this.sideIcons[i] = iconRegister.registerIcon("tinker:" + folder + textureNames[i] + "_side");
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIcon (int side, int meta)
- {
- return icons[meta];
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < textureNames.length; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- public int getRenderType ()
- {
- return PaneRender.model;
- }
-
- public boolean shouldSideBeRendered (IBlockAccess iblockaccess, int i, int j, int k, int l)
- {
- int bID = iblockaccess.getBlockId(i, j, k);
- if (Block.blocksList[bID] instanceof PaneBase || Block.blocksList[bID] instanceof BlockPane)
- {
- return false;
- }
- else
- {
- return super.shouldSideBeRendered(iblockaccess, i, j, k, l);
- }
- }
-
- @Override
- public void addCollisionBoxesToList (World world, int x, int y, int z, AxisAlignedBB axisalignedbb, List arraylist, Entity entity)
- {
- boolean south = canConnectTo(world.getBlockId(x, y, z - 1));
- boolean north = canConnectTo(world.getBlockId(x, y, z + 1));
- boolean east = canConnectTo(world.getBlockId(x - 1, y, z));
- boolean west = canConnectTo(world.getBlockId(x + 1, y, z));
- if (east && west || !east && !west && !south && !north)
- {
- setBlockBounds(0.0F, 0.0F, 0.4375F, 1.0F, 1.0F, 0.5625F);
- super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity);
- }
- else if (east && !west)
- {
- setBlockBounds(0.0F, 0.0F, 0.4375F, 0.5F, 1.0F, 0.5625F);
- super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity);
- }
- else if (!east && west)
- {
- setBlockBounds(0.5F, 0.0F, 0.4375F, 1.0F, 1.0F, 0.5625F);
- super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity);
- }
- if (south && north || !east && !west && !south && !north)
- {
- setBlockBounds(0.4375F, 0.0F, 0.0F, 0.5625F, 1.0F, 1.0F);
- super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity);
- }
- else if (south && !north)
- {
- setBlockBounds(0.4375F, 0.0F, 0.0F, 0.5625F, 1.0F, 0.5F);
- super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity);
- }
- else if (!south && north)
- {
- setBlockBounds(0.4375F, 0.0F, 0.5F, 0.5625F, 1.0F, 1.0F);
- super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity);
- }
- }
-
- public void setBlockBoundsForItemRender ()
- {
- setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
- }
-
- public void setBlockBoundsBasedOnState (IBlockAccess iblockaccess, int i, int j, int k)
- {
- float f = 0.4375F;
- float f1 = 0.5625F;
- float f2 = 0.4375F;
- float f3 = 0.5625F;
- boolean flag = canConnectTo(iblockaccess.getBlockId(i, j, k - 1));
- boolean flag1 = canConnectTo(iblockaccess.getBlockId(i, j, k + 1));
- boolean flag2 = canConnectTo(iblockaccess.getBlockId(i - 1, j, k));
- boolean flag3 = canConnectTo(iblockaccess.getBlockId(i + 1, j, k));
- if (flag2 && flag3 || !flag2 && !flag3 && !flag && !flag1)
- {
- f = 0.0F;
- f1 = 1.0F;
- }
- else if (flag2 && !flag3)
- {
- f = 0.0F;
- }
- else if (!flag2 && flag3)
- {
- f1 = 1.0F;
- }
- if (flag && flag1 || !flag2 && !flag3 && !flag && !flag1)
- {
- f2 = 0.0F;
- f3 = 1.0F;
- }
- else if (flag && !flag1)
- {
- f2 = 0.0F;
- }
- else if (!flag && flag1)
- {
- f3 = 1.0F;
- }
- setBlockBounds(f, 0.0F, f2, f1, 1.0F, f3);
- }
-
-}
diff --git a/src/main/java/tconstruct/blocks/SearedBlock.java b/src/main/java/tconstruct/blocks/SearedBlock.java
deleted file mode 100644
index 630c0507..00000000
--- a/src/main/java/tconstruct/blocks/SearedBlock.java
+++ /dev/null
@@ -1,351 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.CastingBasinLogic;
-import tconstruct.blocks.logic.CastingTableLogic;
-import tconstruct.blocks.logic.FaucetLogic;
-import tconstruct.client.block.SearedRender;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.blocks.InventoryBlock;
-import tconstruct.library.tools.AbilityHelper;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-
-public class SearedBlock extends InventoryBlock
-{
-
- public SearedBlock(int id)
- {
- super(id, Material.rock);
- this.setCreativeTab(TConstructRegistry.blockTab);
- setHardness(3F);
- setResistance(20F);
- setStepSound(soundMetalFootstep);
- }
-
- public SearedBlock(int id, String texture)
- {
- this(id);
- this.texturePrefix = texture;
- }
-
- @Override
- public TileEntity createTileEntity (World world, int metadata)
- {
- switch (metadata)
- {
- case 0:
- return new CastingTableLogic();
- case 1:
- return new FaucetLogic();
- case 2:
- return new CastingBasinLogic();
- default:
- return null;
- }
- }
-
- @Override
- public int getRenderBlockPass ()
- {
- return 1;
- }
-
- @Override
- public Integer getGui (World world, int x, int y, int z, EntityPlayer entityplayer)
- {
- return null;
- }
-
- @Override
- public Object getModInstance ()
- {
- return TConstruct.instance;
- }
-
- /* Activation */
- @Override
- public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int side, float clickX, float clickY, float clickZ)
- {
- int md = world.getBlockMetadata(x, y, z);
- if (md == 0)
- {
- return activateCastingTable(world, x, y, z, player);
- }
- if (md == 2)
- {
- return activateCastingBasin(world, x, y, z, player);
- }
- else if (md == 1)
- {
- if (player.isSneaking())
- return false;
-
- FaucetLogic logic = (FaucetLogic) world.getBlockTileEntity(x, y, z);
- logic.setActive(true);
- return true;
- }
- else
- return super.onBlockActivated(world, x, y, z, player, side, clickX, clickY, clickZ);
- }
-
- boolean activateCastingTable (World world, int x, int y, int z, EntityPlayer player)
- {
- if (!world.isRemote)
- {
- CastingTableLogic logic = (CastingTableLogic) world.getBlockTileEntity(x, y, z);
- if (logic.liquid != null)
- return true;
-
- if (!logic.isStackInSlot(0) && !logic.isStackInSlot(1))
- {
- ItemStack stack = player.getCurrentEquippedItem();
- stack = player.inventory.decrStackSize(player.inventory.currentItem, 1);
- logic.setInventorySlotContents(0, stack);
- }
- else
- {
- if (logic.isStackInSlot(1))
- {
- ItemStack stack = logic.decrStackSize(1, 1);
- if (stack != null)
- addItemToInventory(player, world, x, y, z, stack);
- }
- else if (logic.isStackInSlot(0))
- {
- ItemStack stack = logic.decrStackSize(0, 1);
- if (stack != null)
- addItemToInventory(player, world, x, y, z, stack);
- }
- }
-
- world.markBlockForUpdate(x, y, z);
- }
- return true;
- }
-
- boolean activateCastingBasin (World world, int x, int y, int z, EntityPlayer player)
- {
- if (!world.isRemote)
- {
- CastingBasinLogic logic = (CastingBasinLogic) world.getBlockTileEntity(x, y, z);
- if (logic.liquid != null)
- return true;
-
- if (!logic.isStackInSlot(0) && !logic.isStackInSlot(1))
- {
- ItemStack stack = player.getCurrentEquippedItem();
- stack = player.inventory.decrStackSize(player.inventory.currentItem, 1);
- logic.setInventorySlotContents(0, stack);
- }
- else
- {
- if (logic.isStackInSlot(1))
- {
- ItemStack stack = logic.decrStackSize(1, 1);
- if (stack != null)
- addItemToInventory(player, world, x, y, z, stack);
- }
- else if (logic.isStackInSlot(0))
- {
- ItemStack stack = logic.decrStackSize(0, 1);
- if (stack != null)
- addItemToInventory(player, world, x, y, z, stack);
- }
- }
-
- world.markBlockForUpdate(x, y, z);
- }
- return true;
- }
-
- public void addItemToInventory (EntityPlayer player, World world, int x, int y, int z, ItemStack stack)
- {
- AbilityHelper.spawnItemAtPlayer(player, stack);
- /*if (!world.isRemote)
- {
- EntityItem entityitem = new EntityItem(world, (double) x + 0.5D, (double) y + 0.9325D, (double) z + 0.5D, stack);
- world.spawnEntityInWorld(entityitem);
- entityitem.onCollideWithPlayer(player);
- }*/
- }
-
- /* Rendering */
- @Override
- public int getRenderType ()
- {
- return SearedRender.searedModel;
- }
- String texturePrefix = "";
-
- @Override
- public String[] getTextureNames ()
- {
- String[] textureNames = { "castingtable_top", "castingtable_side", "castingtable_bottom", "faucet", "blockcast_top", "blockcast_side", "blockcast_bottom" };
-
- if (!texturePrefix.equals(""))
- for (int i = 0; i < textureNames.length; i++)
- textureNames[i] = texturePrefix+"_"+textureNames[i];
-
- return textureNames;
- }
-
- @Override
- public Icon getIcon (int side, int meta)
- {
- if (meta == 0)
- return icons[getTextureIndex(side)];
- else if (meta == 2)
- return icons[getTextureIndex(side) + 4];
- else
- return icons[3];
- }
-
- public int getTextureIndex (int side)
- {
- if (side == 0)
- return 2;
- if (side == 1)
- return 0;
-
- return 1;
- }
-
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @Override
- public boolean shouldSideBeRendered (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- return true;
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < 3; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-
- @Override
- public void setBlockBoundsBasedOnState (IBlockAccess world, int x, int y, int z)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta != 1)
- {
- this.setBlockBounds(0, 0, 0, 1, 1, 1);
- }
- else
- {
- FaucetLogic logic = (FaucetLogic) world.getBlockTileEntity(x, y, z);
- float xMin = 0.25F;
- float xMax = 0.75F;
- float zMin = 0.25F;
- float zMax = 0.75F;
-
- switch (logic.getRenderDirection())
- {
- case 2:
- zMin = 0.625F;
- zMax = 1.0F;
- break;
- case 3:
- zMax = 0.375F;
- zMin = 0F;
- break;
- case 4:
- xMin = 0.625F;
- xMax = 1.0F;
- break;
- case 5:
- xMax = 0.375F;
- xMin = 0F;
- break;
- }
-
- this.setBlockBounds(xMin, 0.25F, zMin, xMax, 0.625F, zMax);
- }
- }
-
- @Override
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World world, int x, int y, int z)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta != 1)
- {
- return AxisAlignedBB.getAABBPool().getAABB(x, y, z, x + 1, y + 1, z + 1);
- }
- else
- {
- FaucetLogic logic = (FaucetLogic) world.getBlockTileEntity(x, y, z);
- if (logic != null)
- {
- float xMin = 0.25F;
- float xMax = 0.75F;
- float zMin = 0.25F;
- float zMax = 0.75F;
-
- switch (logic.getRenderDirection())
- {
- case 2:
- zMin = 0.625F;
- zMax = 1.0F;
- break;
- case 3:
- zMax = 0.375F;
- zMin = 0F;
- break;
- case 4:
- xMin = 0.625F;
- xMax = 1.0F;
- break;
- case 5:
- xMax = 0.375F;
- xMin = 0F;
- break;
- }
-
- return AxisAlignedBB.getAABBPool().getAABB((double) ((float) x + xMin), (double) y + 0.25, (double) ((float) z + zMin), (double) ((float) x + xMax), (double) y + 0.625,
- (double) ((float) z + zMax));
- }
- }
-
- return super.getCollisionBoundingBoxFromPool(world, x, y, z);
- }
-
- /* Redstone */
- public boolean canConnectRedstone (IBlockAccess world, int x, int y, int z, int side)
- {
- return world.getBlockMetadata(x, y, z) == 1;
- }
-
- public void onNeighborBlockChange (World world, int x, int y, int z, int neighborBlockID)
- {
- if (world.isBlockIndirectlyGettingPowered(x, y, z) && world.getBlockMetadata(x, y, z) == 1)
- {
- FaucetLogic logic = (FaucetLogic) world.getBlockTileEntity(x, y, z);
- logic.setActive(true);
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/SearedSlab.java b/src/main/java/tconstruct/blocks/SearedSlab.java
deleted file mode 100644
index fdda9cad..00000000
--- a/src/main/java/tconstruct/blocks/SearedSlab.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import tconstruct.common.TContent;
-import tconstruct.library.TConstructRegistry;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SearedSlab extends SlabBase
-{
- public SearedSlab(int id)
- {
- super(id, Material.rock);
- this.setCreativeTab(TConstructRegistry.blockTab);
- setHardness(12F);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIcon (int side, int meta)
- {
- meta = meta % 8;
- if (meta == 0)
- return TContent.smeltery.getIcon(side, 2);
- if (meta <= 3)
- return TContent.smeltery.getIcon(side, meta + 3);
-
- return TContent.smeltery.getIcon(side, meta + 4);
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < 8; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/SlabBase.java b/src/main/java/tconstruct/blocks/SlabBase.java
deleted file mode 100644
index eb96fb85..00000000
--- a/src/main/java/tconstruct/blocks/SlabBase.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import tconstruct.library.TConstructRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SlabBase extends Block
-{
- Block modelBlock;
- int startingMeta;
- int totalSize;
-
- public SlabBase(int id, Material material)
- {
- super(id, material);
- this.setCreativeTab(TConstructRegistry.blockTab);
- }
-
- public SlabBase(int id, Material material, Block model, int meta, int totalSize)
- {
- super(id, material);
- this.setCreativeTab(TConstructRegistry.blockTab);
- this.modelBlock = model;
- this.startingMeta = meta;
- this.totalSize = totalSize;
- }
-
- @Override
- public void addCollisionBoxesToList (World world, int x, int y, int z, AxisAlignedBB axisalignedbb, List arraylist, Entity entity)
- {
- setBlockBoundsBasedOnState(world, x, y, z);
- super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity);
- }
-
- public void setBlockBoundsForItemRender ()
- {
- setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
- }
-
- public void setBlockBoundsBasedOnState (IBlockAccess world, int x, int y, int z)
- {
- int meta = world.getBlockMetadata(x, y, z) / 8;
- float minY = meta == 1 ? 0.5F : 0.0F;
- float maxY = meta == 1 ? 1.0F : 0.5F;
- setBlockBounds(0.0F, minY, 0F, 1.0F, maxY, 1.0F);
- }
-
- public int onBlockPlaced (World par1World, int blockX, int blockY, int blockZ, int side, float clickX, float clickY, float clickZ, int metadata)
- {
- if (side == 1)
- return metadata;
- if (side == 0 || clickY >= 0.5F)
- return metadata | 8;
-
- return metadata;
- }
-
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIcon (int side, int meta)
- {
- meta = meta % 8 + startingMeta;
- return modelBlock.getIcon(side, meta);
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < totalSize; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-
- public int damageDropped (int meta)
- {
- return meta % 8;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/SlimeExplosive.java b/src/main/java/tconstruct/blocks/SlimeExplosive.java
deleted file mode 100644
index aee9cea8..00000000
--- a/src/main/java/tconstruct/blocks/SlimeExplosive.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityTNTPrimed;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.projectile.EntityArrow;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.world.Explosion;
-import net.minecraft.world.World;
-import tconstruct.entity.item.ExplosivePrimed;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SlimeExplosive extends TConstructBlock
-{
-
- public SlimeExplosive(int id)
- {
- super(id, Material.tnt, 0f, getTextureNames());
- }
-
- static String[] getTextureNames ()
- {
- String[] names = new String[6];
- String[] types = new String[] { "green", "blue" };
- for (int i = 0; i < 2; i++)
- {
- names[i * 3 + 0] = "sdx_bottom_" + types[i];
- names[i * 3 + 1] = "sdx_side_" + types[i];
- names[i * 3 + 2] = "sdx_top_" + types[i];
- }
- return names;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIcon (int side, int meta)
- {
- return icons[(meta / 2) * 3 + getSideTextureIndex(side)];
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < 2; iter++)
- {
- list.add(new ItemStack(id, 1, iter * 2));
- }
- }
-
- @Override
- public void onBlockAdded (World par1World, int par2, int par3, int par4)
- {
- super.onBlockAdded(par1World, par2, par3, par4);
-
- if (par1World.isBlockIndirectlyGettingPowered(par2, par3, par4))
- {
- this.onBlockDestroyedByPlayer(par1World, par2, par3, par4, 1);
- par1World.setBlockToAir(par2, par3, par4);
- }
- }
-
- @Override
- public void onNeighborBlockChange (World par1World, int par2, int par3, int par4, int par5)
- {
- if (par1World.isBlockIndirectlyGettingPowered(par2, par3, par4))
- {
- this.onBlockDestroyedByPlayer(par1World, par2, par3, par4, 1);
- par1World.setBlockToAir(par2, par3, par4);
- }
- }
-
- @Override
- public void onBlockDestroyedByExplosion (World par1World, int par2, int par3, int par4, Explosion par5Explosion)
- {
- if (!par1World.isRemote)
- {
- ExplosivePrimed entitytntprimed = new ExplosivePrimed(par1World, (double) ((float) par2 + 0.5F), (double) ((float) par3 + 0.5F), (double) ((float) par4 + 0.5F),
- par5Explosion.getExplosivePlacedBy());
- entitytntprimed.fuse = par1World.rand.nextInt(entitytntprimed.fuse / 4) + entitytntprimed.fuse / 8;
- par1World.spawnEntityInWorld(entitytntprimed);
- }
- }
-
- @Override
- public void onBlockDestroyedByPlayer (World par1World, int par2, int par3, int par4, int par5)
- {
- this.primeTnt(par1World, par2, par3, par4, par5, (EntityLivingBase) null);
- }
-
- public void primeTnt (World par1World, int par2, int par3, int par4, int par5, EntityLivingBase par6EntityLivingBase)
- {
- if (!par1World.isRemote)
- {
- if ((par5 % 2) == 1)
- {
- ExplosivePrimed entitytntprimed = new ExplosivePrimed(par1World, (double) ((float) par2 + 0.5F), (double) ((float) par3 + 0.5F), (double) ((float) par4 + 0.5F), par6EntityLivingBase);
- par1World.spawnEntityInWorld(entitytntprimed);
- par1World.playSoundAtEntity(entitytntprimed, "random.fuse", 1.0F, 1.0F);
- }
- }
- }
-
- @Override
- public boolean onBlockActivated (World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)
- {
- if (par5EntityPlayer.getCurrentEquippedItem() != null && par5EntityPlayer.getCurrentEquippedItem().itemID == Item.flintAndSteel.itemID)
- {
- this.primeTnt(par1World, par2, par3, par4, 1, par5EntityPlayer);
- par1World.setBlockToAir(par2, par3, par4);
- par5EntityPlayer.getCurrentEquippedItem().damageItem(1, par5EntityPlayer);
- return true;
- }
- else
- {
- return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9);
- }
- }
-
- @Override
- public void onEntityCollidedWithBlock (World par1World, int par2, int par3, int par4, Entity par5Entity)
- {
- if (par5Entity instanceof EntityArrow && !par1World.isRemote)
- {
- EntityArrow entityarrow = (EntityArrow) par5Entity;
-
- if (entityarrow.isBurning())
- {
- this.primeTnt(par1World, par2, par3, par4, 1, entityarrow.shootingEntity instanceof EntityLivingBase ? (EntityLivingBase) entityarrow.shootingEntity : null);
- par1World.setBlockToAir(par2, par3, par4);
- }
- }
- }
-
- @Override
- public boolean canDropFromExplosion (Explosion par1Explosion)
- {
- return false;
- }
-
-}
diff --git a/src/main/java/tconstruct/blocks/SlimePad.java b/src/main/java/tconstruct/blocks/SlimePad.java
deleted file mode 100644
index 116fbb25..00000000
--- a/src/main/java/tconstruct/blocks/SlimePad.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import tconstruct.client.block.SlimePadRender;
-import tconstruct.common.TContent;
-import tconstruct.library.TConstructRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SlimePad extends Block
-{
-
- public SlimePad(int par1, Material par2Material)
- {
- super(par1, par2Material);
- setBlockBounds(0.125F, 0.0F, 0.125F, 0.875F, 0.625F, 0.875F);
- this.setCreativeTab(TConstructRegistry.blockTab);
- }
-
- @Override
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World world, int x, int y, int z)
- {
- return null;
- }
-
- @Override
- public void onEntityCollidedWithBlock (World world, int x, int y, int z, Entity entity)
- {
- if (!world.isBlockIndirectlyGettingPowered(x, y, z))
- {
- double moveX = 0;
- double moveZ = 0;
-
- double speed = 0.25;
-
- int meta = world.getBlockMetadata(x, y, z);
- switch (meta % 8)
- {
- case 6:
- moveX += speed;
- break;
- case 7:
- moveX += speed;
- moveZ += speed;
- break;
- case 0:
- moveZ += speed;
- break;
- case 1:
- moveZ += speed;
- moveX -= speed;
- break;
- case 2:
- moveX -= speed;
- break;
- case 3:
- moveX -= speed;
- moveZ -= speed;
- break;
- case 4:
- moveZ -= speed;
- break;
- case 5:
- moveZ -= speed;
- moveX += speed;
- break;
- }
-
- if (entity instanceof EntityItem)
- {
- entity.posY += 1;
- }
- entity.addVelocity(moveX, speed * 2, moveZ);
- world.playSoundEffect(x + 0.5F, y + 0.5F, z + 0.5F, this.stepSound.getStepSound(), (this.stepSound.getVolume()) / 2.0F, this.stepSound.getPitch() * 0.65F);
- }
- }
-
- public boolean isBlockReplaceable (World world, int x, int y, int z)
- {
- return false;
- }
-
- @Override
- public void onBlockPlacedBy (World world, int x, int y, int z, EntityLivingBase entity, ItemStack stack)
- {
- int face = MathHelper.floor_double((double) (entity.rotationYaw * 8.0F / 360.0F) + 0.5D) + (entity.isSneaking() ? 4 : 0) & 7;
- int meta = world.getBlockMetadata(x, y, z) & 8;
- world.setBlockMetadataWithNotify(x, y, z, face | meta, 2);
- }
-
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @Override
- public int getRenderBlockPass ()
- {
- return 1;
- }
-
- @Override
- public int getRenderType ()
- {
- return SlimePadRender.model;
- }
-
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIcon (int side, int meta)
- {
- return TContent.slimeGel.getIcon(side, 1);
- }
-
- public Icon getFluidIcon (int meta)
- {
- return TContent.slimeChannel.getIcon(2, 0);
- }
-
- public Icon getNubIcon (int meta)
- {
- return TContent.slimeGel.getIcon(0, 0);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/SmelteryBlock.java b/src/main/java/tconstruct/blocks/SmelteryBlock.java
deleted file mode 100644
index 697aa405..00000000
--- a/src/main/java/tconstruct/blocks/SmelteryBlock.java
+++ /dev/null
@@ -1,306 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.AdaptiveSmelteryLogic;
-import tconstruct.blocks.logic.MultiServantLogic;
-import tconstruct.blocks.logic.AdaptiveDrainLogic;
-import tconstruct.blocks.logic.SmelteryDrainLogic;
-import tconstruct.blocks.logic.SmelteryLogic;
-import tconstruct.client.block.SmelteryRender;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.blocks.InventoryBlock;
-import tconstruct.library.util.IFacingLogic;
-import tconstruct.library.util.IMasterLogic;
-import tconstruct.library.util.IServantLogic;
-import tconstruct.util.config.PHConstruct;
-
-public class SmelteryBlock extends InventoryBlock
-{
- Random rand;
- String texturePrefix = "";
-
- public SmelteryBlock(int id)
- {
- super(id, Material.rock);
- setHardness(3F);
- setResistance(20F);
- setStepSound(soundMetalFootstep);
- rand = new Random();
- this.setCreativeTab(TConstructRegistry.blockTab);
- this.setUnlocalizedName("tconstruct.Smeltery");
- }
-
- public SmelteryBlock(int id, String prefix)
- {
- this(id);
- texturePrefix = prefix;
- }
-
- /* Rendering */
-
- @Override
- public int getRenderType ()
- {
- return PHConstruct.newSmeltery ? 0 : SmelteryRender.smelteryModel;
- }
-
- @Override
- public String[] getTextureNames ()
- {
- String[] textureNames = { "smeltery_side", "smeltery_inactive", "smeltery_active", "drain_side", "drain_out", "drain_basin", "searedbrick", "searedstone", "searedcobble", "searedpaver",
- "searedbrickcracked", "searedroad", "searedbrickfancy", "searedbricksquare", "searedcreeper" };
-
- if (!texturePrefix.equals(""))
- for (int i = 0; i < textureNames.length; i++)
- textureNames[i] = texturePrefix+"_"+textureNames[i];
-
- return textureNames;
- }
-
- public Icon getIcon (int side, int meta)
- {
- if (meta < 2)
- {
- int sideTex = side == 3 ? 1 : 0;
- return icons[sideTex + meta * 3];
- }
- else if (meta == 2)
- {
- return icons[6];
- }
- else if (meta == 11)
- {
- if (side == 0 || side == 1)
- return icons[9];
- }
-
- return icons[3 + meta];
- }
-
- public Icon getBlockTexture (IBlockAccess world, int x, int y, int z, int side)
- {
- TileEntity logic = world.getBlockTileEntity(x, y, z);
- short direction = (logic instanceof IFacingLogic) ? ((IFacingLogic) logic).getRenderDirection() : 0;
- int meta = world.getBlockMetadata(x, y, z);
- if (meta == 0) //Smeltery
- {
- if (side == direction)
- {
- if (isActive(world, x, y, z))
- {
- return icons[2];
- }
- else
- {
- return icons[1];
- }
- }
- else
- {
- return icons[0];
- }
- }
- if (meta == 1) //Drain
- {
- if (side == direction)
- return icons[5];
- else if (side / 2 == direction / 2)
- return icons[4];
- else
- return icons[3];
- }
- else if (meta == 2)
- {
- return icons[6];
- }
- else if (meta == 11)
- {
- if (side == 0 || side == 1)
- return icons[9];
- }
- return icons[3 + meta];
-
- }
-
- /*@Override
- public int getRenderBlockPass()
- {
- return 1;
- }*/
-
- public int damageDropped (int meta)
- {
- return meta;
- }
-
- public int quantityDropped (Random random)
- {
- return 1;
- }
-
- @Override
- public Integer getGui (World world, int x, int y, int z, EntityPlayer entityplayer)
- {
- //return -1;
- return TConstruct.proxy.smelteryGuiID;
- }
-
- public void randomDisplayTick (World world, int x, int y, int z, Random random)
- {
- if (isActive(world, x, y, z))
- {
- TileEntity logic = world.getBlockTileEntity(x, y, z);
- byte face = 0;
- if (logic instanceof IFacingLogic)
- face = ((IFacingLogic) logic).getRenderDirection();
- float f = (float) x + 0.5F;
- float f1 = (float) y + 0.5F + (random.nextFloat() * 6F) / 16F;
- float f2 = (float) z + 0.5F;
- float f3 = 0.52F;
- float f4 = random.nextFloat() * 0.6F - 0.3F;
- switch (face)
- {
- case 4:
- world.spawnParticle("smoke", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D);
- world.spawnParticle("flame", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D);
- break;
-
- case 5:
- world.spawnParticle("smoke", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D);
- world.spawnParticle("flame", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D);
- break;
-
- case 2:
- world.spawnParticle("smoke", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D);
- world.spawnParticle("flame", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D);
- break;
-
- case 3:
- world.spawnParticle("smoke", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D);
- world.spawnParticle("flame", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D);
- break;
- }
- }
- }
-
- public int getLightValue (IBlockAccess world, int x, int y, int z)
- {
- return !isActive(world, x, y, z) ? 0 : 9;
- }
-
- @Override
- public Object getModInstance ()
- {
- return TConstruct.instance;
- }
-
- @Override
- public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int side, float clickX, float clickY, float clickZ)
- {
- if (player.isSneaking() || world.getBlockMetadata(x, y, z) != 0)
- return false;
-
- Integer integer = getGui(world, x, y, z, player);
- if (integer == null || integer == -1)
- {
- return false;
- }
- else
- {
- //world.markBlockForUpdate(x, y, z);
- player.openGui(getModInstance(), integer, world, x, y, z);
- return true;
- }
- }
-
- @Override
- public TileEntity createTileEntity (World world, int metadata)
- {
- switch (metadata)
- {
- case 0:
- if (PHConstruct.newSmeltery)
- return new AdaptiveSmelteryLogic();
- else
- return new SmelteryLogic();
-
- case 1:
- if (PHConstruct.newSmeltery)
- return new AdaptiveDrainLogic();
- else
- return new SmelteryDrainLogic();
- case 3:
- return null; //Furnace
- }
- return new MultiServantLogic();
- }
-
- @Override
- public void onBlockPlacedBy (World world, int x, int y, int z, EntityLivingBase entityliving, ItemStack stack)
- {
- super.onBlockPlacedBy(world, x, y, z, entityliving, stack);
- if (world.getBlockMetadata(x, y, z) == 0 && !PHConstruct.newSmeltery)
- onBlockPlacedElsewhere(world, x, y, z, entityliving);
- }
-
- public void onBlockPlacedElsewhere (World world, int x, int y, int z, EntityLivingBase entityliving)
- {
- SmelteryLogic logic = (SmelteryLogic) world.getBlockTileEntity(x, y, z);
- logic.checkValidPlacement();
- }
-
- /*@Override
- public void breakBlock (World world, int x, int y, int z, int par5, int par6) //Don't drop inventory
- {
- world.removeBlockTileEntity(x, y, z);
- }*/
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < 12; iter++)
- {
- if (iter != 3)
- list.add(new ItemStack(id, 1, iter));
- }
- }
-
- /* Updating */
- @Override
- public void onNeighborBlockChange (World world, int x, int y, int z, int nBlockID)
- {
- //System.out.println("Neighbor changed");
- TileEntity logic = world.getBlockTileEntity(x, y, z);
- if (logic instanceof IServantLogic)
- {
- ((IServantLogic) logic).notifyMasterOfChange();
- }
- else if (logic instanceof IMasterLogic)
- {
- ((IMasterLogic) logic).notifyChange(null, x, y, z);
- }
- }
-
- @Override
- public void breakBlock (World world, int x, int y, int z, int blockID, int meta)
- {
- TileEntity logic = world.getBlockTileEntity(x, y, z);
- if (logic instanceof IServantLogic)
- {
- ((IServantLogic) logic).notifyMasterOfChange();
- }
- super.breakBlock(world, x, y, z, blockID, meta);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/SoilBlock.java b/src/main/java/tconstruct/blocks/SoilBlock.java
deleted file mode 100644
index a7c8f185..00000000
--- a/src/main/java/tconstruct/blocks/SoilBlock.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.EnumCreatureAttribute;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.DamageSource;
-import net.minecraft.world.World;
-
-public class SoilBlock extends TConstructBlock
-{
- static String[] soilTypes = new String[] { "slimesand", "grout", "slimesandblue", "graveyardsoil", "consecratedsoil", "slimedirt_blue", "nether_grout" };
-
- public SoilBlock(int id)
- {
- super(id, Material.ground, 3.0F, soilTypes);
- }
-
- @Override
- public void onEntityWalking (World world, int x, int y, int z, Entity entity)
- {
- if (entity instanceof EntityLivingBase)
- {
- EntityLivingBase living = ((EntityLivingBase) entity);
- if (living.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD)
- {
- int metadata = world.getBlockMetadata(x, y, z);
- if (metadata == 3)
- {
- living.heal(1);
- }
- else if (metadata == 4)
- {
- living.attackEntityFrom(DamageSource.magic, 1);
- living.setFire(1);
- }
- }
- }
- }
-
- public void onEntityCollidedWithBlock (World world, int x, int y, int z, Entity entity)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta < 3)
- {
- entity.motionX *= 0.4;
- entity.motionZ *= 0.4;
- if (meta != 1 && entity instanceof EntityLivingBase)
- {
- ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.weakness.id, 1));
- ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.jump.id, 1, 1));
- }
- }
- }
-
- public float getBlockHardness (World world, int x, int y, int z)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta == 5)
- return Block.dirt.blockHardness;
- return this.blockHardness;
- }
-
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World world, int x, int y, int z)
- {
- return Block.slowSand.getCollisionBoundingBoxFromPool(world, x, y, z);
- }
-
- /*public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z)
- {
- this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
- if (world.getBlockMetadata(x, y, z) >= 3)
- {
- this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.875F, 1.0F);
- }
- }*/
-}
diff --git a/src/main/java/tconstruct/blocks/SoilSlab.java b/src/main/java/tconstruct/blocks/SoilSlab.java
deleted file mode 100644
index 8930b1ee..00000000
--- a/src/main/java/tconstruct/blocks/SoilSlab.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.world.ColorizerGrass;
-import net.minecraft.world.IBlockAccess;
-import tconstruct.common.TContent;
-import tconstruct.library.TConstructRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SoilSlab extends SlabBase
-{
- public SoilSlab(int id)
- {
- super(id, Material.ground);
- this.setCreativeTab(TConstructRegistry.blockTab);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- this.blockIcon = iconRegister.registerIcon("tinker:grass_top");
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIcon (int side, int meta)
- {
- switch (meta % 8)
- {
- case 0:
- return this.blockIcon;//Block.grass.getIcon(1, 0);
- case 1:
- return Block.dirt.getIcon(side, 0);
- case 2:
- return Block.mycelium.getIcon(1, 0);
- default:
- return TContent.craftedSoil.getIcon(side, meta - 3);
- }
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < 8; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public int getBlockColor ()
- {
- double d0 = 0.5D;
- double d1 = 1.0D;
- return ColorizerGrass.getGrassColor(d0, d1);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public int getRenderColor (int par1)
- {
- //if (par1 % 8 == 0)
- return this.getBlockColor();
- //return 0xFFFFFF;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public int colorMultiplier (IBlockAccess world, int x, int y, int z)
- {
- int l = 0;
- int i1 = 0;
- int j1 = 0;
-
- for (int k1 = -1; k1 <= 1; ++k1)
- {
- for (int l1 = -1; l1 <= 1; ++l1)
- {
- int i2 = world.getBiomeGenForCoords(x + l1, z + k1).getBiomeGrassColor();
- l += (i2 & 16711680) >> 16;
- i1 += (i2 & 65280) >> 8;
- j1 += i2 & 255;
- }
- }
- return (l / 9 & 255) << 16 | (i1 / 9 & 255) << 8 | j1 / 9 & 255;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/SpeedBlock.java b/src/main/java/tconstruct/blocks/SpeedBlock.java
deleted file mode 100644
index a5a2eca8..00000000
--- a/src/main/java/tconstruct/blocks/SpeedBlock.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SpeedBlock extends TConstructBlock
-{
- public static String[] textureNames = new String[] { "brownstone_rough", "brownstone_rough_road", "brownstone_smooth", "brownstone_smooth_brick", "brownstone_smooth_road",
- "brownstone_smooth_fancy", "brownstone_smooth_chiseled" };
-
- public SpeedBlock(int id)
- {
- super(id, Material.rock, 3.0f, textureNames);
- //this.setBlockBounds(0f, 0f, 0f, 1.0f, 0.5f, 1.0f);
- }
-
- @Override
- public void onEntityWalking (World world, int x, int y, int z, Entity entity)
- {
- double boost = 2.2D;
- int metadata = world.getBlockMetadata(x, y, z);
- if (metadata == 1 || metadata == 4)
- boost = 2.7D;
-
- double mX = Math.abs(entity.motionX);
- double mZ = Math.abs(entity.motionZ);
- if (mX < 0.5D)
- {
- entity.motionX *= boost;
- }
- if (mZ < 0.5D)
- {
- entity.motionZ *= boost;
- }
- }
-
- @Override
- public int damageDropped (int meta)
- {
- return meta;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < textureNames.length; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/SpeedSlab.java b/src/main/java/tconstruct/blocks/SpeedSlab.java
deleted file mode 100644
index 739c287c..00000000
--- a/src/main/java/tconstruct/blocks/SpeedSlab.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import tconstruct.common.TContent;
-import tconstruct.library.TConstructRegistry;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SpeedSlab extends SlabBase
-{
- public SpeedSlab(int id)
- {
- super(id, Material.rock);
- this.setCreativeTab(TConstructRegistry.blockTab);
- setHardness(3F);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIcon (int side, int meta)
- {
- meta = meta % 8;
- return TContent.speedBlock.getIcon(side, meta);
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < 7; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-
- @Override
- public void onEntityWalking (World world, int x, int y, int z, Entity entity)
- {
- double boost = 2.2D;
- int metadata = world.getBlockMetadata(x, y, z) % 8;
- if (metadata == 1 || metadata == 4)
- boost = 2.7D;
-
- double mX = Math.abs(entity.motionX);
- double mZ = Math.abs(entity.motionZ);
- if (mX < 0.5D)
- {
- entity.motionX *= boost;
- }
- if (mZ < 0.5D)
- {
- entity.motionZ *= boost;
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/StoneLadder.java b/src/main/java/tconstruct/blocks/StoneLadder.java
deleted file mode 100644
index e02e2cfb..00000000
--- a/src/main/java/tconstruct/blocks/StoneLadder.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.block.BlockLadder;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.util.Icon;
-
-public class StoneLadder extends BlockLadder
-{
-
- // Override ladder material
- public final Material blockMaterial = Material.rock;
-
- private Icon icon;
-
- // Use the normally protected constructor
- public StoneLadder(int id)
- {
- super(id);
- this.setUnlocalizedName("decoration.stoneladder");
- this.setCreativeTab(CreativeTabs.tabDecorations);
- }
-
- @Override
- public void registerIcons (IconRegister register)
- {
- icon = register.registerIcon("tinker:ladder_stone");
- }
-
- @Override
- public Icon getIcon (int meta, int side)
- {
- return icon;
- }
-
-}
diff --git a/src/main/java/tconstruct/blocks/StoneTorch.java b/src/main/java/tconstruct/blocks/StoneTorch.java
deleted file mode 100644
index 6542a6e6..00000000
--- a/src/main/java/tconstruct/blocks/StoneTorch.java
+++ /dev/null
@@ -1,308 +0,0 @@
-package tconstruct.blocks;
-
-import static net.minecraftforge.common.ForgeDirection.EAST;
-import static net.minecraftforge.common.ForgeDirection.NORTH;
-import static net.minecraftforge.common.ForgeDirection.SOUTH;
-import static net.minecraftforge.common.ForgeDirection.WEST;
-
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.util.Vec3;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class StoneTorch extends Block
-{
- public StoneTorch(int id)
- {
- super(id, Material.circuits);
- this.setCreativeTab(CreativeTabs.tabDecorations);
- setLightValue(0.9375F);
- }
-
- /**
- * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been
- * cleared to be reused)
- */
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World par1World, int par2, int par3, int par4)
- {
- return null;
- }
-
- /**
- * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two
- * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
- */
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- /**
- * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
- */
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- /**
- * The type of render function that is called for this block
- */
- public int getRenderType ()
- {
- return 2;
- }
-
- /**
- * Gets if we can place a torch on a block.
- */
- private boolean canPlaceTorchOn (World par1World, int par2, int par3, int par4)
- {
- if (par1World.doesBlockHaveSolidTopSurface(par2, par3, par4))
- {
- return true;
- }
- else
- {
- int l = par1World.getBlockId(par2, par3, par4);
- return (Block.blocksList[l] != null && Block.blocksList[l].canPlaceTorchOnTop(par1World, par2, par3, par4));
- }
- }
-
- /**
- * Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z
- */
- public boolean canPlaceBlockAt (World par1World, int par2, int par3, int par4)
- {
- return par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST, true) || par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST, true)
- || par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH, true) || par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH, true)
- || canPlaceTorchOn(par1World, par2, par3 - 1, par4);
- }
-
- /**
- * Called when a block is placed using its ItemBlock. Args: World, X, Y, Z, side, hitX, hitY, hitZ, block metadata
- */
- public int onBlockPlaced (World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9)
- {
- int j1 = par9;
-
- if (par5 == 0)
- {
- if (this.canPlaceTorchOn(par1World, par2, par3 - 1, par4))
- {
- j1 = 5;
- }
- else if (par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH, true))
- {
- j1 = 4;
- }
- else if (par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH, true))
- {
- j1 = 3;
- }
- else if (par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST, true))
- {
- j1 = 2;
- }
- else if (par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST, true))
- {
- j1 = 1;
- }
- }
-
- if (par5 == 1 && this.canPlaceTorchOn(par1World, par2, par3 - 1, par4))
- {
- j1 = 5;
- }
-
- if (par5 == 2 && par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH, true))
- {
- j1 = 4;
- }
-
- if (par5 == 3 && par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH, true))
- {
- j1 = 3;
- }
-
- if (par5 == 4 && par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST, true))
- {
- j1 = 2;
- }
-
- if (par5 == 5 && par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST, true))
- {
- j1 = 1;
- }
-
- return j1;
- }
-
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister par1IconRegister)
- {
- this.blockIcon = par1IconRegister.registerIcon("tinker:torch_stone");
- }
-
- /**
- * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are
- * their own) Args: x, y, z, neighbor blockID
- */
- public void onNeighborBlockChange (World par1World, int par2, int par3, int par4, int par5)
- {
- this.func_94397_d(par1World, par2, par3, par4, par5);
- }
-
- protected boolean func_94397_d (World par1World, int par2, int par3, int par4, int par5)
- {
- if (this.dropTorchIfCantStay(par1World, par2, par3, par4))
- {
- int i1 = par1World.getBlockMetadata(par2, par3, par4);
- boolean flag = false;
-
- if (!par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST, true) && i1 == 1)
- {
- flag = true;
- }
-
- if (!par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST, true) && i1 == 2)
- {
- flag = true;
- }
-
- if (!par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH, true) && i1 == 3)
- {
- flag = true;
- }
-
- if (!par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH, true) && i1 == 4)
- {
- flag = true;
- }
-
- if (!this.canPlaceTorchOn(par1World, par2, par3 - 1, par4) && i1 == 5)
- {
- flag = true;
- }
-
- if (flag)
- {
- this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0);
- par1World.setBlockToAir(par2, par3, par4);
- return true;
- }
- else
- {
- return false;
- }
- }
- else
- {
- return true;
- }
- }
-
- /**
- * Tests if the block can remain at its current location and will drop as an item if it is unable to stay. Returns
- * True if it can stay and False if it drops. Args: world, x, y, z
- */
- protected boolean dropTorchIfCantStay (World par1World, int par2, int par3, int par4)
- {
- if (!this.canPlaceBlockAt(par1World, par2, par3, par4))
- {
- if (par1World.getBlockId(par2, par3, par4) == this.blockID)
- {
- this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0);
- par1World.setBlockToAir(par2, par3, par4);
- }
-
- return false;
- }
- else
- {
- return true;
- }
- }
-
- /**
- * Ray traces through the blocks collision from start vector to end vector returning a ray trace hit. Args: world,
- * x, y, z, startVec, endVec
- */
- public MovingObjectPosition collisionRayTrace (World par1World, int par2, int par3, int par4, Vec3 par5Vec3, Vec3 par6Vec3)
- {
- int l = par1World.getBlockMetadata(par2, par3, par4) & 7;
- float f = 0.15F;
-
- if (l == 1)
- {
- this.setBlockBounds(0.0F, 0.2F, 0.5F - f, f * 2.0F, 0.8F, 0.5F + f);
- }
- else if (l == 2)
- {
- this.setBlockBounds(1.0F - f * 2.0F, 0.2F, 0.5F - f, 1.0F, 0.8F, 0.5F + f);
- }
- else if (l == 3)
- {
- this.setBlockBounds(0.5F - f, 0.2F, 0.0F, 0.5F + f, 0.8F, f * 2.0F);
- }
- else if (l == 4)
- {
- this.setBlockBounds(0.5F - f, 0.2F, 1.0F - f * 2.0F, 0.5F + f, 0.8F, 1.0F);
- }
- else
- {
- f = 0.1F;
- this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.6F, 0.5F + f);
- }
-
- return super.collisionRayTrace(par1World, par2, par3, par4, par5Vec3, par6Vec3);
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * A randomly called display update to be able to add particles or other items for display
- */
- public void randomDisplayTick (World par1World, int par2, int par3, int par4, Random par5Random)
- {
- int meta = par1World.getBlockMetadata(par2, par3, par4);
- double d0 = (double) ((float) par2 + 0.5F);
- double d1 = (double) ((float) par3 + 0.7F);
- double d2 = (double) ((float) par4 + 0.5F);
- double d3 = 0.2199999988079071D;
- double d4 = 0.27000001072883606D;
-
- if (meta == 1)
- {
- par1World.spawnParticle("smoke", d0 - d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D);
- par1World.spawnParticle("flame", d0 - d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D);
- }
- else if (meta == 2)
- {
- par1World.spawnParticle("smoke", d0 + d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D);
- par1World.spawnParticle("flame", d0 + d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D);
- }
- else if (meta == 3)
- {
- par1World.spawnParticle("smoke", d0, d1 + d3, d2 - d4, 0.0D, 0.0D, 0.0D);
- par1World.spawnParticle("flame", d0, d1 + d3, d2 - d4, 0.0D, 0.0D, 0.0D);
- }
- else if (meta == 4)
- {
- par1World.spawnParticle("smoke", d0, d1 + d3, d2 + d4, 0.0D, 0.0D, 0.0D);
- par1World.spawnParticle("flame", d0, d1 + d3, d2 + d4, 0.0D, 0.0D, 0.0D);
- }
- else
- {
- par1World.spawnParticle("smoke", d0, d1, d2, 0.0D, 0.0D, 0.0D);
- par1World.spawnParticle("flame", d0, d1, d2, 0.0D, 0.0D, 0.0D);
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/TConstructBlock.java b/src/main/java/tconstruct/blocks/TConstructBlock.java
deleted file mode 100644
index f60d4685..00000000
--- a/src/main/java/tconstruct/blocks/TConstructBlock.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import tconstruct.library.TConstructRegistry;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class TConstructBlock extends Block
-{
- public String[] textureNames;
- public Icon[] icons;
-
- public TConstructBlock(int id, Material material, float hardness, String[] tex)
- {
- super(id, material);
- setHardness(hardness);
- this.setCreativeTab(TConstructRegistry.blockTab);
- textureNames = tex;
- }
-
- @Override
- public int damageDropped (int meta)
- {
- return meta;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:" + textureNames[i]);
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIcon (int side, int meta)
- {
- return meta < icons.length ? icons[meta] : icons[0];
- }
-
- @SideOnly(Side.CLIENT)
- public int getSideTextureIndex (int side)
- {
- if (side == 0)
- return 2;
- if (side == 1)
- return 0;
-
- return 1;
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < icons.length; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/TConstructFluid.java b/src/main/java/tconstruct/blocks/TConstructFluid.java
deleted file mode 100644
index b076a955..00000000
--- a/src/main/java/tconstruct/blocks/TConstructFluid.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.util.Icon;
-import net.minecraftforge.fluids.BlockFluidClassic;
-import net.minecraftforge.fluids.Fluid;
-import tconstruct.library.TConstructRegistry;
-
-public class TConstructFluid extends BlockFluidClassic
-{
- String texture;
- boolean alpha;
- public Icon stillIcon;
- public Icon flowIcon;
-
- public TConstructFluid(int id, Fluid fluid, Material material, String texture)
- {
- super(id, fluid, material);
- this.texture = texture;
- this.setCreativeTab(TConstructRegistry.blockTab);
- }
-
- public TConstructFluid(int id, Fluid fluid, Material material, String texture, boolean alpha)
- {
- this(id, fluid, material, texture);
- this.alpha = alpha;
- }
-
- @Override
- public int getRenderBlockPass ()
- {
- return alpha ? 1 : 0;
- }
-
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- stillIcon = iconRegister.registerIcon("tinker:" + texture);
- flowIcon = iconRegister.registerIcon("tinker:" + texture + "_flow");
- }
-
- @Override
- public Icon getIcon (int side, int meta)
- {
- if (side == 0 || side == 1)
- return stillIcon;
- return flowIcon;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/TMetalBlock.java b/src/main/java/tconstruct/blocks/TMetalBlock.java
deleted file mode 100644
index 33c5443b..00000000
--- a/src/main/java/tconstruct/blocks/TMetalBlock.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package tconstruct.blocks;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.world.World;
-
-public class TMetalBlock extends TConstructBlock
-{
-
- static String[] metalTypes = new String[] { "compressed_cobalt", "compressed_ardite", "compressed_manyullyn", "compressed_copper", "compressed_bronze", "compressed_tin", "compressed_aluminum",
- "compressed_alubrass", "compressed_alumite", "compressed_steel", "compressed_ender" };
-
- public TMetalBlock(int id, Material material, float hardness)
- {
- super(id, material, hardness, metalTypes);
- this.setStepSound(Block.soundMetalFootstep);
- }
-
- public boolean isBeaconBase (World worldObj, int x, int y, int z, int beaconX, int beaconY, int beaconZ)
- {
- return true;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/TankAirBlock.java b/src/main/java/tconstruct/blocks/TankAirBlock.java
deleted file mode 100644
index 0b3acecd..00000000
--- a/src/main/java/tconstruct/blocks/TankAirBlock.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.util.Vec3;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeHooks;
-import tconstruct.blocks.logic.TankAirLogic;
-import tconstruct.client.block.TankAirRender;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class TankAirBlock extends BlockContainer
-{
-
- public TankAirBlock(int id, Material material)
- {
- super(id, material);
- }
-
- @Override
- public TileEntity createNewTileEntity (World world)
- {
- return new TankAirLogic();
- }
-
- @Override
- public int getRenderType ()
- {
- return TankAirRender.model;
- }
-
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister par1IconRegister)
- {
-
- }
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World world, int x, int y, int z)
- {
- TankAirLogic tank = (TankAirLogic) world.getBlockTileEntity(x, y, z);
- if (tank != null && tank.hasItem())
- return super.getCollisionBoundingBoxFromPool(world, x, y, z);
-
- return null;
- }
-
- public MovingObjectPosition collisionRayTrace (World world, int x, int y, int z, Vec3 par5Vec3, Vec3 par6Vec3)
- {
- TankAirLogic tank = (TankAirLogic) world.getBlockTileEntity(x, y, z);
- if (tank.hasItem())
- return super.collisionRayTrace(world, x, y, z, par5Vec3, par6Vec3);
-
- return null;
- }
-
- @Override
- public ItemStack getPickBlock (MovingObjectPosition target, World world, int x, int y, int z)
- {
- return null;
- }
-
- @Override
- public boolean isBlockReplaceable (World world, int x, int y, int z)
- {
- return false;
- }
-
- @Override
- public boolean canHarvestBlock (EntityPlayer player, int meta)
- {
- return false;
- }
-
- @Override
- public boolean isAirBlock (World world, int x, int y, int z)
- {
- return false;
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- }
-}
diff --git a/src/main/java/tconstruct/blocks/ToolForgeBlock.java b/src/main/java/tconstruct/blocks/ToolForgeBlock.java
deleted file mode 100644
index d2c2cd1f..00000000
--- a/src/main/java/tconstruct/blocks/ToolForgeBlock.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package tconstruct.blocks;
-
-import static net.minecraftforge.common.ForgeDirection.DOWN;
-import static net.minecraftforge.common.ForgeDirection.UP;
-
-import java.util.List;
-
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.ToolForgeLogic;
-import tconstruct.client.block.TableForgeRender;
-import tconstruct.common.TContent;
-import tconstruct.common.TProxyCommon;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.blocks.InventoryBlock;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockFarmland;
-import net.minecraft.block.BlockHalfSlab;
-import net.minecraft.block.BlockHopper;
-import net.minecraft.block.BlockPoweredOre;
-import net.minecraft.block.BlockStairs;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-
-public class ToolForgeBlock extends InventoryBlock
-{
- public ToolForgeBlock(int id, Material material)
- {
- super(id, material);
- this.setCreativeTab(TConstructRegistry.blockTab);
- this.setHardness(2f);
- this.setStepSound(Block.soundWoodFootstep);
- }
-
- //Block.hasComparatorInputOverride and Block.getComparatorInputOverride
-
- String[] textureNames = { "toolforge_iron", "toolforge_gold", "toolforge_diamond", "toolforge_emerald", "toolforge_cobalt", "toolforge_ardite", "toolforge_manyullyn", "toolforge_copper",
- "toolforge_bronze", "toolforge_tin", "toolforge_aluminum", "toolforge_alubrass", "toolforge_alumite", "toolforge_steel" };
-
- /* Rendering */
- @Override
- public String[] getTextureNames ()
- {
- return textureNames;
- }
-
- Icon textureTop;
-
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- super.registerIcons(iconRegister);
- textureTop = iconRegister.registerIcon("tinker:toolforge_top");
- }
-
- @Override
- public Icon getIcon (int side, int meta)
- {
- if (side == 1)
- {
- return textureTop;
- }
- if (side == 0)
- {
- switch (meta)
- {
- case 0:
- return Block.blockIron.getIcon(side, 0);
- case 1:
- return Block.blockGold.getIcon(side, 0);
- case 2:
- return Block.blockDiamond.getIcon(side, 0);
- case 3:
- return Block.blockEmerald.getIcon(side, 0);
- default:
- return TContent.metalBlock.getIcon(side, meta - 4);
- }
- }
-
- return this.icons[meta];
- }
-
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @Override
- public boolean isBlockSolidOnSide (World world, int x, int y, int z, ForgeDirection side)
- {
- return side == ForgeDirection.UP;
- }
-
- @Override
- public int getRenderType ()
- {
- return TableForgeRender.model;
- }
-
- @Override
- public boolean shouldSideBeRendered (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- return true;
- }
-
- @Override
- public TileEntity createTileEntity (World world, int metadata)
- {
-
- return new ToolForgeLogic();
- }
-
- @Override
- public Integer getGui (World world, int x, int y, int z, EntityPlayer entityplayer)
- {
- int md = world.getBlockMetadata(x, y, z);
- return TProxyCommon.toolForgeID;
- //return -1;
- }
-
- @Override
- public Object getModInstance ()
- {
- return TConstruct.instance;
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < textureNames.length; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/ToolStationBlock.java b/src/main/java/tconstruct/blocks/ToolStationBlock.java
deleted file mode 100644
index 19478be5..00000000
--- a/src/main/java/tconstruct/blocks/ToolStationBlock.java
+++ /dev/null
@@ -1,214 +0,0 @@
-package tconstruct.blocks;
-
-import java.util.List;
-
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.PartBuilderLogic;
-import tconstruct.blocks.logic.PatternChestLogic;
-import tconstruct.blocks.logic.StencilTableLogic;
-import tconstruct.blocks.logic.ToolStationLogic;
-import tconstruct.client.block.TableRender;
-import tconstruct.common.TContent;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.blocks.InventoryBlock;
-import tconstruct.util.config.PHConstruct;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-
-public class ToolStationBlock extends InventoryBlock
-{
- public ToolStationBlock(int id, Material material)
- {
- super(id, material);
- this.setCreativeTab(TConstructRegistry.blockTab);
- this.setHardness(2f);
- this.setStepSound(Block.soundWoodFootstep);
- }
-
- //Block.hasComparatorInputOverride and Block.getComparatorInputOverride
-
- /* Rendering */
- @Override
- public String[] getTextureNames ()
- {
- String[] textureNames = { "toolstation_top", "toolstation_side", "toolstation_bottom", "partbuilder_oak_top", "partbuilder_oak_side", "partbuilder_oak_bottom", "partbuilder_spruce_top",
- "partbuilder_spruce_side", "partbuilder_spruce_bottom", "partbuilder_birch_top", "partbuilder_birch_side", "partbuilder_birch_bottom", "partbuilder_jungle_top",
- "partbuilder_jungle_side", "partbuilder_jungle_bottom", "patternchest_top", "patternchest_side", "patternchest_bottom", "stenciltable_oak_top", "stenciltable_oak_side",
- "stenciltable_oak_bottom", "stenciltable_spruce_top", "stenciltable_spruce_side", "stenciltable_spruce_bottom", "stenciltable_birch_top", "stenciltable_birch_side",
- "stenciltable_birch_bottom", "stenciltable_jungle_top", "stenciltable_jungle_side", "stenciltable_jungle_bottom" };
-
- return textureNames;
- }
-
- @Override
- public Icon getIcon (int side, int meta)
- {
- if (meta <= 4)
- {
- return icons[meta * 3 + getTextureIndex(side)];
- }
- else if (meta <= 9)
- {
- return icons[15 + getTextureIndex(side)];
- }
- else
- {
- return icons[meta * 3 + getTextureIndex(side) - 12];
- }
- }
-
- public int getTextureIndex (int side)
- {
- if (side == 0)
- return 2;
- if (side == 1)
- return 0;
-
- return 1;
- }
-
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @Override
- public boolean isBlockSolidOnSide (World world, int x, int y, int z, ForgeDirection side)
- {
- return side == ForgeDirection.UP;
- }
-
- @Override
- public int getRenderType ()
- {
- return TableRender.tabelModelID;
- }
-
- @Override
- public boolean shouldSideBeRendered (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
- {
- return true;
- }
-
- public AxisAlignedBB getSelectedBoundingBoxFromPool (World world, int x, int y, int z)
- {
- int metadata = world.getBlockMetadata(x, y, z);
- if (metadata == 5)
- return AxisAlignedBB.getAABBPool().getAABB((double) x + this.minX, (double) y + this.minY, (double) z + this.minZ, (double) x + this.maxX, (double) y + this.maxY - 0.125,
- (double) z + this.maxZ);
- return AxisAlignedBB.getAABBPool().getAABB((double) x + this.minX, (double) y + this.minY, (double) z + this.minZ, (double) x + this.maxX, (double) y + this.maxY, (double) z + this.maxZ);
- }
-
- @Override
- public TileEntity createTileEntity (World world, int metadata)
- {
- switch (metadata)
- {
- case 0:
- return new ToolStationLogic();
- case 1:
- return new PartBuilderLogic();
- case 2:
- return new PartBuilderLogic();
- case 3:
- return new PartBuilderLogic();
- case 4:
- return new PartBuilderLogic();
- case 5:
- return new PatternChestLogic();
- case 6:
- return new PatternChestLogic();
- case 7:
- return new PatternChestLogic();
- case 8:
- return new PatternChestLogic();
- case 9:
- return new PatternChestLogic();
- case 10:
- return new StencilTableLogic();
- case 11:
- return new StencilTableLogic();
- case 12:
- return new StencilTableLogic();
- case 13:
- return new StencilTableLogic();
- /*case 14:
- return new CastingTableLogic();*/
- default:
- return null;
- }
- }
-
- @Override
- public Integer getGui (World world, int x, int y, int z, EntityPlayer entityplayer)
- {
- int md = world.getBlockMetadata(x, y, z);
- if (md == 0)
- return 0;
- else if (md < 5)
- return 1;
- else if (md < 10)
- return 2;
- else
- return 3;
-
- //return -1;
- }
-
- @Override
- public Object getModInstance ()
- {
- return TConstruct.instance;
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < 6; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
-
- for (int iter = 10; iter < 14; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-
- @Override
- public void onBlockPlacedBy (World world, int x, int y, int z, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack)
- {
- if (PHConstruct.freePatterns)
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta == 5)
- {
- PatternChestLogic logic = (PatternChestLogic) world.getBlockTileEntity(x, y, z);
- for (int i = 1; i <= 13; i++)
- {
- logic.setInventorySlotContents(i - 1, new ItemStack(TContent.woodPattern, 1, i));
- }
- logic.setInventorySlotContents(13, new ItemStack(TContent.woodPattern, 1, 22));
- }
- }
- super.onBlockPlacedBy(world, x, y, z, par5EntityLiving, par6ItemStack);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/WoodRail.java b/src/main/java/tconstruct/blocks/WoodRail.java
deleted file mode 100644
index 897674ba..00000000
--- a/src/main/java/tconstruct/blocks/WoodRail.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package tconstruct.blocks;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockBaseRailLogic;
-import net.minecraft.block.BlockRailBase;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.item.EntityMinecart;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-
-public class WoodRail extends BlockRailBase
-{
- @SideOnly(Side.CLIENT)
- private Icon theIcon;
-
- public WoodRail(int par1)
- {
- super(par1, false);
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
- */
- public Icon getIcon (int par1, int par2)
- {
- return par2 >= 6 ? this.theIcon : this.blockIcon;
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * When this method is called, your block should register all the icons it needs with the given IconRegister. This
- * is the only chance you get to register icons.
- */
- public void registerIcons (IconRegister par1IconRegister)
- {
- this.blockIcon = par1IconRegister.registerIcon("tinker:woodrail");
- this.theIcon = par1IconRegister.registerIcon("tinker:woodrail_turn");
- }
-
- protected void func_94358_a (World par1World, int par2, int par3, int par4, int par5, int par6, int par7)
- {
- if (par7 > 0 && Block.blocksList[par7].canProvidePower() && (new BlockBaseRailLogic(this, par1World, par2, par3, par4)).getNumberOfAdjacentTracks() == 3)
- {
- this.refreshTrackShape(par1World, par2, par3, par4, false);
- }
- }
-
- @Override
- public float getRailMaxSpeed (World world, EntityMinecart cart, int y, int x, int z)
- {
- return 0.3f;
- }
-
-}
diff --git a/src/main/java/tconstruct/blocks/component/SmelteryComponent.java b/src/main/java/tconstruct/blocks/component/SmelteryComponent.java
deleted file mode 100644
index 59790d01..00000000
--- a/src/main/java/tconstruct/blocks/component/SmelteryComponent.java
+++ /dev/null
@@ -1,281 +0,0 @@
-package tconstruct.blocks.component;
-
-import java.util.ArrayList;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTankInfo;
-import net.minecraftforge.fluids.IFluidHandler;
-import tconstruct.blocks.logic.AdaptiveSmelteryLogic;
-import tconstruct.library.component.LogicComponent;
-import tconstruct.library.component.MultiFluidTank;
-import tconstruct.library.crafting.Smeltery;
-import tconstruct.library.util.CoordTuple;
-
-public class SmelteryComponent extends LogicComponent
-{
- final AdaptiveSmelteryLogic master;
- final SmelteryScan structure;
- final MultiFluidTank multitank;
- int maxTemp;
-
- public int fuelTicks;
- public int fuelGague;
- public int fuelAmount;
- boolean inUse;
-
- public int[] activeTemps = new int[0];
- public int[] meltingTemps = new int[0];
-
- CoordTuple activeLavaTank;
-
- public SmelteryComponent(AdaptiveSmelteryLogic inventory, SmelteryScan structure, MultiFluidTank multitank, int maxTemp)
- {
- master = inventory;
- this.structure = structure;
- this.multitank = multitank;
- this.maxTemp = maxTemp;
- }
-
- public void update ()
- {
- /*if (useTime > 0 && inUse)
- useTime -= 3;*/
- if (activeTemps.length == 0)
- inUse = false;
-
- updateFuelGague();
- }
-
- public void adjustSize (int size, boolean forceAdjust)
- {
- if (size != activeTemps.length || forceAdjust)
- {
- int[] tempActive = activeTemps;
- activeTemps = new int[size];
- int activeLength = tempActive.length > activeTemps.length ? activeTemps.length : tempActive.length;
- System.arraycopy(tempActive, 0, activeTemps, 0, activeLength);
-
- int[] tempMelting = meltingTemps;
- meltingTemps = new int[size];
- int meltingLength = tempMelting.length > meltingTemps.length ? meltingTemps.length : tempMelting.length;
- System.arraycopy(tempMelting, 0, meltingTemps, 0, meltingLength);
-
- if (activeTemps.length > 0 && activeTemps.length > tempActive.length)
- {
- for (int i = tempActive.length; i < activeTemps.length; i++)
- {
- activeTemps[i] = 20;
- meltingTemps[i] = 20;
- }
- }
- }
- }
-
- public void updateTemperatures ()
- {
- inUse = true;
- for (int i = 0; i < meltingTemps.length; i++)
- {
- meltingTemps[i] = Smeltery.instance.getLiquifyTemperature(master.getStackInSlot(i));
- }
- }
-
- public void heatItems ()
- {
- if (fuelTicks > 0)
- {
- boolean hasUse = false;
- for (int i = 0; i < meltingTemps.length; i++)
- {
- fuelTicks--;
- if (fuelTicks <= 0)
- break;
-
- ItemStack slot = master.getStackInSlot(i);
- if (meltingTemps[i] > 20 && slot != null)
- {
- hasUse = true;
- if (activeTemps[i] < maxTemp && activeTemps[i] < meltingTemps[i])
- {
- activeTemps[i] += 1;
- }
- else if (activeTemps[i] >= meltingTemps[i] && !world.isRemote)
- {
- FluidStack result = getResultFor(slot);
- if (result != null)
- {
- if (multitank.addFluidToTank(result, false))
- {
- master.setInventorySlotContents(i, null);
- activeTemps[i] = 20;
- ArrayList alloys = Smeltery.mixMetals(multitank.fluidlist);
- for (int al = 0; al < alloys.size(); al++)
- {
- FluidStack liquid = (FluidStack) alloys.get(al);
- multitank.addFluidToTank(liquid, true);
- }
- master.onInventoryChanged();
- master.setUpdateFluids();
- }
- }
- }
- }
-
- else
- activeTemps[i] = 20;
- }
- inUse = hasUse;
- }
- }
-
- void updateFuelGague ()
- {
- if (activeLavaTank == null || fuelTicks > 0 || structure.lavaTanks.size() < 1)
- return;
-
- if (!world.blockExists(activeLavaTank.x, activeLavaTank.y, activeLavaTank.z))
- {
- fuelAmount = 0;
- fuelGague = 0;
- return;
- }
-
- TileEntity tankContainer = world.getBlockTileEntity(activeLavaTank.x, activeLavaTank.y, activeLavaTank.z);
- if (tankContainer == null)
- {
- fuelAmount = 0;
- fuelGague = 0;
- return;
- }
-
- if (tankContainer instanceof IFluidHandler && inUse)
- {
- FluidStack liquid = ((IFluidHandler) tankContainer).drain(ForgeDirection.DOWN, drainFuelAmount(), false);
- if (liquid != null && liquid.getFluid().getBlockID() == Block.lavaStill.blockID)
- {
- liquid = ((IFluidHandler) tankContainer).drain(ForgeDirection.DOWN, drainFuelAmount(), true);
- fuelTicks += liquid.amount * 15;
-
- FluidTankInfo[] info = ((IFluidHandler) tankContainer).getTankInfo(ForgeDirection.DOWN);
- liquid = info[0].fluid;
- int capacity = info[0].capacity;
- if (liquid != null)
- {
- fuelAmount = liquid.amount;
- fuelGague = liquid.amount * 52 / capacity;
- }
- else
- {
- fuelAmount = 0;
- fuelGague = 0;
- }
- }
- else
- {
- boolean foundTank = false;
- int iter = 0;
- while (!foundTank)
- {
- CoordTuple possibleTank = structure.lavaTanks.get(iter);
- TileEntity newTankContainer = world.getBlockTileEntity(possibleTank.x, possibleTank.y, possibleTank.z);
- if (newTankContainer instanceof IFluidHandler)
- {
- FluidStack newliquid = ((IFluidHandler) newTankContainer).drain(ForgeDirection.UNKNOWN, drainFuelAmount(), false);
- if (newliquid != null && newliquid.getFluid().getBlockID() == Block.lavaStill.blockID && newliquid.amount > 0)
- {
- foundTank = true;
- setActiveLavaTank(possibleTank);
- iter = structure.lavaTanks.size();
-
- FluidTankInfo[] info = ((IFluidHandler) tankContainer).getTankInfo(ForgeDirection.DOWN);
- liquid = info[0].fluid;
- int capacity = info[0].capacity;
- if (liquid != null)
- {
- fuelAmount = liquid.amount;
- fuelGague = liquid.amount * 52 / capacity;
- }
- else
- {
- fuelAmount = 0;
- fuelGague = 0;
- }
- }
- }
- iter++;
- if (iter >= structure.lavaTanks.size())
- foundTank = true;
- }
- }
- }
- }
-
- public void setActiveLavaTank (CoordTuple coord)
- {
- activeLavaTank = coord;
- }
-
- private int drainFuelAmount ()
- {
- if (activeTemps.length == 0)
- return 0;
-
- int amount = activeTemps.length / 3;
- if (amount < 150)
- amount = 150;
- return amount;
- }
-
- public FluidStack getResultFor (ItemStack stack)
- {
- return Smeltery.instance.getSmelteryResult(stack);
- }
-
- public int getInternalTemperature ()
- {
- return maxTemp;
- }
-
- public int getTempForSlot (int slot)
- {
- return activeTemps[slot];
- }
-
- public int getMeltingPointForSlot (int slot)
- {
- return meltingTemps[slot];
- }
-
- public int getScaledFuelGague (int scale)
- {
- int ret = (fuelGague * scale) / 52;
- if (ret < 1)
- ret = 1;
- return ret;
- }
-
- /* NBT */
- public void readNetworkNBT (NBTTagCompound tags)
- {
- activeTemps = tags.getIntArray("Temperature");
- meltingTemps = tags.getIntArray("Melting");
- fuelAmount = tags.getInteger("Fuel");
- int[] tank = tags.getIntArray("LavaTank");
- if (tank.length > 0)
- activeLavaTank = new CoordTuple(tank[0], tank[1], tank[2]);
- }
-
- public void writeNetworkNBT (NBTTagCompound tags)
- {
- tags.setIntArray("Temperature", activeTemps);
- tags.setIntArray("Melting", meltingTemps);
- tags.setInteger("Fuel", fuelAmount);
- if (activeLavaTank != null)
- tags.setIntArray("LavaTank", new int[] { activeLavaTank.x, activeLavaTank.y, activeLavaTank.z });
- }
-}
diff --git a/src/main/java/tconstruct/blocks/component/SmelteryScan.java b/src/main/java/tconstruct/blocks/component/SmelteryScan.java
deleted file mode 100644
index 62319a9f..00000000
--- a/src/main/java/tconstruct/blocks/component/SmelteryScan.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package tconstruct.blocks.component;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import net.minecraft.block.Block;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagIntArray;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.tileentity.TileEntity;
-import tconstruct.common.TContent;
-import tconstruct.library.component.TankLayerScan;
-import tconstruct.library.util.CoordTuple;
-import tconstruct.library.util.IServantLogic;
-
-public class SmelteryScan extends TankLayerScan
-{
- public ArrayList lavaTanks = new ArrayList();
-
- public SmelteryScan(TileEntity te, Block... id)
- {
- super(te, id);
- }
-
- @Override
- public void checkValidStructure ()
- {
- lavaTanks.clear();
- super.checkValidStructure();
- }
-
- protected boolean checkAir (int x, int y, int z)
- {
- Block block = Block.blocksList[world.getBlockId(x, y, z)];
- if (block == null || block.isAirBlock(world, x, y, z) || block == TContent.tankAir)
- return true;
-
- return false;
- }
-
- @Override
- protected boolean checkServant (int x, int y, int z)
- {
- Block block = Block.blocksList[world.getBlockId(x, y, z)];
- if (block == null || block.isAirBlock(world, x, y, z) || !isValidBlock(x, y, z))
- return false;
-
- if (!block.hasTileEntity(world.getBlockMetadata(x, y, z)))
- return false;
-
- TileEntity be = world.getBlockTileEntity(x, y, z);
- if (be instanceof IServantLogic)
- {
- boolean ret = ((IServantLogic) be).setPotentialMaster(this.imaster, this.world, x, y, z);
- if (ret && block == TContent.lavaTank)
- lavaTanks.add(new CoordTuple(x, y, z));
- return ret;
- }
-
- return false;
- }
-
- @Override
- protected void finalizeStructure ()
- {
- super.finalizeStructure();
- if (lavaTanks.size() < 1)
- completeStructure = false;
- else
- {
- for (CoordTuple coord : airCoords)
- {
- if (world.getBlockId(coord.x, coord.y, coord.z) != TContent.tankAir.blockID)
- {
- world.setBlock(coord.x, coord.y, coord.z, TContent.tankAir.blockID);
- IServantLogic servant = (IServantLogic) world.getBlockTileEntity(coord.x, coord.y, coord.z);
- servant.verifyMaster(imaster, world, master.xCoord, master.yCoord, master.zCoord);
- }
- }
- }
- }
-
- @Override
- protected void invalidateStructure ()
- {
- super.invalidateStructure();
- for (CoordTuple coord : airCoords)
- {
- TileEntity servant = world.getBlockTileEntity(coord.x, coord.y, coord.z);
- if (servant instanceof IServantLogic)
- ((IServantLogic) servant).invalidateMaster(imaster, world, master.xCoord, master.yCoord, master.zCoord);
- }
- }
-
- @Override
- protected void invalidateBlocksAbove (int height)
- {
- for (CoordTuple coord : airCoords)
- {
- if (coord.y < height)
- continue;
-
- TileEntity servant = world.getBlockTileEntity(coord.x, coord.y, coord.z);
- if (servant instanceof IServantLogic)
- ((IServantLogic) servant).invalidateMaster(imaster, world, master.xCoord, master.yCoord, master.zCoord);
- }
- }
-
- @Override
- public void cleanup ()
- {
- super.cleanup();
- Iterator i = airCoords.iterator();
- while (i.hasNext())
- {
- CoordTuple coord = (CoordTuple) i.next();
- TileEntity te = world.getBlockTileEntity(coord.x, coord.y, coord.z);
- if (te != null && te instanceof IServantLogic)
- {
- ((IServantLogic) te).invalidateMaster(imaster, world, master.xCoord, master.yCoord, master.zCoord);
- }
- }
- }
-
- //Sync lava tanks for fuel values
- @Override
- public void readNetworkNBT (NBTTagCompound tags)
- {
- super.readNetworkNBT(tags);
-
- NBTTagList tanks = tags.getTagList("Tanks");
- if (tanks != null)
- {
- lavaTanks.clear();
-
- for (int i = 0; i < tanks.tagCount(); ++i)
- {
- NBTTagIntArray tag = (NBTTagIntArray) tanks.tagAt(i);
- int[] coord = tag.intArray;
- layerAirCoords.add(new CoordTuple(coord[0], coord[1], coord[2]));
- }
- }
- }
-
- @Override
- public void writeNetworkNBT (NBTTagCompound tags)
- {
- super.writeNetworkNBT(tags);
-
- NBTTagList tanks = new NBTTagList();
- for (CoordTuple coord : lavaTanks)
- {
- tanks.appendTag(new NBTTagIntArray("coord", new int[] { coord.x, coord.y, coord.z }));
- }
- tags.setTag("Tanks", tanks);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/component/TankAirComponent.java b/src/main/java/tconstruct/blocks/component/TankAirComponent.java
deleted file mode 100644
index 703e9ac4..00000000
--- a/src/main/java/tconstruct/blocks/component/TankAirComponent.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package tconstruct.blocks.component;
-
-import java.util.ArrayList;
-
-import net.minecraftforge.fluids.FluidStack;
-import tconstruct.library.component.MultiFluidTank;
-
-public class TankAirComponent extends MultiFluidTank
-{
- public TankAirComponent()
- {
- }
-
- public TankAirComponent(int i)
- {
- super(i);
- }
-
- public void overrideFluids (ArrayList fluids)
- {
- fluidlist = fluids;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/AdaptiveDrainLogic.java b/src/main/java/tconstruct/blocks/logic/AdaptiveDrainLogic.java
deleted file mode 100644
index 4330d44f..00000000
--- a/src/main/java/tconstruct/blocks/logic/AdaptiveDrainLogic.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package tconstruct.blocks.logic;
-
-import tconstruct.TConstruct;
-import tconstruct.library.crafting.AlloyMix;
-import tconstruct.library.util.IFacingLogic;
-import tconstruct.library.util.IMasterLogic;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTankInfo;
-import net.minecraftforge.fluids.IFluidHandler;
-
-public class AdaptiveDrainLogic extends MultiServantLogic implements IFluidHandler, IFacingLogic//, ISwitchableMaster
-{
- byte direction;
-
- public boolean canUpdate ()
- {
- return false;
- }
-
- @Override
- public boolean setPotentialMaster (IMasterLogic master, World world, int x, int y, int z)
- {
- // TConstruct.logger.info("Master: "+master);
- return (master instanceof AdaptiveSmelteryLogic || master instanceof AdaptiveDrainLogic) && !hasMaster;
- }
-
- @Override
- public int fill (ForgeDirection from, FluidStack resource, boolean doFill)
- {
- if (hasValidMaster() && canDrain(from, null))
- {
- AdaptiveSmelteryLogic smeltery = (AdaptiveSmelteryLogic) worldObj.getBlockTileEntity(master.x, master.y, master.z);
- return smeltery.fill(from, resource, doFill);
- }
- return 0;
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
- {
- // TConstruct.logger.info("Attempting drain " + hasValidMaster());
- if (hasValidMaster() && canDrain(from, null))
- {
- AdaptiveSmelteryLogic smeltery = (AdaptiveSmelteryLogic) worldObj.getBlockTileEntity(master.x, master.y, master.z);
- // TConstruct.logger.info("Found master");
- return smeltery.drain(from, maxDrain, doDrain);
- }
- return null;
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, FluidStack resource, boolean doDrain)
- {
- if (hasValidMaster() && canDrain(from, null))
- {
- AdaptiveSmelteryLogic smeltery = (AdaptiveSmelteryLogic) worldObj.getBlockTileEntity(master.x, master.y, master.z);
- return smeltery.drain(from, resource, doDrain);
- }
- return null;
- }
-
- @Override
- public boolean canFill (ForgeDirection from, Fluid fluid)
- {
- if (hasValidMaster())
- {
- AdaptiveSmelteryLogic smeltery = (AdaptiveSmelteryLogic) worldObj.getBlockTileEntity(master.x, master.y, master.z);
- return smeltery.getFillState() < 2;
- }
- return false;
- }
-
- @Override
- public boolean canDrain (ForgeDirection from, Fluid fluid)
- {
- if (hasValidMaster())
- {
- AdaptiveSmelteryLogic smeltery = (AdaptiveSmelteryLogic) worldObj.getBlockTileEntity(master.x, master.y, master.z);
- return smeltery.getFillState() > 0;
- }
- return false;
- }
-
- @Override
- public FluidTankInfo[] getTankInfo (ForgeDirection from)
- {
- if (hasValidMaster() && (from == getForgeDirection() || from == getForgeDirection().getOpposite() || from == ForgeDirection.UNKNOWN))
- {
- AdaptiveSmelteryLogic smeltery = (AdaptiveSmelteryLogic) worldObj.getBlockTileEntity(master.x, master.y, master.z);
- return smeltery.getTankInfo(ForgeDirection.UNKNOWN);
- }
- return null;
- }
-
- @Override
- public byte getRenderDirection ()
- {
- return direction;
- }
-
- @Override
- public ForgeDirection getForgeDirection ()
- {
- return ForgeDirection.VALID_DIRECTIONS[direction];
- }
-
- @Override
- public void setDirection (int side)
- {
-
- }
-
- @Override
- public void setDirection (float yaw, float pitch, EntityLivingBase player)
- {
- if (pitch > 45)
- direction = 1;
- else if (pitch < -45)
- direction = 0;
- else
- {
- int facing = MathHelper.floor_double((double) (yaw / 360) + 0.5D) & 3;
- switch (facing)
- {
- case 0:
- direction = 2;
- break;
-
- case 1:
- direction = 5;
- break;
-
- case 2:
- direction = 3;
- break;
-
- case 3:
- direction = 4;
- break;
- }
- }
- }
-
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- direction = tags.getByte("Direction");
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- tags.setByte("Direction", direction);
- }
-
- /* Packets */
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeToNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readFromNBT(packet.data);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/AdaptiveSmelteryLogic.java b/src/main/java/tconstruct/blocks/logic/AdaptiveSmelteryLogic.java
deleted file mode 100644
index 365f239a..00000000
--- a/src/main/java/tconstruct/blocks/logic/AdaptiveSmelteryLogic.java
+++ /dev/null
@@ -1,586 +0,0 @@
-package tconstruct.blocks.logic;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTankInfo;
-import net.minecraftforge.fluids.IFluidHandler;
-import tconstruct.TConstruct;
-import tconstruct.blocks.component.SmelteryComponent;
-import tconstruct.blocks.component.SmelteryScan;
-import tconstruct.common.TContent;
-import tconstruct.inventory.AdaptiveSmelteryContainer;
-import tconstruct.library.blocks.AdaptiveInventoryLogic;
-import tconstruct.library.component.IComponentHolder;
-import tconstruct.library.component.LogicComponent;
-import tconstruct.library.component.MultiFluidTank;
-import tconstruct.library.util.CoordTuple;
-import tconstruct.library.util.IActiveLogic;
-import tconstruct.library.util.IMasterLogic;
-import tconstruct.library.util.IServantLogic;
-
-public class AdaptiveSmelteryLogic extends AdaptiveInventoryLogic implements IActiveLogic, IMasterLogic, IComponentHolder, IFluidHandler
-{
- byte direction;
- boolean updateFluids = false;
- boolean recheckStructure = false;
- boolean updateAir = false;
- SmelteryScan structure = new SmelteryScan(this, TContent.smeltery, TContent.lavaTank);
- MultiFluidTank multitank = new MultiFluidTank();
- SmelteryComponent smeltery = new SmelteryComponent(this, structure, multitank, 800);
- HashMap airUpdates = new HashMap();
- int tick = 0;
-
- public MultiFluidTank getMultiTank ()
- {
- return multitank;
- }
-
- public SmelteryComponent getSmeltery ()
- {
- return smeltery;
- }
-
- public void updateEntity ()
- {
- tick++;
- if (tick % 4 == 0)
- smeltery.heatItems();
-
- if (!worldObj.isRemote)
- {
- if (tick % 20 == 0)
- {
- if (structure.isComplete())
- smeltery.update();
-
- if (updateFluids)
- {
- distributeFluids();
- updateFluids = false;
- }
-
- if (updateAir)
- {
- updateAir();
- updateAir = false;
- }
-
- if (recheckStructure)
- {
- structure.recheckStructure();
- recheckStructure = false;
- }
- }
-
- if (tick >= 60)
- {
- if (!structure.isComplete())
- {
- structure.checkValidStructure();
- if (structure.isComplete())
- {
- validateSmeltery();
- }
- }
- tick = 0;
- }
-
- if (airUpdates.size() > 0)
- updateFluidBlocks();
- }
- }
-
- public void setUpdateFluids ()
- {
- updateFluids = true;
- }
-
- @Override
- public List getComponents ()
- {
- ArrayList ret = new ArrayList(3);
- ret.add(structure);
- ret.add(multitank);
- ret.add(smeltery);
- return ret;
- }
-
- /* Structure */
-
- @Override
- public void setWorldObj (World world)
- {
- super.setWorldObj(world);
- structure.setWorld(world);
- smeltery.setWorld(world);
- }
-
- @Override
- public void notifyChange (IServantLogic servant, int x, int y, int z)
- {
- if (!worldObj.isRemote)
- {
- //System.out.println("Notifying of change from "+new CoordTuple(x, y, z));
- recheckStructure = true;
- }
- }
-
- @Override
- public void placeBlock (EntityLivingBase entity, ItemStack itemstack)
- {
- structure.checkValidStructure();
- if (structure.isComplete())
- {
- validateSmeltery();
- }
- }
-
- void validateSmeltery ()
- {
- adjustInventory(structure.getAirSize(), true);
- smeltery.adjustSize(structure.getAirSize(), true);
- multitank.setCapacity(structure.getAirSize() * (TConstruct.ingotLiquidValue * 18));
- smeltery.setActiveLavaTank(structure.lavaTanks.get(0));
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
-
- @Override
- public void removeBlock ()
- {
- structure.cleanup();
- }
-
- /* Direction */
-
- @Override
- public byte getRenderDirection ()
- {
- return direction;
- }
-
- @Override
- public ForgeDirection getForgeDirection ()
- {
- return ForgeDirection.VALID_DIRECTIONS[direction];
- }
-
- @Override
- public void setDirection (int side)
- {
-
- }
-
- @Override
- public void setDirection (float yaw, float pitch, EntityLivingBase player)
- {
- int facing = MathHelper.floor_double((double) (yaw / 360) + 0.5D) & 3;
- switch (facing)
- {
- case 0:
- direction = 2;
- break;
-
- case 1:
- direction = 5;
- break;
-
- case 2:
- direction = 3;
- break;
-
- case 3:
- direction = 4;
- break;
- }
- }
-
- @Override
- public boolean getActive ()
- {
- return structure.isComplete();
- }
-
- @Override
- public void setActive (boolean flag)
- {
-
- }
-
- /* Inventory */
-
- @Override
- public int getInventoryStackLimit ()
- {
- return 1;
- }
-
- @Override
- public void setInventorySlotContents (int slot, ItemStack itemstack)
- {
- inventory[slot] = itemstack;
- if (itemstack != null && itemstack.stackSize > getInventoryStackLimit())
- {
- itemstack.stackSize = getInventoryStackLimit();
- }
- updateWorldBlock(slot, itemstack);
- updateAir = true;
- }
-
- @Override
- public ItemStack decrStackSize (int slot, int quantity)
- {
- if (inventory[slot] != null)
- {
- if (inventory[slot].stackSize <= quantity)
- {
- ItemStack stack = inventory[slot];
- inventory[slot] = null;
- updateWorldBlock(slot, inventory[slot]);
- return stack;
- }
- ItemStack split = inventory[slot].splitStack(quantity);
- if (inventory[slot].stackSize == 0)
- {
- inventory[slot] = null;
- }
-
- updateWorldBlock(slot, inventory[slot]);
- return split;
- }
- else
- {
- return null;
- }
- }
-
- @Override
- public void onInventoryChanged ()
- {
- smeltery.updateTemperatures();
- updateAir = true;
- super.onInventoryChanged();
- }
-
- void updateWorldBlock (int slot, ItemStack itemstack)
- {
- CoordTuple air = structure.getAirByIndex(slot);
- if (air != null)
- {
- TileEntity te = worldObj.getBlockTileEntity(air.x, air.y, air.z);
- if (te != null && te instanceof TankAirLogic)
- {
- ((TankAirLogic) te).setInventorySlotContents(0, itemstack);
- }
- }
- }
-
- static final int pixelLayer = 162;
-
- //Do the Monster Mash~
- public void distributeFluids ()
- {
- //Calculate liquids in each block
- int size = structure.getAirLayerSize();
- //HashMap blocks = new HashMap();
-
- for (FluidStack fluid : multitank.fluidlist)
- {
- //Base calculations per liquid
- LiquidData data = new LiquidData(fluid.amount, size);
- int baseY = structure.airCoords.get(0).y;
- int layerSize = structure.getAirLayerSize();
-
- //Calculate where to distribute liquids
- for (int i = 0; i < structure.airCoords.size(); i++)
- {
- LiquidDataInstance instance;
- CoordTuple coord = structure.airCoords.get(i);
- int height = 16 * (coord.y - baseY);
- int position = i % layerSize;
-
- if (!airUpdates.containsKey(coord))
- {
- instance = new LiquidDataInstance();
- airUpdates.put(coord, instance);
- }
- else
- {
- instance = airUpdates.get(coord);
- }
-
- if (instance.openLayers() > 0) //This is capable of sending negative liquid sizes to blocks without the stopgap check
- {
- if (position > data.blocksWithExtra)
- {
- //Calculate open layers
- int open = data.layers - height + 1;
- if (open < 1) //Temporary stopgap check
- continue;
- if (open > instance.openLayers())
- open = instance.openLayers();
-
- //Copy fluid
- FluidStack newFluid = fluid.copy();
- newFluid.amount = pixelLayer * open;
- instance.addFluid(open, newFluid);
-
- //Subtract from total
- data.totalAmount -= newFluid.amount;
- if (data.totalAmount <= 0)
- break;
- }
- else if (position == data.blocksWithExtra && data.leftovers > 0)
- {
- //Calculate open layers
- int open = data.layers - height + 1;
- if (open < 1) //Temporary stopgap check
- continue;
- boolean full = false;
- if (open > instance.openLayers())
- {
- open = instance.openLayers();
- full = true;
- }
-
- //Copy fluid
- FluidStack newFluid = fluid.copy();
- newFluid.amount = pixelLayer * open;
- if (!full)
- newFluid.amount += data.leftovers;
- instance.addFluid(open, newFluid);
-
- //Subtract from total
- data.totalAmount -= newFluid.amount;
- if (data.totalAmount <= 0)
- break;
- }
- else
- {
- //Calculate open layers
- int open = data.layers - height;
- if (open < 1) //Temporary stopgap check
- continue;
- if (open > instance.openLayers())
- open = instance.openLayers();
-
- //Copy fluid
- FluidStack newFluid = fluid.copy();
- newFluid.amount = pixelLayer * open;
- instance.addFluid(open, newFluid);
-
- //Subtract from total
- data.totalAmount -= newFluid.amount;
- if (data.totalAmount <= 0)
- break;
- }
- }
- }
- }
-
- //Distribute liquids to each block
- }
-
- protected void updateFluidBlocks ()
- {
- Iterator iter = airUpdates.entrySet().iterator();
- byte count = 0;
- while (iter.hasNext() && count < 40)
- {
- Map.Entry pairs = (Map.Entry) iter.next();
- CoordTuple coord = (CoordTuple) pairs.getKey();
- TileEntity te = worldObj.getBlockTileEntity(coord.x, coord.y, coord.z);
- if (te instanceof TankAirLogic)
- {
- ((TankAirLogic) te).overrideFluids(((LiquidDataInstance) pairs.getValue()).fluids);
- }
- iter.remove();
- count++;
- }
- }
-
- public void updateAir ()
- {
- for (CoordTuple loc : structure.airCoords)
- worldObj.markBlockForUpdate(loc.x, loc.y, loc.z);
- }
-
- class LiquidData
- {
- public int totalAmount;
- public int layers;
- public int leftovers;
- public int blocksWithExtra;
-
- LiquidData(int amount, int blocks)
- {
- totalAmount = amount;
- int layerAmount = pixelLayer * blocks;
- layers = amount / layerAmount;
- leftovers = amount % pixelLayer;
- blocksWithExtra = (amount % layerAmount) / pixelLayer;
- }
- }
-
- class LiquidDataInstance
- {
- public ArrayList fluids = new ArrayList();
- int layers = 0;
-
- public int openLayers ()
- {
- return 16 - layers;
- }
-
- public void addFluid (int l, FluidStack fluid)
- {
- layers += l;
- fluids.add(fluid);
- }
- }
-
- /* Gui */
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z)
- {
- return new AdaptiveSmelteryContainer(inventoryplayer, this);
- }
-
- public int getTempForSlot (int slot)
- {
- return smeltery.activeTemps[slot];
- }
-
- public int getMeltingPointForSlot (int slot)
- {
- return smeltery.meltingTemps[slot];
- }
-
- @Override
- public String getDefaultName ()
- {
- return "crafters.Smeltery";
- }
-
- /* Fluids */
-
- @Override
- public int fill (ForgeDirection from, FluidStack resource, boolean doFill)
- {
- return multitank.fill(resource, doFill);
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, FluidStack resource, boolean doDrain)
- {
- return multitank.drain(resource.amount, doDrain);
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
- {
- return multitank.drain(maxDrain, doDrain);
- }
-
- @Override
- public boolean canFill (ForgeDirection from, Fluid fluid)
- {
- return false;
- }
-
- @Override
- public boolean canDrain (ForgeDirection from, Fluid fluid)
- {
- return false;
- }
-
- @Override
- public FluidTankInfo[] getTankInfo (ForgeDirection from)
- {
- return multitank.getMultiTankInfo();
- }
-
- public int getFillState ()
- {
- return 1;
- }
-
- /* NBT */
-
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- readNetworkNBT(tags);
-
- structure.readFromNBT(tags);
- multitank.readFromNBT(tags);
- smeltery.readFromNBT(tags);
- }
-
- public void readNetworkNBT (NBTTagCompound tags)
- {
- direction = tags.getByte("Direction");
- adjustInventory(tags.getInteger("InvSize"), false);
- super.readInventoryFromNBT(tags);
-
- structure.readNetworkNBT(tags);
- multitank.readNetworkNBT(tags);
- smeltery.readNetworkNBT(tags);
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- writeNetworkNBT(tags);
-
- structure.writeToNBT(tags);
- multitank.writeToNBT(tags);
- smeltery.writeToNBT(tags);
- }
-
- public void writeNetworkNBT (NBTTagCompound tags)
- {
- tags.setByte("Direction", direction);
- tags.setInteger("InvSize", inventory.length);
- super.writeInventoryToNBT(tags);
-
- structure.writeNetworkNBT(tags);
- multitank.writeNetworkNBT(tags);
- smeltery.writeNetworkNBT(tags);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readNetworkNBT(packet.data);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeNetworkNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/AqueductLogic.java b/src/main/java/tconstruct/blocks/logic/AqueductLogic.java
deleted file mode 100644
index 100dfe21..00000000
--- a/src/main/java/tconstruct/blocks/logic/AqueductLogic.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package tconstruct.blocks.logic;
-
-import net.minecraft.tileentity.TileEntity;
-
-public class AqueductLogic extends TileEntity //implements ITankContainer
-{
-
- /*@Override
- public int fill (ForgeDirection from, FluidStack resource, boolean doFill)
- {
- return 0;
- }
-
- @Override
- public int fill (int tankIndex, FluidStack resource, boolean doFill)
- {
- return 0;
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
- {
- return null;
- }
-
- @Override
- public FluidStack drain (int tankIndex, int maxDrain, boolean doDrain)
- {
- return null;
- }
-
- @Override
- public ILiquidTank[] getTanks (ForgeDirection direction)
- {
- return null;
- }
-
- @Override
- public ILiquidTank getTank (ForgeDirection direction, FluidStack type)
- {
- return null;
- }*/
-
-}
diff --git a/src/main/java/tconstruct/blocks/logic/CastingBasinLogic.java b/src/main/java/tconstruct/blocks/logic/CastingBasinLogic.java
deleted file mode 100644
index fdb60792..00000000
--- a/src/main/java/tconstruct/blocks/logic/CastingBasinLogic.java
+++ /dev/null
@@ -1,430 +0,0 @@
-package tconstruct.blocks.logic;
-
-import tconstruct.TConstruct;
-import tconstruct.library.blocks.InventoryLogic;
-import tconstruct.library.crafting.CastingRecipe;
-import tconstruct.library.util.IPattern;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.ISidedInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidEvent;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTankInfo;
-import net.minecraftforge.fluids.IFluidHandler;
-import net.minecraftforge.fluids.IFluidTank;
-
-public class CastingBasinLogic extends InventoryLogic implements IFluidTank, IFluidHandler, ISidedInventory
-{
- public FluidStack liquid;
- int castingDelay = 0;
- int renderOffset = 0;
- int capacity = 0;
- boolean needsUpdate;
- boolean init = true;
- int tick;
-
- public CastingBasinLogic()
- {
- super(2);
- }
-
- @Override
- public int getInventoryStackLimit ()
- {
- return 1;
- }
-
- @Override
- public String getInvName () //Not a gui block
- {
- return null;
- }
-
- @Override
- protected String getDefaultName () //Still not a gui block
- {
- return null;
- }
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z) //Definitely not a gui block
- {
- return null;
- }
-
- /* Tank */
-
- @Override
- public int getCapacity ()
- {
- return this.capacity;
- }
-
- public int updateCapacity () //Only used to initialize
- {
- int ret = TConstruct.ingotLiquidValue;
-
- ItemStack inv = inventory[0];
-
- if (inv != null && inv.getItem() instanceof IPattern)
- {
- int cost = ((IPattern) inv.getItem()).getPatternCost(inv);
- if (cost > 0)
- ret *= ((IPattern) inv.getItem()).getPatternCost(inv) * 0.5;
- else
- ret = TConstruct.basinCasting.getCastingAmount(this.liquid, inv);
- }
-
- else
- {
- ret = TConstruct.basinCasting.getCastingAmount(this.liquid, inv);
- }
-
- TConstruct.logger.info("Ret: " + ret);
- return ret;
- }
-
- public int updateCapacity (int capacity)
- {
- int ret = TConstruct.ingotLiquidValue;
-
- ItemStack inv = inventory[0];
-
- if (inv != null && inv.getItem() instanceof IPattern)
- {
- int cost = ((IPattern) inv.getItem()).getPatternCost(inv);
- if (cost > 0)
- ret *= ((IPattern) inv.getItem()).getPatternCost(inv) * 0.5;
- else
- ret = capacity;
- }
-
- else
- ret = capacity;
-
- return ret;
- }
-
- @Override
- public int fill (FluidStack resource, boolean doFill)
- {
- if (resource == null)
- return 0;
-
- if (this.liquid == null)
- {
- CastingRecipe recipe = TConstruct.basinCasting.getCastingRecipe(resource, inventory[0]);
- if (recipe == null)
- return 0;
- this.capacity = updateCapacity(recipe.castingMetal.amount);
-
- if (inventory[1] == null)
- {
- FluidStack copyLiquid = resource.copy();
-
- if (copyLiquid.amount > this.capacity)
- {
- copyLiquid.amount = this.capacity;
- }
-
- if (doFill)
- {
- if (copyLiquid.amount == this.capacity)
- {
- castingDelay = recipe.coolTime;
- }
- renderOffset = copyLiquid.amount;
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- this.liquid = copyLiquid;
- needsUpdate = true;
- }
- return copyLiquid.amount;
- }
- else
- {
- return 0;
- }
- }
-
- else if (resource.isFluidEqual(this.liquid))
- {
- if (resource.amount + this.liquid.amount >= this.capacity) //Start timer here
- {
- int roomInTank = this.capacity - liquid.amount;
- if (doFill && roomInTank > 0)
- {
- renderOffset = roomInTank;
- castingDelay = TConstruct.basinCasting.getCastingDelay(this.liquid, inventory[0]);
- this.liquid.amount = this.capacity;
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- needsUpdate = true;
- }
- return roomInTank;
- }
-
- else
- {
- if (doFill)
- {
- this.liquid.amount += resource.amount;
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- needsUpdate = true;
- }
- return resource.amount;
- }
- }
-
- else
- {
- return 0;
- }
- }
-
- @Override
- public void onInventoryChanged () //Isn't actually called?
- {
- super.onInventoryChanged();
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- needsUpdate = true;
- }
-
- public ItemStack decrStackSize (int slot, int quantity)
- {
- ItemStack stack = super.decrStackSize(slot, quantity);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- return stack;
- }
-
- @Override
- public FluidStack drain (int maxDrain, boolean doDrain)
- {
- if (liquid == null || liquid.fluidID <= 0 || castingDelay > 0)
- return null;
- if (liquid.amount <= 0)
- return null;
-
- int used = maxDrain;
- if (liquid.amount < used)
- used = liquid.amount;
-
- if (doDrain)
- {
- liquid.amount -= used;
- }
-
- FluidStack drained = liquid.copy();//new FluidStack(liquid.itemID, used, liquid.itemMeta);
- drained.amount = used;
-
- // Reset liquid if emptied
- if (liquid.amount <= 0)
- liquid = null;
-
- if (doDrain)
- FluidEvent.fireEvent(new FluidEvent.FluidDrainingEvent(drained, this.worldObj, this.xCoord, this.yCoord, this.zCoord, this));
-
- return drained;
- }
-
- /* Tank Container */
-
- @Override
- public int fill (ForgeDirection from, FluidStack resource, boolean doFill)
- {
- //if (from == ForgeDirection.UP)
- return fill(resource, doFill);
- //return 0;
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
- {
- return drain(maxDrain, doDrain);
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, FluidStack resource, boolean doDrain)
- {
- return null;
- }
-
- @Override
- public boolean canFill (ForgeDirection from, Fluid fluid)
- {
- return false;
- }
-
- @Override
- public boolean canDrain (ForgeDirection from, Fluid fluid)
- {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public FluidTankInfo[] getTankInfo (ForgeDirection from)
- {
- return new FluidTankInfo[] { getInfo() };
- }
-
- @Override
- public FluidStack getFluid ()
- {
- return liquid == null ? null : liquid.copy();
- }
-
- @Override
- public int getFluidAmount ()
- {
- return liquid != null ? liquid.amount : 0;
- }
-
- @Override
- public FluidTankInfo getInfo ()
- {
- FluidTankInfo info = new FluidTankInfo(this);
- return info;
- }
-
- public int getLiquidAmount ()
- {
- return liquid.amount - renderOffset;
- }
-
- /* Updating */
- @Override
- public void updateEntity ()
- {
- if (castingDelay > 0)
- {
- //TConstruct.logger.info("Casting");
- castingDelay--;
- if (castingDelay == 0)
- castLiquid();
- }
- if (renderOffset > 0)
- {
- renderOffset -= 6;
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-
- tick++;
- if (tick % 20 == 0)
- {
- tick = 0;
- if (needsUpdate)
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
- }
-
- public void castLiquid ()
- {
- CastingRecipe recipe = TConstruct.basinCasting.getCastingRecipe(liquid, inventory[0]);
- if (recipe != null)
- {
- inventory[1] = recipe.getResult();
- if (recipe.consumeCast)
- inventory[0] = null;
- liquid = null;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
- }
-
- /* NBT */
-
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- readCustomNBT(tags);
- }
-
- public void readCustomNBT (NBTTagCompound tags)
- {
- if (tags.getBoolean("hasLiquid"))
- {
- this.liquid = FluidStack.loadFluidStackFromNBT(tags.getCompoundTag("Fluid"));
- }
- //FluidStack fluid = FluidStack.loadFluidStackFromNBT(nbt);
- //this.liquid = new FluidStack(tags.getInteger("itemID"), tags.getInteger("amount"), tags.getInteger("itemMeta"));
- else
- this.liquid = null;
-
- if (tags.getBoolean("Initialized"))
- this.capacity = tags.getInteger("Capacity");
- else
- this.capacity = updateCapacity();
- this.castingDelay = tags.getInteger("castingDelay");
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- writeCustomNBT(tags);
- }
-
- public void writeCustomNBT (NBTTagCompound tags)
- {
- tags.setBoolean("hasLiquid", liquid != null);
- if (liquid != null)
- {
- NBTTagCompound nbt = new NBTTagCompound();
- liquid.writeToNBT(nbt);
- tags.setCompoundTag("Fluid", nbt);
- }
- tags.setBoolean("Initialized", init);
- tags.setInteger("Capacity", capacity);
- tags.setInteger("castingDelay", castingDelay);
- }
-
- /* Packets */
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeToNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readFromNBT(packet.data);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-
- @Override
- public int[] getAccessibleSlotsFromSide (int side)
- {
- return new int[] { 0, 1 };
- }
-
- @Override
- public boolean canInsertItem (int slot, ItemStack itemstack, int side)
- {
- if (liquid != null)
- return false;
-
- if (slot == 0)
- return true;
-
- return false;
- }
-
- @Override
- public boolean canExtractItem (int slot, ItemStack itemstack, int side)
- {
- if (slot == 1)
- return true;
-
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/CastingChannelLogic.java b/src/main/java/tconstruct/blocks/logic/CastingChannelLogic.java
deleted file mode 100644
index f519c46a..00000000
--- a/src/main/java/tconstruct/blocks/logic/CastingChannelLogic.java
+++ /dev/null
@@ -1,583 +0,0 @@
-package tconstruct.blocks.logic;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Set;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.NetHandler;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTank;
-import net.minecraftforge.fluids.FluidTankInfo;
-import net.minecraftforge.fluids.IFluidHandler;
-import tconstruct.TConstruct;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-/**
- * @author BluSunrize
- */
-
-public class CastingChannelLogic extends TileEntity implements IFluidHandler
-{
- public final static int fillMax = TConstruct.ingotLiquidValue;
- public final static int outputMax = TConstruct.ingotLiquidValue;
- FluidTank internalTank = new FluidTank(fillMax);
- HashMap subTanks = new HashMap();
- public ForgeDirection lastProvider;
- public ArrayList validOutputs = new ArrayList();
- public int ticks = 0;
- public int recentlyFilledDelay;
-
- /* UNUSED
- public CastingChannelMode mode = CastingChannelMode.SINGLEDRAIN;
- */
-
- public CastingChannelLogic()
- {
- lastProvider = ForgeDirection.UNKNOWN;
- validOutputs.add(ForgeDirection.DOWN);
- validOutputs.add(ForgeDirection.NORTH);
- validOutputs.add(ForgeDirection.SOUTH);
- validOutputs.add(ForgeDirection.EAST);
- validOutputs.add(ForgeDirection.WEST);
-
- subTanks.put(ForgeDirection.NORTH, new FluidTank(TConstruct.ingotLiquidValue/4));
- subTanks.put(ForgeDirection.SOUTH, new FluidTank(TConstruct.ingotLiquidValue/4));
- subTanks.put(ForgeDirection.WEST, new FluidTank(TConstruct.ingotLiquidValue/4));
- subTanks.put(ForgeDirection.EAST, new FluidTank(TConstruct.ingotLiquidValue/4));
- }
-
- @Override
- public void updateEntity ()
- {
- ticks++;
-
- boolean flagActiveFaucet = false;
-
- TileEntity possibleFaucet = worldObj.getBlockTileEntity(xCoord, yCoord+1, zCoord);
- if(possibleFaucet!=null && possibleFaucet instanceof FaucetLogic)
- flagActiveFaucet = ((FaucetLogic)possibleFaucet).active;
-
- if(ticks == 6 && !flagActiveFaucet)
- this.distributeFluids();
- if (ticks >= 12 && !flagActiveFaucet)
- {
- if (recentlyFilledDelay != 0)
- recentlyFilledDelay--;
- if (recentlyFilledDelay == 0 || lastProvider == ForgeDirection.UP)
- this.outputFluids();
-
- ticks = 0;
- }
- }
-
- public void changeOutputs(EntityPlayer player, int side, float hitX, float hitY, float hitZ)
- {
- /*
- * UNUSED
- if(player.isSneaking())
- {
-
- if(mode == null || mode == CastingChannelMode.SINGLEDRAIN)
- mode = CastingChannelMode.CONTINUEDRAIN;
- else
- mode = CastingChannelMode.SINGLEDRAIN;
-
- String s = "Casting Channel Mode "+(worldObj.isRemote?"client side: ":"server side: ");
- player.addChatMessage(s+mode.toString());
- return;
- }
- */
-
- ForgeDirection toggle = ForgeDirection.UNKNOWN;
- if(side == 0 || side == 1)
- {
- if(hitX>0.3125 && hitX<0.6875)
- if(hitZ>0 && hitZ<0.3125)
- toggle = ForgeDirection.NORTH;
- if(hitX>0.3125 && hitX<0.6875)
- if(hitZ>0.6875 && hitZ<1)
- toggle = ForgeDirection.SOUTH;
- if(hitZ>0.3125 && hitZ<0.6875)
- if(hitX>0 && hitX<0.3125)
- toggle = ForgeDirection.WEST;
- if(hitZ>0.3125 && hitZ<0.6875)
- if(hitX>0.6875 && hitX<1)
- toggle = ForgeDirection.EAST;
-
- if(side == 0)
- if(hitX>0.3125 && hitX<0.6875)
- if(hitZ>0.3125 && hitZ<0.6875)
- toggle = ForgeDirection.DOWN;
- }
- else
- {
- if(side==2)
- {
- if(hitX>0 && hitX<0.3125)
- toggle = ForgeDirection.WEST;
- if(hitX>0.6875 && hitX<1)
- toggle = ForgeDirection.EAST;
- }
- if(side==3)
- {
- if(hitX>0 && hitX<0.3125)
- toggle = ForgeDirection.WEST;
- if(hitX>0.6875 && hitX<1)
- toggle = ForgeDirection.EAST;
- }
- if(side==4)
- {
- if(hitZ>0 && hitZ<0.3125)
- toggle = ForgeDirection.NORTH;
- if(hitZ>0.6875 && hitZ<1)
- toggle = ForgeDirection.SOUTH;
- }
- if(side==5)
- {
- if(hitZ>0 && hitZ<0.3125)
- toggle = ForgeDirection.NORTH;
- if(hitZ>0.6875 && hitZ<1)
- toggle = ForgeDirection.SOUTH;
- }
- }
-
- if(toggle != ForgeDirection.UNKNOWN && toggle != ForgeDirection.UP)
- {
- TileEntity tile = worldObj.getBlockTileEntity(xCoord+toggle.offsetX,yCoord+toggle.offsetY,zCoord+toggle.offsetZ);
- if(tile instanceof IFluidHandler)
- if(validOutputs.contains(toggle))
- {
- validOutputs.remove(toggle);
- if(tile instanceof CastingChannelLogic && toggle != ForgeDirection.DOWN)
- ((CastingChannelLogic)tile).validOutputs.remove(toggle.getOpposite());
- }
- else
- {
- validOutputs.add(toggle);
- if(tile instanceof CastingChannelLogic && toggle != ForgeDirection.DOWN)
- if(! ((CastingChannelLogic)tile).validOutputs.contains(toggle.getOpposite()) )
- ((CastingChannelLogic)tile).validOutputs.add(toggle.getOpposite());
- }
-
- }
- this.worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-
- private void distributeFluids()
- {
- /* DEBUG
- boolean printDebugLog = false;
- ArrayList debugLog = new ArrayList();
- */
- //Move Fluid to Output Tanks
- Set connected = this.getOutputs().keySet();
-
- if(connected.contains(ForgeDirection.DOWN))
- connected.remove(ForgeDirection.DOWN);
- if(connected.contains(lastProvider))
- connected.remove(lastProvider);
-
- int output = Math.min(internalTank.getFluidAmount(), 12);
- int connectedAmount = connected.size();
- if(connectedAmount < 1)connectedAmount = 1;
- int scaledAmount = output/connectedAmount;
-
- for(ForgeDirection dirOut: connected)
- {
- if(this.internalTank.getFluid() == null)
- break;
-
- /* DEBUG
- debugLog.add("Moving to "+dirOut+"ern SubTank");
- */
- FluidStack tempFS = new FluidStack(internalTank.getFluid().getFluid(), scaledAmount);
- int fit = subTanks.get(dirOut).fill(tempFS, false);
- /* DEBUG
- debugLog.add("SubTank will accept "+fit+"mb");
- */
- if(fit > 0)
- fit = internalTank.drain(fit, true).amount;
- /* DEBUG
- debugLog.add("Internal Tank was drained by "+fit+"mb");
- */
- tempFS.amount = fit;
- fit = subTanks.get(dirOut).fill(tempFS, true);
- /* DEBUG
- debugLog.add("SubTank was filled by "+fit+"mb");
- if(fit > 0)
- printDebugLog = true;
- debugLog.add("Internal Tank now contains: "+internalTank.getFluidAmount()+"mb");
- debugLog.add("SubTank now contains: "+subTanks.get(dirOut).getFluidAmount()+"mb");
- */
- this.worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
- /* DEBUG
- if(printDebugLog)
- {
- for(String s: debugLog)
- System.out.println(s);
- debugLog.clear();
- }
- printDebugLog = false;
- */
-
- //Get Fluid from most recent InputTank
- FluidTank inputTank = subTanks.get(lastProvider);
- if(inputTank != null && inputTank.getFluid() != null) //Tank can be null if input was received from top
- {
- /* DEBUG
- debugLog.add("Importing from "+lastProvider+"ern SubTank");
- */
- FluidStack tempFS = new FluidStack(inputTank.getFluid().getFluid(), Math.min(inputTank.getFluidAmount(), 12));
- int fit = internalTank.fill(tempFS, false);
- /* DEBUG
- debugLog.add("Internal Tank will accept "+fit+"mb");
- */
- if(fit > 0)
- fit = inputTank.drain(fit, true).amount;
- /* DEBUG
- debugLog.add("Import Tank was drained by "+fit+"mb");
- */
- tempFS.amount = fit;
- fit = internalTank.fill(tempFS, true);
- /* DEBUG
- debugLog.add("Internal Tank was filled by "+fit+"mb");
- if(fit > 0)
- printDebugLog = true;
- debugLog.add("Internal Tank now contains: "+internalTank.getFluidAmount()+"mb");
- debugLog.add("SubTank now contains: "+inputTank.getFluidAmount()+"mb");
- */
-
- this.worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
- /* DEBUG
- if(printDebugLog)
- {
- for(String s: debugLog)
- System.out.println(s);
- debugLog.clear();
- }
- */
- }
-
- private void outputFluids()
- {
- /* DEBUG
- boolean printDebugLog = false;
- ArrayList debugLog = new ArrayList();
- */
-
- HashMap connected = this.getOutputs();
- if(connected.containsKey(lastProvider))
- connected.remove(lastProvider);
- if(connected.containsKey(ForgeDirection.DOWN) && this.internalTank.getFluid() != null) // Prioritizes FluidHandlers below
- {
- int output = Math.min(internalTank.getFluid().amount, 12);
- FluidStack tempFS = new FluidStack(internalTank.getFluid().getFluid(), output);
- int fittingBelow = ((IFluidHandler)connected.get(ForgeDirection.DOWN)).fill(ForgeDirection.UP, tempFS, false);
- if(fittingBelow > 0)
- fittingBelow = this.drain(ForgeDirection.DOWN, fittingBelow, true).amount;
- tempFS.amount = fittingBelow;
- fittingBelow = ((IFluidHandler)connected.get(ForgeDirection.DOWN)).fill(ForgeDirection.UP, tempFS, true);
-
- connected.remove(ForgeDirection.DOWN);
- }
- if(connected.size() != 0)
- {
- for(ForgeDirection dir:connected.keySet()) //Iterates to connected FluidHandlers
- {
- if(subTanks.get(dir)!=null && subTanks.get(dir).getFluid() != null)
- {
- /* DEBUG
- debugLog.add("Exporting from "+dir+"ern SubTank");
- */
- FluidStack tempFS = new FluidStack(subTanks.get(dir).getFluid().getFluid(), Math.min(subTanks.get(dir).getFluidAmount(),12));
- int fit = ((IFluidHandler)connected.get(dir)).fill(dir.getOpposite(), tempFS, false);
- /* DEBUG
- debugLog.add("New Channel will accept "+fit+"mb");
- */
- if(fit > 0)
- fit = this.drain(dir, fit, true).amount;
- /* DEBUG
- debugLog.add("OldSubTank was drained by "+fit+"mb");
- */
- tempFS.amount = fit;
- fit = ((IFluidHandler)connected.get(dir)).fill(dir.getOpposite(), tempFS, true);
- /* DEBUG
- debugLog.add("New Channel was filled by "+fit+"mb");
-
- debugLog.add("OldSubTank now contains: "+drain(dir, 100000, false).amount+"mb");
- if(fit > 0)
- printDebugLog = true;
- */
- }
- /* DEBUG
- for(String s: debugLog)
- System.out.println(s);
- debugLog.clear();
- */
- }
- }
- }
-
- @SideOnly(Side.CLIENT)
- public float tankBelow ()
- {
- TileEntity te = this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord - 1, this.zCoord);
- if (te instanceof CastingChannelLogic)
- return -0.5f;
- if (te instanceof LavaTankLogic)
- return -1.0f;
- if (te instanceof CastingBasinLogic)
- return -0.75f;
- if (te instanceof CastingTableLogic)
- return -0.125f;
- if (te instanceof IFluidHandler)
- return 0f;
-
- return 0.5f;
- }
-
- public HashMap getOutputs ()
- {
- HashMap map = new HashMap();
- for(ForgeDirection fd: this.validOutputs)
- {
- int tX = this.xCoord + fd.offsetX;
- int tY = this.yCoord + fd.offsetY;
- int tZ = this.zCoord + fd.offsetZ;
- TileEntity tile = this.worldObj.getBlockTileEntity(tX,tY,tZ);
-
- if(tile != null && tile instanceof IFluidHandler)
- map.put(fd, tile);
- }
- return map;
- }
-
- @Override
- public int fill(ForgeDirection from, FluidStack resource, boolean doFill)
- {
- if(doFill)
- {
- this.worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- this.lastProvider = from;
- if(this.internalTank.getFluid() == null)
- this.recentlyFilledDelay = 2;
- }
-
- if(from == ForgeDirection.UP)
- {
- return this.internalTank.fill(resource, doFill);
- }
- else if(from == ForgeDirection.NORTH || from == ForgeDirection.SOUTH || from == ForgeDirection.WEST || from == ForgeDirection.EAST)
- {
- return this.subTanks.get(from).fill(resource, doFill);
- }
- return 0;
- }
-
- @Override
- public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain)
- {
- return drain(from, resource.amount, doDrain);
- }
-
- @Override
- public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain)
- {
- //if(doDrain)
- // this.worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- if(from == ForgeDirection.DOWN)
- return this.internalTank.drain(maxDrain, doDrain);
- else if(from == ForgeDirection.NORTH || from == ForgeDirection.SOUTH || from == ForgeDirection.WEST || from == ForgeDirection.EAST)
- {
- return this.subTanks.get(from).drain(maxDrain, doDrain);
- }
-
- return null;
- }
-
- @Override
- public boolean canFill(ForgeDirection from, Fluid fluid)
- {
- if(from == ForgeDirection.DOWN)
- return false;
- if(from == ForgeDirection.UP)
- return true;
- return validOutputs.contains(from);
- }
-
- @Override
- public boolean canDrain(ForgeDirection from, Fluid fluid)
- {
- if(from == ForgeDirection.UP)
- return false;
- return validOutputs.contains(from);
- }
-
- @Override
- public FluidTankInfo[] getTankInfo(ForgeDirection from)
- {
- if(from == null || from == ForgeDirection.UP || from == ForgeDirection.DOWN || from == ForgeDirection.UNKNOWN)
- return new FluidTankInfo[]{new FluidTankInfo(internalTank)};
- else
- return new FluidTankInfo[]{new FluidTankInfo(subTanks.get(from))};
- }
-
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- readCustomNBT(tags);
- }
-
- public void readCustomNBT (NBTTagCompound tags)
- {
-
- NBTTagCompound nbtTank = tags.getCompoundTag("internalTank");
- if(nbtTank != null)
- internalTank.readFromNBT(nbtTank);
-
- for(ForgeDirection fdSub: subTanks.keySet())
- {
- NBTTagCompound nbtSubTank = tags.getCompoundTag("subTank_"+fdSub.name());
- if(nbtSubTank != null)
- subTanks.get(fdSub).readFromNBT(nbtSubTank);
- }
-
- int[] validFDs = tags.getIntArray("validOutputs");
- if(validFDs != null)
- {
- validOutputs = new ArrayList();
- for(int i: validFDs)
- validOutputs.add(convertIntToFD(i));
- }
- /* UNUSED
- this.mode = CastingChannelMode.readFromNBT(tags);
- */
- this.lastProvider = this.convertIntToFD(tags.getInteger("LastProvider"));
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- writeCustomNBT(tags);
- }
-
- public void writeCustomNBT (NBTTagCompound tags)
- {
- NBTTagCompound nbtTank = new NBTTagCompound();
- internalTank.writeToNBT(nbtTank);
- tags.setCompoundTag("internalTank", nbtTank);
- for(ForgeDirection fdSub: subTanks.keySet())
- {
- NBTTagCompound nbtSubTank = new NBTTagCompound();
- subTanks.get(fdSub).writeToNBT(nbtSubTank);
- tags.setCompoundTag("subTank_"+fdSub.name(), nbtSubTank);
- }
-
- int[] validFDs = new int[validOutputs.size()];
- int it = 0;
- for(ForgeDirection fd: validOutputs)
- {
- if(fd != null)
- validFDs[it] = convertFDToInt(fd);
- it++;
- }
- tags.setIntArray("validOutputs", validFDs);
- /* UNUSED
- CastingChannelMode.writeToNBT(tags, this.mode);
- */
- tags.setInteger("LastProvider", this.convertFDToInt(this.lastProvider));
- }
-
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeCustomNBT(tag);
- return new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readCustomNBT(packet.data);
- this.worldObj.markBlockForRenderUpdate(this.xCoord, this.yCoord, this.zCoord);
- }
-
- public int convertFDToInt (ForgeDirection dir)
- {
- switch (dir)
- {
- case DOWN:
- return 0;
- case UP:
- return 1;
- case NORTH:
- return 2;
- case SOUTH:
- return 3;
- case WEST:
- return 4;
- case EAST:
- return 5;
- default:
- return -1;
- }
- }
-
- public ForgeDirection convertIntToFD (int i)
- {
- switch (i)
- {
- case 0:
- return ForgeDirection.DOWN;
- case 1:
- return ForgeDirection.UP;
- case 2:
- return ForgeDirection.NORTH;
- case 3:
- return ForgeDirection.SOUTH;
- case 4:
- return ForgeDirection.WEST;
- case 5:
- return ForgeDirection.EAST;
- default:
- return ForgeDirection.UNKNOWN;
- }
- }
- /* UNUSED
- public enum CastingChannelMode
- {
- //Will not output while being filled by Faucet, hence only taking one ingots worth from the Smeltery
- SINGLEDRAIN,
- //Will keep the Faucet above it open
- CONTINUEDRAIN;
-
- public static void writeToNBT(NBTTagCompound tag, CastingChannelMode mode)
- {
- if(mode == SINGLEDRAIN)
- tag.setString("CastingChannelMode","single");
- else
- tag.setString("CastingChannelMode","continue");
- }
- public static CastingChannelMode readFromNBT(NBTTagCompound tag)
- {
- return (!tag.hasKey("CastingChannelMode") || tag.getString("CastingChannelMode")=="single") ? SINGLEDRAIN : CONTINUEDRAIN ;
- }
- }
- */
-
-}
diff --git a/src/main/java/tconstruct/blocks/logic/CastingTableLogic.java b/src/main/java/tconstruct/blocks/logic/CastingTableLogic.java
deleted file mode 100644
index e25e6a74..00000000
--- a/src/main/java/tconstruct/blocks/logic/CastingTableLogic.java
+++ /dev/null
@@ -1,428 +0,0 @@
-package tconstruct.blocks.logic;
-
-import tconstruct.TConstruct;
-import tconstruct.library.blocks.InventoryLogic;
-import tconstruct.library.crafting.CastingRecipe;
-import tconstruct.library.util.IPattern;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.ISidedInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidEvent;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTankInfo;
-import net.minecraftforge.fluids.IFluidHandler;
-import net.minecraftforge.fluids.IFluidTank;
-
-public class CastingTableLogic extends InventoryLogic implements IFluidTank, IFluidHandler, ISidedInventory
-{
- public FluidStack liquid;
- int castingDelay = 0;
- int renderOffset = 0;
- int capacity = 0;
- boolean needsUpdate;
- boolean init = true;
- int tick;
-
- public CastingTableLogic()
- {
- super(2);
- }
-
- @Override
- public int getInventoryStackLimit ()
- {
- return 1;
- }
-
- @Override
- public String getInvName () //Not a gui block
- {
- return null;
- }
-
- @Override
- protected String getDefaultName () //Still not a gui block
- {
- return null;
- }
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z) //Definitely not a gui block
- {
- return null;
- }
-
- /* Tank */
-
- @Override
- public int getCapacity ()
- {
- return this.capacity;
- }
-
- public int updateCapacity () //Only used to initialize
- {
- int ret = TConstruct.ingotLiquidValue;
-
- ItemStack inv = inventory[0];
-
- if (inv != null && inv.getItem() instanceof IPattern)
- {
- int cost = ((IPattern) inv.getItem()).getPatternCost(inv);
- if (cost > 0)
- ret *= ((IPattern) inv.getItem()).getPatternCost(inv) * 0.5;
- else
- ret = TConstruct.tableCasting.getCastingAmount(this.liquid, inv);
- }
-
- else
- {
- ret = TConstruct.tableCasting.getCastingAmount(this.liquid, inv);
- }
-
- TConstruct.logger.info("Ret: " + ret);
- return ret;
- }
-
- public int updateCapacity (int capacity)
- {
- int ret = TConstruct.ingotLiquidValue;
-
- ItemStack inv = inventory[0];
-
- if (inv != null && inv.getItem() instanceof IPattern)
- {
- int cost = ((IPattern) inv.getItem()).getPatternCost(inv);
- if (cost > 0)
- ret *= ((IPattern) inv.getItem()).getPatternCost(inv) * 0.5;
- else
- ret = capacity;
- }
-
- else
- ret = capacity;
-
- return ret;
- }
-
- @Override
- public int fill (FluidStack resource, boolean doFill)
- {
- if (resource == null)
- return 0;
-
- if (this.liquid == null)
- {
- CastingRecipe recipe = TConstruct.tableCasting.getCastingRecipe(resource, inventory[0]);
- if (recipe == null)
- return 0;
- this.capacity = updateCapacity(recipe.castingMetal.amount);
-
- if (inventory[1] == null)
- {
- FluidStack copyLiquid = resource.copy();
-
- if (copyLiquid.amount > this.capacity)
- {
- copyLiquid.amount = this.capacity;
- }
-
- if (doFill)
- {
- if (copyLiquid.amount == this.capacity)
- {
- castingDelay = recipe.coolTime;
- }
- renderOffset = copyLiquid.amount;
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- this.liquid = copyLiquid;
- needsUpdate = true;
- }
- return copyLiquid.amount;
- }
- else
- {
- return 0;
- }
- }
-
- else if (resource.isFluidEqual(this.liquid))
- {
- if (resource.amount + this.liquid.amount >= this.capacity) //Start timer here
- {
- int roomInTank = this.capacity - liquid.amount;
- if (doFill && roomInTank > 0)
- {
- renderOffset = roomInTank;
- castingDelay = TConstruct.tableCasting.getCastingDelay(this.liquid, inventory[0]);
- this.liquid.amount = this.capacity;
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- needsUpdate = true;
- }
- return roomInTank;
- }
-
- else
- {
- if (doFill)
- {
- this.liquid.amount += resource.amount;
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- needsUpdate = true;
- }
- return resource.amount;
- }
- }
-
- else
- {
- return 0;
- }
- }
-
- @Override
- public void onInventoryChanged () //Isn't actually called?
- {
- super.onInventoryChanged();
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- needsUpdate = true;
- }
-
- public ItemStack decrStackSize (int slot, int quantity)
- {
- ItemStack stack = super.decrStackSize(slot, quantity);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- return stack;
- }
-
- @Override
- public FluidStack drain (int maxDrain, boolean doDrain)
- {
- if (liquid == null || liquid.fluidID <= 0 || castingDelay > 0)
- return null;
- if (liquid.amount <= 0)
- return null;
-
- int used = maxDrain;
- if (liquid.amount < used)
- used = liquid.amount;
-
- if (doDrain)
- {
- liquid.amount -= used;
- }
-
- FluidStack drained = liquid.copy();//new FluidStack(liquid.itemID, used, liquid.itemMeta);
- drained.amount = used;
-
- // Reset liquid if emptied
- if (liquid.amount <= 0)
- liquid = null;
-
- if (doDrain)
- FluidEvent.fireEvent(new FluidEvent.FluidDrainingEvent(drained, this.worldObj, this.xCoord, this.yCoord, this.zCoord, this));
-
- return drained;
- }
-
- /* Tank Container */
-
- @Override
- public int fill (ForgeDirection from, FluidStack resource, boolean doFill)
- {
- //if (from == ForgeDirection.UP)
- return fill(resource, doFill);
- //return 0;
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
- {
- return drain(maxDrain, doDrain);
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, FluidStack resource, boolean doDrain)
- {
- return null;
- }
-
- @Override
- public boolean canFill (ForgeDirection from, Fluid fluid)
- {
- return false;
- }
-
- @Override
- public boolean canDrain (ForgeDirection from, Fluid fluid)
- {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public FluidTankInfo[] getTankInfo (ForgeDirection from)
- {
- return new FluidTankInfo[] { getInfo() };
- }
-
- @Override
- public FluidStack getFluid ()
- {
- return liquid == null ? null : liquid.copy();
- }
-
- @Override
- public int getFluidAmount ()
- {
- return liquid != null ? liquid.amount : 0;
- }
-
- @Override
- public FluidTankInfo getInfo ()
- {
- FluidTankInfo info = new FluidTankInfo(this);
- return info;
- }
-
- public int getLiquidAmount ()
- {
- return liquid.amount - renderOffset;
- }
-
- /* Updating */
- @Override
- public void updateEntity ()
- {
- if (castingDelay > 0)
- {
- //TConstruct.logger.info("Casting");
- castingDelay--;
- if (castingDelay == 0)
- castLiquid();
- }
- if (renderOffset > 0)
- {
- renderOffset -= 6;
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-
- tick++;
- if (tick % 20 == 0)
- {
- tick = 0;
- if (needsUpdate)
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
- }
-
- public void castLiquid ()
- {
- CastingRecipe recipe = TConstruct.tableCasting.getCastingRecipe(liquid, inventory[0]);
- if (recipe != null)
- {
- inventory[1] = recipe.getResult();
- if (recipe.consumeCast)
- inventory[0] = null;
- liquid = null;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
- }
-
- /* NBT */
-
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- readCustomNBT(tags);
- }
-
- public void readCustomNBT (NBTTagCompound tags)
- {
- if (tags.getBoolean("hasLiquid"))
- {
- this.liquid = FluidStack.loadFluidStackFromNBT(tags.getCompoundTag("Fluid"));
- }
- else
- this.liquid = null;
-
- if (tags.getBoolean("Initialized"))
- this.capacity = tags.getInteger("Capacity");
- else
- this.capacity = updateCapacity();
- this.castingDelay = tags.getInteger("castingDelay");
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- writeCustomNBT(tags);
- }
-
- public void writeCustomNBT (NBTTagCompound tags)
- {
- tags.setBoolean("hasLiquid", liquid != null);
- if (liquid != null)
- {
- NBTTagCompound nbt = new NBTTagCompound();
- liquid.writeToNBT(nbt);
- tags.setCompoundTag("Fluid", nbt);
- }
- tags.setBoolean("Initialized", init);
- tags.setInteger("Capacity", capacity);
- tags.setInteger("castingDelay", castingDelay);
- }
-
- /* Packets */
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeToNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readFromNBT(packet.data);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-
- @Override
- public int[] getAccessibleSlotsFromSide (int side)
- {
- return new int[] { 0, 1 };
- }
-
- @Override
- public boolean canInsertItem (int slot, ItemStack itemstack, int side)
- {
- if (liquid != null)
- return false;
-
- if (slot == 0)
- return true;
-
- return false;
- }
-
- @Override
- public boolean canExtractItem (int slot, ItemStack itemstack, int side)
- {
- if (slot == 1)
- return true;
-
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/CraftingStationLogic.java b/src/main/java/tconstruct/blocks/logic/CraftingStationLogic.java
deleted file mode 100644
index b38a507e..00000000
--- a/src/main/java/tconstruct/blocks/logic/CraftingStationLogic.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package tconstruct.blocks.logic;
-
-import java.lang.ref.WeakReference;
-
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.ISidedInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.tileentity.TileEntityChest;
-import net.minecraft.tileentity.TileEntityFurnace;
-import net.minecraft.world.World;
-import tconstruct.inventory.CraftingStationContainer;
-import tconstruct.library.blocks.InventoryLogic;
-
-public class CraftingStationLogic extends InventoryLogic implements ISidedInventory
-{
- public WeakReference chest; //TODO: These are prototypes
- public WeakReference doubleChest;
- public WeakReference patternChest;
- public WeakReference furnace;
- public boolean tinkerTable;
- public boolean stencilTable;
-
- public CraftingStationLogic()
- {
- super(17); //9 for crafting, 1 for output, 6 for extensions, 1 for plans
- }
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z)
- {
- chest = null;
- doubleChest = null;
- patternChest = null;
- furnace = null;
- tinkerTable = false;
- for (int yPos = y - 1; yPos <= y + 1; yPos++)
- {
- for (int xPos = x - 1; xPos <= x + 1; xPos++)
- {
- for (int zPos = z - 1; zPos <= z + 1; zPos++)
- {
- TileEntity tile = world.getBlockTileEntity(xPos, yPos, zPos);
- if (chest == null && tile instanceof TileEntityChest)
- {
- chest = new WeakReference(tile);
- checkForChest(world, xPos + 1, yPos, zPos);
- checkForChest(world, xPos - 1, yPos, zPos);
- checkForChest(world, xPos, yPos, zPos + 1);
- checkForChest(world, xPos, yPos, zPos - 1);
- }
- else if (patternChest == null && tile instanceof PatternChestLogic)
- patternChest = new WeakReference(tile);
- else if (furnace == null && (tile instanceof TileEntityFurnace || tile instanceof FurnaceLogic))
- furnace = new WeakReference(tile);
- else if (tinkerTable == false && tile instanceof ToolStationLogic)
- tinkerTable = true;
- }
- }
- }
-
- return new CraftingStationContainer(inventoryplayer, this, x, y, z);
- }
-
- void checkForChest (World world, int x, int y, int z)
- {
- TileEntity tile = world.getBlockTileEntity(x, y, z);
- if (tile instanceof TileEntityChest)
- doubleChest = new WeakReference(tile);
- }
-
- @Override
- protected String getDefaultName ()
- {
- return "crafters.CraftingStation";
- }
-
- public boolean canDropInventorySlot (int slot)
- {
- if (slot == 0)
- return false;
- return true;
- }
-
- @Override
- public int[] getAccessibleSlotsFromSide (int var1)
- {
- return new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
- }
-
- @Override
- public boolean canInsertItem (int i, ItemStack itemstack, int j)
- {
- return i != 0;
- }
-
- @Override
- public boolean canExtractItem (int i, ItemStack itemstack, int j)
- {
- return true;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/DryingRackLogic.java b/src/main/java/tconstruct/blocks/logic/DryingRackLogic.java
deleted file mode 100644
index 421a2c45..00000000
--- a/src/main/java/tconstruct/blocks/logic/DryingRackLogic.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package tconstruct.blocks.logic;
-
-import tconstruct.library.blocks.InventoryLogic;
-import tconstruct.library.crafting.DryingRackRecipes;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class DryingRackLogic extends InventoryLogic
-{
- int currentTime;
- int maxTime;
-
- public DryingRackLogic()
- {
- super(1, 1);
- }
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z)
- {
- return null;
- }
-
- @Override
- protected String getDefaultName ()
- {
- return "";
- }
-
- @Override
- public void updateEntity ()
- {
- if (!worldObj.isRemote && maxTime > 0 && currentTime < maxTime)
- {
- currentTime++;
- if (currentTime >= maxTime)
- {
- inventory[0] = DryingRackRecipes.getDryingResult(inventory[0]);
- updateDryingTime();
- }
- }
- }
-
- @Override
- public void setInventorySlotContents (int slot, ItemStack itemstack)
- {
- super.setInventorySlotContents(slot, itemstack);
- updateDryingTime();
- }
-
- @Override
- public ItemStack decrStackSize (int slot, int quantity)
- {
- ItemStack stack = super.decrStackSize(slot, quantity);
- maxTime = 0;
- currentTime = 0;
- return stack;
- }
-
- public void updateDryingTime ()
- {
- currentTime = 0;
- if (inventory[0] != null)
- maxTime = DryingRackRecipes.getDryingTime(inventory[0]);
- else
- maxTime = 0;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
-
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- currentTime = tags.getInteger("Time");
- maxTime = tags.getInteger("MaxTime");
- readCustomNBT(tags);
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- tags.setInteger("Time", currentTime);
- tags.setInteger("MaxTime", maxTime);
- writeCustomNBT(tags);
- }
-
- public void readCustomNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- }
-
- public void writeCustomNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- }
-
- /* Packets */
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeCustomNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readCustomNBT(packet.data);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-
- @SideOnly(Side.CLIENT)
- public AxisAlignedBB getRenderBoundingBox ()
- {
- AxisAlignedBB cbb = AxisAlignedBB.getAABBPool().getAABB(xCoord, yCoord - 1, zCoord, xCoord + 1, yCoord + 1, zCoord + 1);
- return cbb;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/EquipLogic.java b/src/main/java/tconstruct/blocks/logic/EquipLogic.java
deleted file mode 100644
index 05647e37..00000000
--- a/src/main/java/tconstruct/blocks/logic/EquipLogic.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package tconstruct.blocks.logic;
-
-import tconstruct.library.blocks.InventoryLogic;
-import net.minecraft.item.ItemStack;
-
-/* Slots
- * 0: Frying pan item
- * 1: Fuel
- * 2-9: Food
- */
-
-public abstract class EquipLogic extends InventoryLogic
-{
-
- public EquipLogic(int invSize)
- {
- super(invSize);
- }
-
- public void setEquipmentItem (ItemStack stack)
- {
- inventory[0] = stack.copy();
- }
-
- public boolean hasEquipmentItem ()
- {
- return inventory[0] != null;
- }
-
- public ItemStack getEquipmentItem ()
- {
- return inventory[0];
- }
-
- @Override
- public void setInventorySlotContents (int slot, ItemStack stack)
- {
- if (slot == 0)
- {
- return;
- }
- else
- {
- super.setInventorySlotContents(slot, stack);
- }
- }
-
- @Override
- public ItemStack getStackInSlot (int slot)
- {
- return slot != 0 ? inventory[slot] : null;
- }
-
- public boolean isStackInSlot (int slot)
- {
- return slot != 0 ? inventory[slot] != null : false;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/FaucetLogic.java b/src/main/java/tconstruct/blocks/logic/FaucetLogic.java
deleted file mode 100644
index ca8e0b60..00000000
--- a/src/main/java/tconstruct/blocks/logic/FaucetLogic.java
+++ /dev/null
@@ -1,247 +0,0 @@
-package tconstruct.blocks.logic;
-
-import tconstruct.TConstruct;
-import tconstruct.library.util.IActiveLogic;
-import tconstruct.library.util.IFacingLogic;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.MathHelper;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTankInfo;
-import net.minecraftforge.fluids.IFluidHandler;
-
-public class FaucetLogic extends TileEntity implements IFacingLogic, IActiveLogic, IFluidHandler
-{
- byte direction;
- boolean active;
- public FluidStack liquid;
-
- public boolean activateFaucet ()
- {
- if (liquid == null && active)
- {
- int x = xCoord, z = zCoord;
- switch (getRenderDirection())
- {
- case 2:
- z++;
- break;
- case 3:
- z--;
- break;
- case 4:
- x++;
- break;
- case 5:
- x--;
- break;
- }
-
- TileEntity drainte = worldObj.getBlockTileEntity(x, yCoord, z);
- TileEntity tankte = worldObj.getBlockTileEntity(xCoord, yCoord - 1, zCoord);
-
- if (drainte != null && drainte instanceof IFluidHandler && tankte != null && tankte instanceof IFluidHandler)
- {
- FluidStack templiquid = ((IFluidHandler) drainte).drain(getForgeDirection(), TConstruct.ingotLiquidValue, false);
- if (templiquid != null)
- {
- int drained = ((IFluidHandler) tankte).fill(ForgeDirection.UP, templiquid, false);
- if (drained > 0)
- {
- liquid = ((IFluidHandler) drainte).drain(getForgeDirection(), drained, true);
- ((IFluidHandler) tankte).fill(ForgeDirection.UP, liquid, true);
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- return true;
- }
- else
- {
- return false;
- }
-
- }
- }
- }
- return false;
- }
-
- @Override
- public void updateEntity ()
- {
- if (liquid != null)
- {
- liquid.amount -= TConstruct.liquidUpdateAmount;
- if (liquid.amount <= 0)
- {
- liquid = null;
- if (!activateFaucet())
- {
- active = false;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
- }
- }
- }
-
- @Override
- public byte getRenderDirection ()
- {
- return direction;
- }
-
- @Override
- public ForgeDirection getForgeDirection ()
- {
- return ForgeDirection.VALID_DIRECTIONS[direction];
- }
-
- @Override
- public void setDirection (int side)
- {
- //direction = (byte) side;
- }
-
- @Override
- public void setDirection (float yaw, float pitch, EntityLivingBase player)
- {
- int facing = MathHelper.floor_double((double) (yaw / 360) + 0.5D) & 3;
- switch (facing)
- {
- case 0:
- direction = 2;
- break;
-
- case 1:
- direction = 5;
- break;
-
- case 2:
- direction = 3;
- break;
-
- case 3:
- direction = 4;
- break;
- }
- }
-
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- readCustomNBT(tags);
- }
-
- public void readCustomNBT (NBTTagCompound tags)
- {
- direction = tags.getByte("Direction");
- if (tags.getBoolean("hasLiquid"))
- {
- this.liquid = FluidStack.loadFluidStackFromNBT(tags.getCompoundTag("Fluid"));
- }
- else
- this.liquid = null;
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- writeCustomNBT(tags);
- }
-
- public void writeCustomNBT (NBTTagCompound tags)
- {
- tags.setByte("Direction", direction);
- tags.setBoolean("hasLiquid", liquid != null);
- if (liquid != null)
- {
- NBTTagCompound nbt = new NBTTagCompound();
- liquid.writeToNBT(nbt);
- tags.setCompoundTag("Fluid", nbt);
- }
- }
-
- /* Packets */
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeCustomNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readCustomNBT(packet.data);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-
- @Override
- public boolean getActive ()
- {
- return active;
- }
-
- @Override
- public void setActive (boolean flag)
- {
- if (!active)
- {
- active = true;
- activateFaucet();
- }
- else
- {
- active = false;
- }
- }
-
- @Override
- public int fill (ForgeDirection from, FluidStack resource, boolean doFill)
- {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, FluidStack resource, boolean doDrain)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean canFill (ForgeDirection from, Fluid fluid)
- {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean canDrain (ForgeDirection from, Fluid fluid)
- {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public FluidTankInfo[] getTankInfo (ForgeDirection from)
- {
- // TODO Auto-generated method stub
- return null;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/FrypanLogic.java b/src/main/java/tconstruct/blocks/logic/FrypanLogic.java
deleted file mode 100644
index dcbaba5d..00000000
--- a/src/main/java/tconstruct/blocks/logic/FrypanLogic.java
+++ /dev/null
@@ -1,301 +0,0 @@
-package tconstruct.blocks.logic;
-
-import tconstruct.inventory.FrypanContainer;
-import tconstruct.library.util.IActiveLogic;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemFood;
-import net.minecraft.item.ItemHoe;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemSword;
-import net.minecraft.item.ItemTool;
-import net.minecraft.item.crafting.FurnaceRecipes;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-import cpw.mods.fml.common.registry.GameRegistry;
-
-/* Slots
- * 0: Frying pan item
- * 1: Fuel
- * 2-9: Food
- */
-
-public class FrypanLogic extends EquipLogic implements IActiveLogic
-{
- boolean active;
- public int fuel;
- public int fuelGague;
- public int progress;
-
- public FrypanLogic()
- {
- super(10);
- active = false;
- }
-
- @Override
- public String getDefaultName ()
- {
- return "crafters.frypan";
- }
-
- @Override
- public boolean getActive ()
- {
- return active;
- }
-
- @Override
- public void setActive (boolean flag)
- {
- active = flag;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
-
- /* Fuel gauge */
- public int gaugeProgressScaled (int scale)
- {
- return (progress * scale) / 1000;
- }
-
- public int gaugeFuelScaled (int scale)
- {
- if (fuelGague == 0)
- {
- fuelGague = fuel;
- if (fuelGague == 0)
- {
- fuelGague = 1000;
- }
- }
- return (fuel * scale) / fuelGague;
- }
-
- /* Item cooking */
- public void updateEntity ()
- {
- boolean burning = isBurning();
- boolean updateInventory = false;
- if (fuel <= 0 && canCook())
- {
- fuel = fuelGague = (int) (getItemBurnTime(inventory[1]) * 2.5);
- if (fuel > 0)
- {
- if (inventory[1].getItem().hasContainerItem()) //Fuel slot
- {
- inventory[1] = new ItemStack(inventory[1].getItem().getContainerItem());
- }
- else
- {
- inventory[1].stackSize--;
- }
- if (inventory[1].stackSize <= 0)
- {
- inventory[1] = null;
- }
- updateInventory = true;
- }
- }
- if (isBurning() && canCook())
- {
- progress++;
- if (progress >= 1000)
- {
- progress = 0;
- cookItems();
- updateInventory = true;
- }
- }
- else
- {
- progress = 0;
- }
- if (fuel > 0)
- {
- fuel--;
- }
- if (burning != isBurning())
- {
- setActive(isBurning());
- updateInventory = true;
- }
- if (updateInventory)
- {
- onInventoryChanged();
- }
- }
-
- public void cookItems ()
- {
- if (!canCook())
- return;
-
- for (int id = 2; id < 10; id++) //Check every slot
- {
- if (canCook())
- {
- ItemStack result = getResultFor(inventory[id]);
- if (result != null)
- {
- int ids = 2;
- boolean placed = false;
- while (ids < 10 && !placed) //Try to merge stacks first
- {
- if (inventory[ids] != null && inventory[ids].isItemEqual(result) && inventory[ids].stackSize < inventory[ids].getMaxStackSize())
- {
- if (inventory[ids].stackSize + result.stackSize <= inventory[ids].getMaxStackSize())
- {
- inventory[ids].stackSize += result.stackSize;
- placed = true;
- }
- else
- {
- int decrement = inventory[ids].getMaxStackSize() - inventory[ids].stackSize;
- inventory[ids].stackSize = inventory[ids].getMaxStackSize();
- result.stackSize -= decrement;
- }
- }
- ids++;
- }
-
- ids = 2;
- while (!placed && ids < 10) //Place remaining in slot
- {
- if (inventory[ids] == null)
- {
- inventory[ids] = result;
- placed = true;
- }
- ids++;
- }
-
- if (placed)
- decrStackSize(id, 1);
- }
- }
- }
- }
-
- public boolean canCook ()
- {
- for (int id = 2; id < 10; id++)
- {
- if (inventory[id] == null) //Nothing here!
- continue;
-
- ItemStack result = getResultFor(inventory[id]);
- if (result == null) //Doesn't cook into anything
- continue;
-
- for (int slotid = 2; slotid < 10; slotid++)
- {
- if (inventory[slotid] == null)
- return true;
-
- else if (inventory[slotid].isItemEqual(result) && inventory[slotid].stackSize + result.stackSize <= inventory[slotid].getMaxStackSize())
- return true;
- }
- }
- return false;
- }
-
- public boolean isBurning ()
- {
- return fuel > 0;
- }
-
- public ItemStack getResultFor (ItemStack stack)
- {
- ItemStack result = FurnaceRecipes.smelting().getSmeltingResult(stack);
- if (result != null && result.getItem() instanceof ItemFood) //Only valid for food
- return result.copy();
-
- return null;
- }
-
- public static int getItemBurnTime (ItemStack stack)
- {
- if (stack == null)
- {
- return 0;
- }
- else
- {
- int itemID = stack.getItem().itemID;
- Item item = stack.getItem();
-
- if (stack.getItem() instanceof ItemBlock && Block.blocksList[itemID] != null)
- {
- Block block = Block.blocksList[itemID];
-
- if (block == Block.woodSingleSlab)
- {
- return 150;
- }
-
- if (block == Block.wood)
- {
- return 2400;
- }
-
- if (block.blockMaterial == Material.wood)
- {
- return 300;
- }
- }
- if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD"))
- return 200;
- if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD"))
- return 200;
- if (item instanceof ItemHoe && ((ItemHoe) item).getMaterialName().equals("WOOD"))
- return 200;
- if (itemID == Item.stick.itemID)
- return 100;
- if (itemID == Item.coal.itemID)
- return 800;
- if (itemID == Item.bucketLava.itemID)
- return 20000;
- if (itemID == Block.sapling.blockID)
- return 100;
- if (itemID == Item.blazeRod.itemID)
- return 2400;
- return GameRegistry.getFuelValue(stack);
- }
- }
-
- /* NBT */
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- active = tags.getBoolean("Active");
- fuel = tags.getInteger("Fuel");
- fuelGague = tags.getInteger("FuelGague");
- }
-
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- tags.setBoolean("Active", active);
- tags.setInteger("Fuel", fuel);
- tags.setInteger("FuelGague", fuelGague);
- }
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z)
- {
- return new FrypanContainer(inventoryplayer.player, this);
- }
-
- /*@Override
- public boolean canDropInventorySlot(int slot)
- {
- if (slot == 0)
- return false;
- else
- return true;
- }*/
-}
diff --git a/src/main/java/tconstruct/blocks/logic/FurnaceLogic.java b/src/main/java/tconstruct/blocks/logic/FurnaceLogic.java
deleted file mode 100644
index 44b92a9d..00000000
--- a/src/main/java/tconstruct/blocks/logic/FurnaceLogic.java
+++ /dev/null
@@ -1,349 +0,0 @@
-package tconstruct.blocks.logic;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemHoe;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemSword;
-import net.minecraft.item.ItemTool;
-import net.minecraft.item.crafting.FurnaceRecipes;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import tconstruct.inventory.FurnaceContainer;
-import tconstruct.library.blocks.InventoryLogic;
-import tconstruct.library.util.IActiveLogic;
-import tconstruct.library.util.IFacingLogic;
-import cpw.mods.fml.common.registry.GameRegistry;
-
-/* Slots
- * 0: Input
- * 1: Fuel
- * 2: Output
- * 3-16: Chest
- */
-
-public class FurnaceLogic extends InventoryLogic implements IActiveLogic, IFacingLogic
-{
- boolean active;
- public int fuel;
- public int fuelGague;
- public int progress;
- public int fuelScale = 200;
- byte direction;
-
- public FurnaceLogic()
- {
- super(3);
- active = false;
- }
-
- @Override
- public String getDefaultName ()
- {
- return "container.furnace";
- }
-
- @Override
- public boolean getActive ()
- {
- return active;
- }
-
- @Override
- public void setActive (boolean flag)
- {
- active = flag;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
-
- /* Fuel gauge */
- public int gaugeProgressScaled (int scale)
- {
- return (progress * scale) / fuelScale;
- }
-
- public int gaugeFuelScaled (int scale)
- {
- if (fuelGague == 0)
- {
- fuelGague = fuel;
- if (fuelGague == 0)
- {
- fuelGague = fuelScale;
- }
- }
- return (fuel * scale) / fuelGague;
- }
-
- /* Item cooking */
- public void updateEntity ()
- {
- boolean burning = isBurning();
- boolean updateInventory = false;
- if (fuel <= 0 && canSmelt())
- {
- fuel = fuelGague = (int) (getItemBurnTime(inventory[1]));
- if (fuel > 0)
- {
- if (inventory[1].getItem().hasContainerItem()) //Fuel slot
- {
- inventory[1] = new ItemStack(inventory[1].getItem().getContainerItem());
- }
- else
- {
- inventory[1].stackSize--;
- }
- if (inventory[1].stackSize <= 0)
- {
- inventory[1] = null;
- }
- updateInventory = true;
- }
- }
- if (isBurning() && canSmelt())
- {
- progress++;
- if (progress >= fuelScale)
- {
- progress = 0;
- cookItems();
- updateInventory = true;
- }
- }
- else
- {
- progress = 0;
- }
- if (fuel > 0)
- {
- fuel--;
- }
- if (burning != isBurning())
- {
- setActive(isBurning());
- updateInventory = true;
- }
- if (updateInventory)
- {
- onInventoryChanged();
- }
- }
-
- public void cookItems ()
- {
- if (this.canSmelt())
- {
- ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.inventory[0]);
-
- if (this.inventory[2] == null)
- {
- this.inventory[2] = itemstack.copy();
- }
- else if (this.inventory[2].isItemEqual(itemstack))
- {
- inventory[2].stackSize += itemstack.stackSize;
- }
-
- --this.inventory[0].stackSize;
-
- if (this.inventory[0].stackSize <= 0)
- {
- this.inventory[0] = null;
- }
- }
-
- }
-
- public boolean canSmelt ()
- {
- if (inventory[0] == null) //Nothing here!
- return false;
- else
- {
- ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.inventory[0]);
- if (itemstack == null)
- return false;
- if (this.inventory[2] == null)
- return true;
- if (!this.inventory[2].isItemEqual(itemstack))
- return false;
- int result = inventory[2].stackSize + itemstack.stackSize;
- return (result <= getInventoryStackLimit() && result <= itemstack.getMaxStackSize());
- }
- }
-
- public boolean isBurning ()
- {
- return fuel > 0;
- }
-
- public ItemStack getResultFor (ItemStack stack)
- {
- ItemStack result = FurnaceRecipes.smelting().getSmeltingResult(stack);
- if (result != null) //Only valid for food
- return result.copy();
-
- return null;
- }
-
- public static int getItemBurnTime (ItemStack stack)
- {
- if (stack == null)
- {
- return 0;
- }
- else
- {
- int i = stack.getItem().itemID;
- Item item = stack.getItem();
-
- if (stack.getItem() instanceof ItemBlock && Block.blocksList[i] != null)
- {
- Block block = Block.blocksList[i];
-
- if (block == Block.woodSingleSlab)
- {
- return 150;
- }
-
- if (block == Block.wood)
- {
- return 1200;
- }
-
- if (block.blockMaterial == Material.wood)
- {
- return 300;
- }
-
- if (block == Block.coalBlock)
- {
- return 16000;
- }
- }
-
- if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD"))
- return 200;
- if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD"))
- return 200;
- if (item instanceof ItemHoe && ((ItemHoe) item).getMaterialName().equals("WOOD"))
- return 200;
- if (i == Item.stick.itemID)
- return 100;
- if (i == Item.coal.itemID)
- return 1600;
- if (i == Item.bucketLava.itemID)
- return 20000;
- if (i == Block.sapling.blockID)
- return 100;
- if (i == Item.blazeRod.itemID)
- return 2400;
- return GameRegistry.getFuelValue(stack);
- }
- }
-
- /* NBT */
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- active = tags.getBoolean("Active");
- fuel = tags.getInteger("Fuel");
- fuelGague = tags.getInteger("FuelGague");
- readNetworkNBT(tags);
- }
-
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- tags.setBoolean("Active", active);
- tags.setInteger("Fuel", fuel);
- tags.setInteger("FuelGague", fuelGague);
- writeNetworkNBT(tags);
- }
-
- public void readNetworkNBT (NBTTagCompound tags)
- {
- direction = tags.getByte("Direction");
- }
-
- public void writeNetworkNBT (NBTTagCompound tags)
- {
- tags.setByte("Direction", direction);
- }
-
- /* Packets */
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeNetworkNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readNetworkNBT(packet.data);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z)
- {
- return new FurnaceContainer(inventoryplayer, this);
- }
-
- @Override
- public byte getRenderDirection ()
- {
- return direction;
- }
-
- @Override
- public ForgeDirection getForgeDirection ()
- {
- return ForgeDirection.VALID_DIRECTIONS[direction];
- }
-
- @Override
- @Deprecated
- public void setDirection (int side)
- {
- //Nope!
- }
-
- @Override
- @Deprecated
- public void setDirection (float yaw, float pitch, EntityLivingBase player)
- {
- int facing = MathHelper.floor_double((double) (yaw / 360) + 0.5D) & 3;
- switch (facing)
- {
- case 0:
- direction = 2;
- break;
-
- case 1:
- direction = 5;
- break;
-
- case 2:
- direction = 3;
- break;
-
- case 3:
- direction = 4;
- break;
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/GolemCoreLogic.java b/src/main/java/tconstruct/blocks/logic/GolemCoreLogic.java
deleted file mode 100644
index 7fc2efca..00000000
--- a/src/main/java/tconstruct/blocks/logic/GolemCoreLogic.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package tconstruct.blocks.logic;
-
-import tconstruct.library.blocks.InventoryLogic;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.world.World;
-
-public class GolemCoreLogic extends InventoryLogic implements IInventory
-{
-
- public GolemCoreLogic()
- {
- super(1);
- }
-
- public ItemStack getKey ()
- {
- return inventory[0];
- }
-
- public void setKey (ItemStack itemstack)
- {
- inventory[0] = itemstack;
- onInventoryChanged();
- }
-
- public void clear ()
- {
- inventory[0] = null;
- }
-
- public int getSizeInventory ()
- {
- return 1;
- }
-
- public ItemStack getStackInSlot (int slot)
- {
- return inventory[0];
- }
-
- public int getInventoryStackLimit ()
- {
- return 1;
- }
-
- public boolean canInteractWith (EntityPlayer entityplayer)
- {
- return true;
- }
-
- public void openChest ()
- {
- }
-
- public void closeChest ()
- {
- }
-
- public boolean isUseableByPlayer (EntityPlayer entityplayer)
- {
- return true;
- }
-
- @Override
- public ItemStack getStackInSlotOnClosing (int i)
- {
- return null;
- }
-
- @Override
- public boolean isInvNameLocalized ()
- {
- return false;
- }
-
- @Override
- public boolean isItemValidForSlot (int i, ItemStack itemstack)
- {
- return true;
- }
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z)
- {
- return null;
- }
-
- @Override
- protected String getDefaultName ()
- {
- return "golems.core";
- }
-
- /* Packets */
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeToNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readFromNBT(packet.data);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/GolemPedestalLogic.java b/src/main/java/tconstruct/blocks/logic/GolemPedestalLogic.java
deleted file mode 100644
index 3d16e386..00000000
--- a/src/main/java/tconstruct/blocks/logic/GolemPedestalLogic.java
+++ /dev/null
@@ -1,361 +0,0 @@
-package tconstruct.blocks.logic;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.tileentity.TileEntity;
-import tconstruct.TConstruct;
-
-public class GolemPedestalLogic extends TileEntity implements IInventory
-{
- public ItemStack supply;
- public static int cost[] = null;
- public static int souls[] = null;
-
- public GolemPedestalLogic()
- {
- supply = null;
- if (cost == null)
- {
- cost = new int[512];
- souls = new int[512];
- cost[Block.planks.blockID] = 0;
- cost[Block.wood.blockID] = 32;
- cost[Block.cloth.blockID] = 8;
- cost[Block.cobblestoneMossy.blockID] = 16;
- cost[Block.obsidian.blockID] = 8;
- cost[Block.pumpkin.blockID] = 8;
- cost[Block.netherrack.blockID] = 64;
- cost[Block.slowSand.blockID] = 1;
- cost[Block.glowStone.blockID] = 1;
- cost[Block.pumpkinLantern.blockID] = 8;
- cost[Block.blockDiamond.blockID] = 1;
- cost[Block.blockGold.blockID] = 1;
- cost[Block.blockIron.blockID] = 1;
- cost[Block.blockLapis.blockID] = 1;
- cost[Block.jukebox.blockID] = 1;
- cost[Block.music.blockID] = 1;
- cost[Block.melon.blockID] = 8;
- cost[Block.torchRedstoneIdle.blockID] = 6;
- cost[Block.torchRedstoneActive.blockID] = cost[Block.torchRedstoneIdle.blockID];
- cost[Item.redstone.itemID] = 6;
- cost[Item.beefRaw.itemID] = 8;
- cost[Item.beefCooked.itemID] = cost[Item.beefRaw.itemID];
- cost[Item.porkRaw.itemID] = cost[Item.beefRaw.itemID];
- cost[Item.porkCooked.itemID] = cost[Item.beefRaw.itemID];
- cost[Item.enderPearl.itemID] = 1;
- cost[Item.eyeOfEnder.itemID] = 1;
- cost[Item.blazeRod.itemID] = 2;
- cost[Block.mushroomBrown.blockID] = 16;
- cost[Block.mushroomRed.blockID] = cost[Block.mushroomBrown.blockID];
- cost[Block.netherStalk.blockID] = 6;
- cost[Item.glowstone.itemID] = 4;
- cost[Item.diamond.itemID] = 1;
- cost[Item.ingotIron.itemID] = 8;
- cost[Item.ingotGold.itemID] = 2;
- cost[Item.reed.itemID] = 8;
- cost[Item.sugar.itemID] = cost[Item.reed.itemID];
- cost[Item.bucketLava.itemID] = 1;
- cost[Item.cake.itemID] = 1;
- cost[Item.bucketMilk.itemID] = 1;
- cost[Item.wheat.itemID] = 32;
- cost[Item.bread.itemID] = 8;
- cost[Block.plantYellow.blockID] = 32;
- cost[Block.plantRed.blockID] = cost[Block.plantYellow.blockID];
- cost[Block.dragonEgg.blockID] = 1;
- cost[Block.tallGrass.blockID] = 64;
- cost[Block.sapling.blockID] = 64;
- cost[Item.ghastTear.itemID] = 8;
- cost[Item.goldNugget.itemID] = 18;
- cost[Item.spiderEye.itemID] = 16;
- cost[Item.fermentedSpiderEye.itemID] = 6;
- cost[Item.bowlSoup.itemID] = 0;
- cost[Item.fishRaw.itemID] = 1;
- cost[Item.fishCooked.itemID] = cost[Item.fishRaw.itemID];
- cost[Item.magmaCream.itemID] = 2;
- cost[Item.blazePowder.itemID] = 4;
- cost[Item.speckledMelon.itemID] = 1;
- cost[Item.paper.itemID] = 8;
- cost[Item.book.itemID] = 2;
- cost[Item.egg.itemID] = 4;
- cost[Item.slimeBall.itemID] = 2;
- cost[Item.saddle.itemID] = 1;
- cost[Item.feather.itemID] = 48;
- cost[Item.gunpowder.itemID] = 16;
- cost[Item.appleRed.itemID] = 8;
- cost[Item.appleGold.itemID] = 1;
- cost[Item.dyePowder.itemID] = 64;
- cost[Item.bone.itemID] = 2;
- cost[Item.rottenFlesh.itemID] = 48;
- cost[Item.cookie.itemID] = 16;
- cost[Item.melon.itemID] = 32;
- cost[Item.chickenCooked.itemID] = 8;
- cost[Item.chickenRaw.itemID] = cost[Item.chickenCooked.itemID];
- cost[Item.silk.itemID] = 64;
- cost[Block.cactus.blockID] = 32;
- souls[Block.planks.blockID] = 0;
- souls[Block.wood.blockID] = 1;
- souls[Block.cloth.blockID] = 1;
- souls[Block.cobblestoneMossy.blockID] = 1;
- souls[Block.obsidian.blockID] = 1;
- souls[Block.pumpkin.blockID] = 1;
- souls[Block.netherrack.blockID] = 1;
- souls[Block.slowSand.blockID] = 1;
- souls[Block.glowStone.blockID] = 2;
- souls[Block.pumpkinLantern.blockID] = 1;
- souls[Block.blockDiamond.blockID] = 27;
- souls[Block.blockGold.blockID] = 2;
- souls[Block.blockIron.blockID] = 2;
- souls[Block.blockLapis.blockID] = 3;
- souls[Block.jukebox.blockID] = 3;
- souls[Block.music.blockID] = 1;
- souls[Block.melon.blockID] = 1;
- souls[Block.torchRedstoneIdle.blockID] = 1;
- souls[Block.torchRedstoneActive.blockID] = souls[Block.torchRedstoneIdle.blockID];
- souls[Item.redstone.itemID] = 1;
- souls[Item.beefRaw.itemID] = 1;
- souls[Item.beefCooked.itemID] = souls[Item.beefRaw.itemID];
- souls[Item.porkRaw.itemID] = souls[Item.beefRaw.itemID];
- souls[Item.porkCooked.itemID] = souls[Item.beefRaw.itemID];
- souls[Item.enderPearl.itemID] = 1;
- souls[Item.eyeOfEnder.itemID] = 2;
- souls[Item.blazeRod.itemID] = 2;
- souls[Block.mushroomBrown.blockID] = 1;
- souls[Block.mushroomRed.blockID] = souls[Block.mushroomBrown.blockID];
- souls[Block.netherStalk.blockID] = 1;
- souls[Item.glowstone.itemID] = 1;
- souls[Item.diamond.itemID] = 3;
- souls[Item.ingotIron.itemID] = 1;
- souls[Item.ingotGold.itemID] = 1;
- souls[Item.reed.itemID] = 1;
- souls[Item.sugar.itemID] = souls[Item.reed.itemID];
- souls[Item.bucketLava.itemID] = 1;
- souls[Item.cake.itemID] = 1;
- souls[Item.bucketMilk.itemID] = 1;
- souls[Item.wheat.itemID] = 1;
- souls[Item.bread.itemID] = 1;
- souls[Block.plantYellow.blockID] = 1;
- souls[Block.plantRed.blockID] = souls[Block.plantYellow.blockID];
- souls[Block.dragonEgg.blockID] = 1;
- souls[Block.tallGrass.blockID] = 1;
- souls[Block.sapling.blockID] = 1;
- souls[Item.ghastTear.itemID] = 1;
- souls[Item.goldNugget.itemID] = 1;
- souls[Item.spiderEye.itemID] = 1;
- souls[Item.fermentedSpiderEye.itemID] = 1;
- souls[Item.bowlSoup.itemID] = 1;
- souls[Item.fishRaw.itemID] = 1;
- souls[Item.fishCooked.itemID] = souls[Item.fishRaw.itemID];
- souls[Item.magmaCream.itemID] = 1;
- souls[Item.blazePowder.itemID] = 1;
- souls[Item.speckledMelon.itemID] = 1;
- souls[Item.paper.itemID] = 1;
- souls[Item.book.itemID] = 1;
- souls[Item.egg.itemID] = 1;
- souls[Item.slimeBall.itemID] = 1;
- souls[Item.saddle.itemID] = 1;
- souls[Item.feather.itemID] = 1;
- souls[Item.gunpowder.itemID] = 1;
- souls[Item.appleRed.itemID] = 1;
- souls[Item.appleGold.itemID] = 3;
- souls[Item.dyePowder.itemID] = 1;
- souls[Item.bone.itemID] = 1;
- souls[Item.rottenFlesh.itemID] = 1;
- souls[Item.cookie.itemID] = 1;
- souls[Item.melon.itemID] = 1;
- souls[Item.chickenCooked.itemID] = 1;
- souls[Item.chickenRaw.itemID] = souls[Item.chickenCooked.itemID];
- souls[Item.silk.itemID] = 1;
- souls[Block.cactus.blockID] = 1;
- }
- }
-
- public int getSizeInventory ()
- {
- return 9;
- }
-
- public ItemStack getStackInSlot (int i)
- {
- if (supply != null && supply.getItem() == null)
- {
- supply = null;
- }
- return supply;
- }
-
- public boolean subtractSoul (int i)
- {
- TConstruct.logger.info("SUBTRACT WHY");
- if (supply == null || supply.itemID >= 512 || cost[supply.itemID] == 0)
- {
- worldObj.playSoundAtEntity(Minecraft.getMinecraft().thePlayer, "mob.blaze.death", 1.0F, 0.5F);
- Minecraft.getMinecraft().thePlayer.addChatMessage("I require more souls...");
- return false;
- }
- int j = cost[supply.itemID];
- int k = souls[supply.itemID];
- int l = (supply.stackSize / j) * k;
- TConstruct.logger.info((new StringBuilder()).append("Subtracting amt").append(i).append(" s").append(k).append(" c").append(j).append(" ss").append(supply.stackSize).append(" id")
- .append(supply.itemID).append(" sa").append(l).append(" calc").append(Math.ceil((double) i / (double) k)).toString());
- if (l < i)
- {
- worldObj.playSoundAtEntity(Minecraft.getMinecraft().thePlayer, "mob.blaze.death", 1.0F, 0.5F);
- Minecraft.getMinecraft().thePlayer.addChatMessage("I need more souls...");
- return false;
- }
- supply.stackSize -= Math.ceil((double) i / (double) k) * (double) j;
- if (supply.stackSize == 0)
- {
- supply = null;
- }
- else if (supply.stackSize < 0)
- {
- throw new UnsupportedOperationException((new StringBuilder())
- .append("If you are getting this error then your golems mod has derped, \nplease contact billythegoat101 on the minecraftforums with the error code: LERN YO MATHS [i")
- .append(supply.itemID).append(",ss").append(supply.stackSize).append(",a").append(i).append("]").toString());
- }
- return true;
- }
-
- public ItemStack decrStackSize (int i, int j)
- {
- if (supply != null && supply.getItem() == null)
- {
- supply = null;
- }
- if (supply != null)
- {
- if (supply.stackSize <= j)
- {
- ItemStack itemstack = supply;
- supply = null;
- onInventoryChanged();
- return itemstack;
- }
- ItemStack itemstack1 = supply.splitStack(j);
- if (supply.stackSize == 0)
- {
- supply = null;
- }
- onInventoryChanged();
- return itemstack1;
- }
- else
- {
- return null;
- }
- }
-
- public void setInventorySlotContents (int i, ItemStack itemstack)
- {
- supply = itemstack;
- if (itemstack != null && itemstack.stackSize > getInventoryStackLimit())
- {
- itemstack.stackSize = getInventoryStackLimit();
- }
- if (supply != null && supply.getItem() == null)
- {
- supply = null;
- }
- onInventoryChanged();
- }
-
- public void writeToNBT (NBTTagCompound nbttagcompound)
- {
- super.writeToNBT(nbttagcompound);
- if (supply == null)
- {
- supply = new ItemStack(0, 0, 0);
- }
- NBTTagList nbttaglist = new NBTTagList();
- if (supply != null)
- {
- NBTTagCompound nbttagcompound1 = new NBTTagCompound();
- nbttagcompound1.setByte("Slot", (byte) 0);
- supply.writeToNBT(nbttagcompound1);
- nbttaglist.appendTag(nbttagcompound1);
- }
- nbttagcompound.setTag("Items", nbttaglist);
- }
-
- public void readFromNBT (NBTTagCompound nbttagcompound)
- {
- super.readFromNBT(nbttagcompound);
- supply = new ItemStack(0, 0, 0);
- NBTTagList nbttaglist = nbttagcompound.getTagList("Items");
- for (int i = 0; i < nbttaglist.tagCount(); i++)
- {
- NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.tagAt(i);
- int j = nbttagcompound1.getByte("Slot") & 0xff;
- if (j >= 0 && j < 1)
- {
- supply = ItemStack.loadItemStackFromNBT(nbttagcompound1);
- }
- }
-
- if (supply != null && supply.getItem() == null)
- {
- supply = null;
- }
- }
-
- public String getInvName ()
- {
- return "golempedestalinv";
- }
-
- public int getInventoryStackLimit ()
- {
- return 64;
- }
-
- public boolean canInteractWith (EntityPlayer entityplayer)
- {
- return true;
- }
-
- public void openChest ()
- {
- }
-
- public void closeChest ()
- {
- }
-
- public void clear ()
- {
- supply = null;
- }
-
- public boolean isUseableByPlayer (EntityPlayer entityplayer)
- {
- return true;
- }
-
- @Override
- public ItemStack getStackInSlotOnClosing (int i)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean isInvNameLocalized ()
- {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean isItemValidForSlot (int i, ItemStack itemstack)
- {
- // TODO Auto-generated method stub
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/LandmineExplodeLogic.java b/src/main/java/tconstruct/blocks/logic/LandmineExplodeLogic.java
deleted file mode 100644
index e5dc6e45..00000000
--- a/src/main/java/tconstruct/blocks/logic/LandmineExplodeLogic.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package tconstruct.blocks.logic;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import tconstruct.util.landmine.behavior.Behavior;
-import tconstruct.util.landmine.behavior.stackCombo.SpecialStackHandler;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-
-/**
- * This logic is designed only for blocks having TileEntityLandmine as their
- * tileEntity(otherwise ClassCastException will be awarded)
- *
- * @author fuj1n
- *
- */
-public class LandmineExplodeLogic
-{
-
- private final World worldObj;
- private final Entity triggerer;
- private final TileEntityLandmine tileEntity;
- private final int x, y, z;
-
- public LandmineExplodeLogic(World par1World, int par2, int par3, int par4, Entity entity)
- {
- worldObj = par1World;
- this.tileEntity = (TileEntityLandmine) par1World.getBlockTileEntity(par2, par3, par4);
- this.x = par2;
- this.y = par3;
- this.z = par4;
- this.triggerer = entity;
- }
-
- public void explode ()
- {
- if (triggerer == null)
- {
- return;
- }
-
- boolean preventExplode = false;
- boolean isOffensive = true;
- boolean cancelDefault = false;
-
- ArrayList stacks = new ArrayList();
- boolean hasExploded = false;
-
- if (tileEntity == null)
- {
- return;
- }
-
- tileEntity.isExploding = true;
-
- for (int i = 0; i < tileEntity.getSizeTriggerInventory(); i++)
- {
- ItemStack currentStack = tileEntity.getStackInSlot(i);
- Behavior b = Behavior.getBehaviorFromStack(currentStack);
- if (b != null)
- {
-
- if (b.doesBehaviorPreventRemovalOfBlock(currentStack))
- {
- preventExplode = true;
- }
-
- if (!b.isBehaviorExchangableWithOffensive(currentStack))
- {
- isOffensive = false;
- }
-
- if (b.overridesDefault())
- {
- cancelDefault = true;
- }
-
- if (!stacks.isEmpty() && Behavior.arrayContainsEqualStack(stacks, currentStack) && b.effectStacks())
- {
- stacks.get(Behavior.arrayIndexOfStack(stacks, currentStack)).stackSize += currentStack.stackSize;
- }
- else
- {
- stacks.add(currentStack.copy());
- }
- }
- }
-
- LandmineSpecialStackLogic specialStacks = new LandmineSpecialStackLogic(worldObj, x, y, z, triggerer, isOffensive, stacks);
- specialStacks.handleSpecialStacks();
-
- Iterator i1 = stacks.iterator();
- while (i1.hasNext())
- {
- ItemStack currentStack = i1.next();
- Behavior b = Behavior.getBehaviorFromStack(currentStack);
- if (b != null)
- {
- if (isOffensive || !b.isOffensive(currentStack))
- {
- b.executeLogic(worldObj, x, y, z, currentStack, triggerer, !preventExplode);
- if (b.shouldItemBeRemoved(currentStack, !preventExplode))
- {
- if (b.effectStacks())
- {
- for (int i = 0; i < tileEntity.getSizeTriggerInventory(); i++)
- {
- if (tileEntity.getStackInSlot(i) != null)
- {
- if (tileEntity.getStackInSlot(i).isItemEqual(currentStack))
- {
- tileEntity.setInventorySlotContents(i, null);
- }
- }
- }
- }
- else
- {
- boolean hasRemoved = false;
-
- for (int i = 0; i < tileEntity.getSizeTriggerInventory() && !hasRemoved; i++)
- {
- if (tileEntity.getStackInSlot(i) != null)
- {
- if (tileEntity.getStackInSlot(i).isItemEqual(currentStack))
- {
- tileEntity.setInventorySlotContents(i, null);
- hasRemoved = true;
- }
- }
- }
- }
- }
- }
- }
- }
-
- Behavior defBeh = Behavior.getDefaulBehavior();
- if (defBeh != null && isOffensive && !cancelDefault)
- {
- defBeh.executeLogic(worldObj, x, y, z, null, triggerer, !preventExplode);
- }
-
- if (hasExploded || defBeh != null && !preventExplode)
- {
- worldObj.removeBlockTileEntity(x, y, z);
- worldObj.setBlockToAir(x, y, z);
- }
- else
- {
- tileEntity.isExploding = false;
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/LandmineSpecialStackLogic.java b/src/main/java/tconstruct/blocks/logic/LandmineSpecialStackLogic.java
deleted file mode 100644
index 85894884..00000000
--- a/src/main/java/tconstruct/blocks/logic/LandmineSpecialStackLogic.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package tconstruct.blocks.logic;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import tconstruct.util.landmine.behavior.stackCombo.SpecialStackHandler;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-
-public class LandmineSpecialStackLogic
-{
-
- private final World worldObj;
- private final Entity triggerer;
- private final TileEntityLandmine tileEntity;
- private final int x, y, z;
- private final boolean isOffensive;
- private final ArrayList stackEffects;
-
- public LandmineSpecialStackLogic(World par1World, int par2, int par3, int par4, Entity entity, boolean mayHurtPlayer, ArrayList items)
- {
- worldObj = par1World;
- this.tileEntity = (TileEntityLandmine) par1World.getBlockTileEntity(par2, par3, par4);
- this.x = par2;
- this.y = par3;
- this.z = par4;
- this.triggerer = entity;
- this.isOffensive = mayHurtPlayer;
- this.stackEffects = items;
- }
-
- public void handleSpecialStacks ()
- {
- Iterator i1 = SpecialStackHandler.handlers.iterator();
-
- while (i1.hasNext())
- {
- SpecialStackHandler h = i1.next();
- if (isOffensive || !h.isOffensive(stackEffects))
- {
- h.checkStack(worldObj, x, y, z, triggerer, stackEffects);
- }
- }
- }
-
-}
diff --git a/src/main/java/tconstruct/blocks/logic/LavaTankLogic.java b/src/main/java/tconstruct/blocks/logic/LavaTankLogic.java
deleted file mode 100644
index e590c798..00000000
--- a/src/main/java/tconstruct/blocks/logic/LavaTankLogic.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package tconstruct.blocks.logic;
-
-import net.minecraft.block.Block;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidContainerRegistry;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTank;
-import net.minecraftforge.fluids.FluidTankInfo;
-import net.minecraftforge.fluids.IFluidHandler;
-import net.minecraftforge.fluids.IFluidTank;
-
-public class LavaTankLogic extends MultiServantLogic implements IFluidHandler
-{
- public FluidTank tank;
- public int renderOffset;
-
- public LavaTankLogic()
- {
- tank = new FluidTank(FluidContainerRegistry.BUCKET_VOLUME * 4);
- }
-
- @Override
- public int fill (ForgeDirection from, FluidStack resource, boolean doFill)
- {
- int amount = tank.fill(resource, doFill);
- if (amount > 0 && doFill)
- {
- renderOffset = resource.amount;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
-
- return amount;
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
- {
- FluidStack amount = tank.drain(maxDrain, doDrain);
- if (amount != null && doDrain)
- {
- renderOffset = -maxDrain;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
- return amount;
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, FluidStack resource, boolean doDrain)
- {
- return null;
- }
-
- @Override
- public boolean canFill (ForgeDirection from, Fluid fluid)
- {
- //return tank.fill(fluid, false) > 0;
- return false;
- }
-
- @Override
- public boolean canDrain (ForgeDirection from, Fluid fluid)
- {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public FluidTankInfo[] getTankInfo (ForgeDirection from)
- {
- FluidStack fluid = null;
- if (tank.getFluid() != null)
- fluid = tank.getFluid().copy();
- return new FluidTankInfo[] { new FluidTankInfo(fluid, tank.getCapacity()) };
- }
-
- /*@Override
- public IFluidTank[] getTanks (ForgeDirection direction)
- {
- return new IFluidTank[] { tank };
- }
-
- @Override
- public IFluidTank getTank (ForgeDirection direction, FluidStack type)
- {
- return tank;
- }*/
-
- public float getFluidAmountScaled ()
- {
- return (float) (tank.getFluid().amount - renderOffset) / (float) (tank.getCapacity() * 1.01F);
- }
-
- public boolean containsFluid ()
- {
- return tank.getFluid() != null;
- }
-
- public int getBrightness ()
- {
- if (containsFluid())
- {
- int id = tank.getFluid().fluidID;
- if (id < 4096)
- {
- return Block.lightValue[id];
- }
- }
- return 0;
- }
-
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- readCustomNBT(tags);
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- writeCustomNBT(tags);
- }
-
- public void readCustomNBT (NBTTagCompound tags)
- {
- if (tags.getBoolean("hasFluid"))
- tank.setFluid(new FluidStack(tags.getInteger("itemID"), tags.getInteger("amount")));
- else
- tank.setFluid(null);
- }
-
- public void writeCustomNBT (NBTTagCompound tags)
- {
- FluidStack liquid = tank.getFluid();
- tags.setBoolean("hasFluid", liquid != null);
- if (liquid != null)
- {
- tags.setInteger("itemID", liquid.fluidID);
- tags.setInteger("amount", liquid.amount);
- }
- }
-
- /* Packets */
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeCustomNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readCustomNBT(packet.data);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-
- /* Updating */
- public boolean canUpdate ()
- {
- return true;
- }
-
- @Override
- public void updateEntity ()
- {
- if (renderOffset > 0)
- {
- renderOffset -= 6;
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/LiquidTextureLogic.java b/src/main/java/tconstruct/blocks/logic/LiquidTextureLogic.java
deleted file mode 100644
index 3406119a..00000000
--- a/src/main/java/tconstruct/blocks/logic/LiquidTextureLogic.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package tconstruct.blocks.logic;
-
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.tileentity.TileEntity;
-
-public class LiquidTextureLogic extends TileEntity
-{
- int texturePos;
-
- public boolean canUpdate ()
- {
- return false;
- }
-
- public void setLiquidType (int tex)
- {
- texturePos = tex;
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-
- public int getLiquidType ()
- {
- return texturePos;
- }
-
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- readCustomNBT(tags);
- }
-
- public void readCustomNBT (NBTTagCompound tags)
- {
- texturePos = tags.getInteger("Texture");
- }
-
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- writeCustomNBT(tags);
- }
-
- public void writeCustomNBT (NBTTagCompound tags)
- {
- tags.setInteger("Texture", texturePos);
- }
-
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeCustomNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readCustomNBT(packet.data);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/MultiServantLogic.java b/src/main/java/tconstruct/blocks/logic/MultiServantLogic.java
deleted file mode 100644
index 33c66849..00000000
--- a/src/main/java/tconstruct/blocks/logic/MultiServantLogic.java
+++ /dev/null
@@ -1,177 +0,0 @@
-package tconstruct.blocks.logic;
-
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-import tconstruct.library.util.CoordTuple;
-import tconstruct.library.util.IMasterLogic;
-import tconstruct.library.util.IServantLogic;
-
-public class MultiServantLogic extends TileEntity implements IServantLogic
-{
- boolean hasMaster;
- CoordTuple master;
- short masterID;
- byte masterMeat; //Typo, it stays!
-
- public boolean canUpdate ()
- {
- return false;
- }
-
- public boolean hasValidMaster ()
- {
- if (!hasMaster)
- return false;
-
- if (worldObj.getBlockId(master.x, master.y, master.z) == masterID && worldObj.getBlockMetadata(master.x, master.y, master.z) == masterMeat)
- return true;
-
- else
- {
- hasMaster = false;
- master = null;
- return false;
- }
- }
-
- public CoordTuple getMasterPosition ()
- {
- return master;
- }
-
- public void overrideMaster (int x, int y, int z)
- {
- hasMaster = true;
- master = new CoordTuple(x, y, z);
- masterID = (short) worldObj.getBlockId(x, y, z);
- masterMeat = (byte) worldObj.getBlockMetadata(x, y, z);
- }
-
- public void removeMaster ()
- {
- hasMaster = false;
- master = null;
- masterID = 0;
- masterMeat = 0;
- }
-
- @Deprecated
- public boolean verifyMaster (IMasterLogic logic, int x, int y, int z)
- {
- if (master.equalCoords(x, y, z) && worldObj.getBlockId(x, y, z) == masterID && worldObj.getBlockMetadata(x, y, z) == masterMeat)
- return true;
- else
- return false;
- }
-
- @Deprecated
- public boolean setMaster (int x, int y, int z)
- {
- if (!hasMaster || worldObj.getBlockId(master.x, master.y, master.z) != masterID || (worldObj.getBlockMetadata(master.x, master.y, master.z) != masterMeat))
- {
- overrideMaster(x, y, z);
- return true;
- }
- else
- {
- return false;
- }
- }
-
- @Override
- public boolean setPotentialMaster (IMasterLogic master, World world, int x, int y, int z)
- {
- return !hasMaster;
- }
-
- @Override
- public boolean verifyMaster (IMasterLogic logic, World world, int x, int y, int z)
- {
- if (hasMaster)
- {
- return hasValidMaster();
- }
- else
- {
- overrideMaster(x, y, z);
- return true;
- }
- }
-
- @Override
- public void invalidateMaster (IMasterLogic master, World world, int x, int y, int z)
- {
- hasMaster = false;
- master = null;
- }
-
- public void notifyMasterOfChange ()
- {
- if (hasValidMaster())
- {
- IMasterLogic logic = (IMasterLogic) worldObj.getBlockTileEntity(master.x, master.y, master.z);
- logic.notifyChange(this, xCoord, yCoord, zCoord);
- }
- }
-
- public void readCustomNBT (NBTTagCompound tags)
- {
- hasMaster = tags.getBoolean("TiedToMaster");
- if (hasMaster)
- {
- int xCenter = tags.getInteger("xCenter");
- int yCenter = tags.getInteger("yCenter");
- int zCenter = tags.getInteger("zCenter");
- master = new CoordTuple(xCenter, yCenter, zCenter);
- masterID = tags.getShort("MasterID");
- masterMeat = tags.getByte("masterMeat");
- }
- }
-
- public void writeCustomNBT (NBTTagCompound tags)
- {
- tags.setBoolean("TiedToMaster", hasMaster);
- if (hasMaster)
- {
- tags.setInteger("xCenter", master.x);
- tags.setInteger("yCenter", master.y);
- tags.setInteger("zCenter", master.z);
- tags.setShort("MasterID", masterID);
- tags.setByte("masterMeat", masterMeat);
- }
- }
-
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- readCustomNBT(tags);
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- writeCustomNBT(tags);
- }
-
- /* Packets */
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeCustomNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readCustomNBT(packet.data);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/PartBuilderLogic.java b/src/main/java/tconstruct/blocks/logic/PartBuilderLogic.java
deleted file mode 100644
index 4828db87..00000000
--- a/src/main/java/tconstruct/blocks/logic/PartBuilderLogic.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package tconstruct.blocks.logic;
-
-import tconstruct.inventory.PartCrafterChestContainer;
-import tconstruct.inventory.PartCrafterContainer;
-import tconstruct.library.blocks.InventoryLogic;
-import tconstruct.library.crafting.PatternBuilder;
-import tconstruct.library.util.IPattern;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.ISidedInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-
-public class PartBuilderLogic extends InventoryLogic implements ISidedInventory
-{
- boolean craftedTop;
- boolean craftedBottom;
-
- public PartBuilderLogic()
- {
- super(10);
- craftedTop = false;
- craftedBottom = false;
- }
-
- @Override
- public String getDefaultName ()
- {
- return "toolstation.parts";
- }
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z)
- {
- for (int xPos = x - 1; xPos <= x + 1; xPos++)
- {
- for (int zPos = z - 1; zPos <= z + 1; zPos++)
- {
- for (int yPos = y - 1; zPos <= y + 1; zPos++)
- {
- TileEntity tile = world.getBlockTileEntity(xPos, yPos, zPos);
- if (tile != null && tile instanceof PatternChestLogic)
- return new PartCrafterChestContainer(inventoryplayer, this, (PatternChestLogic) tile);
- }
- }
- }
- return new PartCrafterContainer(inventoryplayer, this);
- }
-
- //Called when emptying a slot, not when another item is placed in it
- public ItemStack decrStackSize (int slotID, int quantity)
- {
- ItemStack returnStack = super.decrStackSize(slotID, quantity);
- tryBuildPart(slotID);
- return returnStack;
- }
-
- public void tryBuildPart (int slotID)
- {
- if (slotID == 4 || slotID == 5)
- {
- if (!craftedTop && inventory[0] != null)
- {
- int value = PatternBuilder.instance.getPartValue(inventory[2]);
- IPattern item = (IPattern) inventory[0].getItem();
- int cost = item != null ? item.getPatternCost(inventory[0]) : 0;
- if (value > 0 && cost > 0)
- {
- int decrease = cost / value;
- if (cost % value != 0)
- decrease++;
- super.decrStackSize(2, decrease); //Call super to avoid crafting again
- }
- }
-
- if (inventory[4] != null || inventory[5] != null)
- craftedTop = true;
- else
- craftedTop = false;
- }
-
- if (!craftedTop)
- buildTopPart();
-
- if (slotID == 6 || slotID == 7)
- {
- if (!craftedBottom && inventory[1] != null)
- {
- int value = PatternBuilder.instance.getPartValue(inventory[3]);
- IPattern item = (IPattern) inventory[1].getItem();
- int cost = item != null ? item.getPatternCost(inventory[1]) : 0;
- if (value > 0 && cost > 0)
- {
- int decrease = cost / value;
- if (cost % value != 0)
- decrease++;
- super.decrStackSize(3, decrease); //Call super to avoid crafting again
- }
- }
-
- if (inventory[6] != null || inventory[7] != null)
- craftedBottom = true;
- else
- craftedBottom = false;
- }
-
- if (!craftedBottom)
- buildBottomPart();
- }
-
- //Called when a slot has something placed into it.
- public void setInventorySlotContents (int slot, ItemStack itemstack)
- {
- super.setInventorySlotContents(slot, itemstack);
- if ((slot == 0 || slot == 2) && !craftedTop)
- buildTopPart();
- if ((slot == 1 || slot == 3) && !craftedBottom)
- buildBottomPart();
- }
-
- void buildTopPart ()
- {
- ItemStack[] parts = PatternBuilder.instance.getToolPart(inventory[2], inventory[0], inventory[1]);
- if (parts != null)
- {
- inventory[4] = parts[0];
- inventory[5] = parts[1];
- }
- else
- {
- inventory[4] = inventory[5] = null;
- }
- }
-
- void buildBottomPart ()
- {
- ItemStack[] parts = PatternBuilder.instance.getToolPart(inventory[3], inventory[1], inventory[0]);
- if (parts != null)
- {
- inventory[6] = parts[0];
- inventory[7] = parts[1];
- }
- else
- {
- inventory[6] = inventory[7] = null;
- }
- }
-
- /* NBT */
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- craftedTop = tags.getBoolean("CraftedTop");
- craftedBottom = tags.getBoolean("CraftedBottom");
- }
-
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- tags.setBoolean("CraftedTop", craftedTop);
- tags.setBoolean("CraftedBottom", craftedBottom);
- }
-
- @Override
- public int[] getAccessibleSlotsFromSide (int side)
- {
- return new int[0];
- }
-
- @Override
- public boolean canInsertItem (int i, ItemStack itemstack, int j)
- {
- return false;
- }
-
- @Override
- public boolean canExtractItem (int i, ItemStack itemstack, int j)
- {
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/PatternChestLogic.java b/src/main/java/tconstruct/blocks/logic/PatternChestLogic.java
deleted file mode 100644
index 0086726a..00000000
--- a/src/main/java/tconstruct/blocks/logic/PatternChestLogic.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package tconstruct.blocks.logic;
-
-import tconstruct.inventory.PatternChestContainer;
-import tconstruct.library.blocks.InventoryLogic;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.world.World;
-
-public class PatternChestLogic extends InventoryLogic
-{
- public PatternChestLogic()
- {
- super(30);
- }
-
- public boolean canUpdate ()
- {
- return false;
- }
-
- @Override
- public String getDefaultName ()
- {
- return "toolstation.patternholder";
- }
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z)
- {
- return new PatternChestContainer(inventoryplayer, this);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/RedwireLogic.java b/src/main/java/tconstruct/blocks/logic/RedwireLogic.java
deleted file mode 100644
index c28d2a82..00000000
--- a/src/main/java/tconstruct/blocks/logic/RedwireLogic.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package tconstruct.blocks.logic;
-
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.tileentity.TileEntity;
-
-public class RedwireLogic extends TileEntity
-{
- byte facesUsed;
- byte type;
- byte distanceTravelled;
- byte maxDistance;
-
- public void readCustomNBT (NBTTagCompound tags)
- {
- /*hasMaster = tags.getBoolean("HasMaster");
- if (hasMaster)
- {
- int xCenter = tags.getInteger("xCenter");
- int yCenter = tags.getInteger("yCenter");
- int zCenter = tags.getInteger("zCenter");
- master = new CoordTuple(xCenter, yCenter, zCenter);
- masterID = tags.getShort("MasterID");
- masterMeat = tags.getByte("masterMeat");
- }*/
- }
-
- public void writeCustomNBT (NBTTagCompound tags)
- {
- /*tags.setBoolean("HasMaster", hasMaster);
- if (hasMaster)
- {
- tags.setInteger("xCenter", master.x);
- tags.setInteger("yCenter", master.y);
- tags.setInteger("zCenter", master.z);
- tags.setShort("MasterID", masterID);
- tags.setByte("masterMeat", masterMeat);
- }*/
- }
-
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- readCustomNBT(tags);
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- writeCustomNBT(tags);
- }
-
- /* Packets */
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeCustomNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readCustomNBT(packet.data);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/SmelteryDrainLogic.java b/src/main/java/tconstruct/blocks/logic/SmelteryDrainLogic.java
deleted file mode 100644
index d4a88159..00000000
--- a/src/main/java/tconstruct/blocks/logic/SmelteryDrainLogic.java
+++ /dev/null
@@ -1,186 +0,0 @@
-package tconstruct.blocks.logic;
-
-import tconstruct.library.crafting.AlloyMix;
-import tconstruct.library.util.IFacingLogic;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.util.MathHelper;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTankInfo;
-import net.minecraftforge.fluids.IFluidHandler;
-
-public class SmelteryDrainLogic extends MultiServantLogic implements IFluidHandler, IFacingLogic
-{
- byte direction;
-
- public boolean canUpdate ()
- {
- return false;
- }
-
- @Override
- public int fill (ForgeDirection from, FluidStack resource, boolean doFill)
- {
- if (hasValidMaster() && resource != null && canFill(from, resource.getFluid()))
- {
- if (doFill)
- {
- SmelteryLogic smeltery = (SmelteryLogic) worldObj.getBlockTileEntity(master.x, master.y, master.z);
- return smeltery.fill(resource, doFill);
- }
- else
- {
- return resource.amount;
- }
- }
- else
- {
- return 0;
- }
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
- {
- if (hasValidMaster() && canDrain(from, null))
- {
- SmelteryLogic smeltery = (SmelteryLogic) worldObj.getBlockTileEntity(master.x, master.y, master.z);
- return smeltery.drain(maxDrain, doDrain);
- }
- else
- {
- return null;
- }
- }
-
- @Override
- public FluidStack drain (ForgeDirection from, FluidStack resource, boolean doDrain)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean canFill (ForgeDirection from, Fluid fluid)
- {
- return true;
- //return from == getForgeDirection();//.getOpposite();
- }
-
- @Override
- public boolean canDrain (ForgeDirection from, Fluid fluid)
- {
- // Check that the drain is coming from the from the front of the block
- // and that the fluid to be drained is in the smeltery.
- boolean containsFluid = fluid == null;
- if (fluid != null)
- {
- SmelteryLogic smeltery = (SmelteryLogic) worldObj.getBlockTileEntity(master.x, master.y, master.z);
- for (FluidStack fstack : smeltery.moltenMetal)
- {
- if (fstack.fluidID == fluid.getID())
- {
- containsFluid = true;
- break;
- }
- }
- }
- //return from == getForgeDirection().getOpposite() && containsFluid;
- return containsFluid;
- }
-
- @Override
- public FluidTankInfo[] getTankInfo (ForgeDirection from)
- {
- if (hasValidMaster() && (from == getForgeDirection() || from == getForgeDirection().getOpposite() || from == ForgeDirection.UNKNOWN))
- {
- SmelteryLogic smeltery = (SmelteryLogic) worldObj.getBlockTileEntity(master.x, master.y, master.z);
- return smeltery.getMultiTankInfo();
- //return new FluidTankInfo[] { smeltery.getInfo() };
- }
- return null;
- }
-
- @Override
- public byte getRenderDirection ()
- {
- return direction;
- }
-
- @Override
- public ForgeDirection getForgeDirection ()
- {
- return ForgeDirection.VALID_DIRECTIONS[direction];
- }
-
- @Override
- public void setDirection (int side)
- {
-
- }
-
- @Override
- public void setDirection (float yaw, float pitch, EntityLivingBase player)
- {
- if (pitch > 45)
- direction = 1;
- else if (pitch < -45)
- direction = 0;
- else
- {
- int facing = MathHelper.floor_double((double) (yaw / 360) + 0.5D) & 3;
- switch (facing)
- {
- case 0:
- direction = 2;
- break;
-
- case 1:
- direction = 5;
- break;
-
- case 2:
- direction = 3;
- break;
-
- case 3:
- direction = 4;
- break;
- }
- }
- }
-
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- direction = tags.getByte("Direction");
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- tags.setByte("Direction", direction);
- }
-
- /* Packets */
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeToNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readFromNBT(packet.data);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/SmelteryLogic.java b/src/main/java/tconstruct/blocks/logic/SmelteryLogic.java
deleted file mode 100644
index 37268fca..00000000
--- a/src/main/java/tconstruct/blocks/logic/SmelteryLogic.java
+++ /dev/null
@@ -1,1164 +0,0 @@
-package tconstruct.blocks.logic;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.monster.EntityEnderman;
-import net.minecraft.entity.monster.EntityIronGolem;
-import net.minecraft.entity.passive.EntityHorse;
-import net.minecraft.entity.passive.EntityVillager;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTankInfo;
-import net.minecraftforge.fluids.IFluidHandler;
-import net.minecraftforge.fluids.IFluidTank;
-import tconstruct.common.TContent;
-import tconstruct.inventory.SmelteryContainer;
-import tconstruct.library.blocks.InventoryLogic;
-import tconstruct.library.crafting.Smeltery;
-import tconstruct.library.util.CoordTuple;
-import tconstruct.library.util.IActiveLogic;
-import tconstruct.library.util.IFacingLogic;
-import tconstruct.library.util.IMasterLogic;
-import tconstruct.library.util.IServantLogic;
-import tconstruct.util.SmelteryDamageSource;
-import tconstruct.util.config.PHConstruct;
-import cpw.mods.fml.common.network.PacketDispatcher;
-
-/* Simple class for storing items in the block
- */
-
-public class SmelteryLogic extends InventoryLogic implements IActiveLogic, IFacingLogic, IFluidTank, IMasterLogic
-{
- public boolean validStructure;
- public boolean tempValidStructure;
- byte direction;
- int internalTemp;
- public int useTime;
- public int fuelGague;
- public int fuelAmount;
- boolean inUse;
-
- ArrayList lavaTanks;
- CoordTuple activeLavaTank;
- public CoordTuple centerPos;
-
- public int[] activeTemps;
- public int[] meltingTemps;
- int tick;
-
- public ArrayList moltenMetal = new ArrayList();
- int maxLiquid;
- int currentLiquid;
- public int layers;
- int slag;
-
- int numBricks;
-
- Random rand = new Random();
- boolean needsUpdate;
-
- public SmelteryLogic()
- {
- super(0);
- lavaTanks = new ArrayList();
- activeTemps = new int[0];
- meltingTemps = new int[0];
- }
-
- void adjustLayers (int lay, boolean forceAdjust)
- {
- if (lay != layers || forceAdjust)
- {
- needsUpdate = true;
- layers = lay;
- maxLiquid = 20000 * lay;
- int[] tempActive = activeTemps;
- activeTemps = new int[9 * lay];
- int activeLength = tempActive.length > activeTemps.length ? activeTemps.length : tempActive.length;
- System.arraycopy(tempActive, 0, activeTemps, 0, activeLength);
-
- int[] tempMelting = meltingTemps;
- meltingTemps = new int[9 * lay];
- int meltingLength = tempMelting.length > meltingTemps.length ? meltingTemps.length : tempMelting.length;
- System.arraycopy(tempMelting, 0, meltingTemps, 0, meltingLength);
-
- ItemStack[] tempInv = inventory;
- inventory = new ItemStack[9 * lay];
- int invLength = tempInv.length > inventory.length ? inventory.length : tempInv.length;
- System.arraycopy(tempInv, 0, inventory, 0, invLength);
-
- if (activeTemps.length > 0 && activeTemps.length > tempActive.length)
- {
- for (int i = tempActive.length; i < activeTemps.length; i++)
- {
- activeTemps[i] = 20;
- meltingTemps[i] = 20;
- }
- }
-
- if (tempInv.length > inventory.length)
- {
- for (int i = inventory.length; i < tempInv.length; i++)
- {
- ItemStack stack = tempInv[i];
- if (stack != null)
- {
- float jumpX = rand.nextFloat() * 0.8F + 0.1F;
- float jumpY = rand.nextFloat() * 0.8F + 0.1F;
- float jumpZ = rand.nextFloat() * 0.8F + 0.1F;
-
- int offsetX = 0;
- int offsetZ = 0;
- switch (getRenderDirection())
- {
- case 2: // +z
- offsetZ = -1;
- break;
- case 3: // -z
- offsetZ = 1;
- break;
- case 4: // +x
- offsetX = -1;
- break;
- case 5: // -x
- offsetX = 1;
- break;
- }
-
- while (stack.stackSize > 0)
- {
- int itemSize = rand.nextInt(21) + 10;
-
- if (itemSize > stack.stackSize)
- {
- itemSize = stack.stackSize;
- }
-
- stack.stackSize -= itemSize;
- EntityItem entityitem = new EntityItem(worldObj, (double) ((float) xCoord + jumpX + offsetX), (double) ((float) yCoord + jumpY),
- (double) ((float) zCoord + jumpZ + offsetZ), new ItemStack(stack.itemID, itemSize, stack.getItemDamage()));
-
- if (stack.hasTagCompound())
- {
- entityitem.getEntityItem().setTagCompound((NBTTagCompound) stack.getTagCompound().copy());
- }
-
- float offset = 0.05F;
- entityitem.motionX = (double) ((float) rand.nextGaussian() * offset);
- entityitem.motionY = (double) ((float) rand.nextGaussian() * offset + 0.2F);
- entityitem.motionZ = (double) ((float) rand.nextGaussian() * offset);
- worldObj.spawnEntityInWorld(entityitem);
- }
- }
- }
- }
- }
- }
-
- /* Misc */
- @Override
- public String getDefaultName ()
- {
- return "crafters.Smeltery";
- }
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z)
- {
- return new SmelteryContainer(inventoryplayer, this);
- }
-
- @Override
- public byte getRenderDirection ()
- {
- return direction;
- }
-
- @Override
- public ForgeDirection getForgeDirection ()
- {
- return ForgeDirection.VALID_DIRECTIONS[direction];
- }
-
- @Override
- public void setDirection (int side)
- {
-
- }
-
- @Override
- public void setDirection (float yaw, float pitch, EntityLivingBase player)
- {
- int facing = MathHelper.floor_double((double) (yaw / 360) + 0.5D) & 3;
- switch (facing)
- {
- case 0:
- direction = 2;
- break;
-
- case 1:
- direction = 5;
- break;
-
- case 2:
- direction = 3;
- break;
-
- case 3:
- direction = 4;
- break;
- }
- }
-
- @Override
- public boolean getActive ()
- {
- return validStructure;
- }
-
- @Override
- public void setActive (boolean flag)
- {
- needsUpdate = true;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
-
- public int getScaledFuelGague (int scale)
- {
- int ret = (fuelGague * scale) / 52;
- if (ret < 1)
- ret = 1;
- return ret;
- }
-
- public int getInternalTemperature ()
- {
- return internalTemp;
- }
-
- public int getTempForSlot (int slot)
- {
- return activeTemps[slot];
- }
-
- public int getMeltingPointForSlot (int slot)
- {
- return meltingTemps[slot];
- }
-
- /* Updating */
- public void updateEntity ()
- {
- /*if (worldObj.isRemote)
- return;*/
-
- tick++;
- if (tick % 4 == 0)
- heatItems();
-
- if (tick % 20 == 0)
- {
- if (!validStructure)
- checkValidPlacement();
-
- if (useTime > 0 && inUse)
- useTime -= 3;
-
- if (validStructure && useTime <= 0)
- {
- updateFuelGague();
- }
-
- if (needsUpdate)
- {
- needsUpdate = false;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
- }
-
- if (tick == 60)
- {
- tick = 0;
- if (validStructure)
- detectEntities();
- }
- }
-
- void detectEntities ()
- {
- AxisAlignedBB box = AxisAlignedBB.getAABBPool().getAABB(centerPos.x, centerPos.y, centerPos.z, centerPos.x + 1.0D, centerPos.y + 1.0D, centerPos.z + 1.0D).expand(1.0D, 0.0D, 1.0D);
-
- List list = worldObj.getEntitiesWithinAABB(Entity.class, box);
- for (Object o : list)
- {
- if (moltenMetal.size() >= 1)
- {
- if (o instanceof EntityVillager)
- {
- EntityVillager villager = (EntityVillager) o;
- if (villager.attackEntityFrom(new SmelteryDamageSource(), 5))
- {
- if (currentLiquid + 40 < maxLiquid)
- {
- int amount = villager.isChild() ? 5 : 40;
- this.fill(new FluidStack(TContent.moltenEmeraldFluid, amount), true);
- }
- }
- }
- else if (o instanceof EntityEnderman)
- {
- EntityEnderman villager = (EntityEnderman) o;
- if (villager.attackEntityFrom(new SmelteryDamageSource(), 5))
- {
- if (currentLiquid + 125 < maxLiquid)
- {
- this.fill(new FluidStack(TContent.moltenEnderFluid, 125), true);
- }
- }
- }
- else if (o instanceof EntityIronGolem)
- {
- EntityIronGolem golem = (EntityIronGolem) o;
- if (golem.attackEntityFrom(new SmelteryDamageSource(), 5))
- {
- if (currentLiquid + 40 < maxLiquid)
- {
- this.fill(new FluidStack(TContent.moltenIronFluid, 40), true);
- }
- }
- }
- else if (o instanceof EntityHorse)
- {
- EntityHorse horse = (EntityHorse) o;
- if (PHConstruct.meltableHorses && horse.attackEntityFrom(new SmelteryDamageSource(), 5))
- {
- if (currentLiquid + 108 < maxLiquid)
- {
- this.fill(new FluidStack(TContent.glueFluid, 108), true);
- }
- }
- }
- else if (o instanceof EntityLivingBase)
- {
- EntityLivingBase living = (EntityLivingBase) o;
- if (living.attackEntityFrom(new SmelteryDamageSource(), 5))
- {
- if (currentLiquid + 40 < maxLiquid)
- {
- int amount = (living.isChild() || living instanceof EntityPlayer) ? 5 : 40;
- this.fill(new FluidStack(TContent.bloodFluid, amount), true);
- }
- }
- }
- }
- else if (PHConstruct.throwableSmeltery && o instanceof EntityItem)
- {
- handleItemEntity((EntityItem) o);
- }
- }
- }
-
- private void handleItemEntity (EntityItem item)
- {
- // Clients like to play merry hell with this and cause breakage (we update their inv on syncs)
- if (worldObj.isRemote)
- return;
-
- item.age = 0;
- ItemStack istack = item.getEntityItem();
- if (istack == null || istack.stackSize <= 0) //Probably most definitely not necessary
- return;
-
- int maxSlot = this.getSizeInventory();
- boolean itemDestroyed = false;
- boolean itemAdded = false;
-
- for (int i = 0; i < maxSlot; i++)
- {
- ItemStack stack = this.getStackInSlot(i);
- if (stack == null && istack.stackSize > 0)
- {
- ItemStack copy = istack.splitStack(1);
- this.setInventorySlotContents(i, copy);
- itemAdded = true;
- if (istack.stackSize <= 0)
- {
- item.setDead();
- itemDestroyed = true;
- break;
- }
- }
- }
-
- if (!itemDestroyed)
- item.setEntityItemStack(istack);
- if (itemAdded)
- {
- this.needsUpdate = true;
- PacketDispatcher.sendPacketToAllInDimension(getDescriptionPacket(), worldObj.provider.dimensionId);
- }
- }
-
- void heatItems ()
- {
- if (useTime > 0)
- {
- boolean hasUse = false;
- for (int i = 0; i < 9 * layers; i++)
- {
- if (meltingTemps[i] > 20 && this.isStackInSlot(i))
- {
- hasUse = true;
- if (activeTemps[i] < internalTemp && activeTemps[i] < meltingTemps[i])
- {
- activeTemps[i] += 1;
- }
- else if (activeTemps[i] >= meltingTemps[i])
- {
- if (!worldObj.isRemote)
- {
- FluidStack result = getResultFor(inventory[i]);
- if (result != null)
- {
- if (addMoltenMetal(result, false))
- {
- inventory[i] = null;
- activeTemps[i] = 20;
- ArrayList alloys = Smeltery.mixMetals(moltenMetal);
- for (int al = 0; al < alloys.size(); al++)
- {
- FluidStack liquid = (FluidStack) alloys.get(al);
- addMoltenMetal(liquid, true);
- }
- onInventoryChanged();
- }
- }
- }
- }
-
- }
-
- else
- activeTemps[i] = 20;
- }
- inUse = hasUse;
- }
- }
-
- boolean addMoltenMetal (FluidStack liquid, boolean first)
- {
- needsUpdate = true;
- if (moltenMetal.size() == 0)
- {
- moltenMetal.add(liquid.copy());
- currentLiquid += liquid.amount;
- return true;
- }
- else
- {
- if (liquid.amount + currentLiquid > maxLiquid)
- return false;
-
- currentLiquid += liquid.amount;
- //TConstruct.logger.info("Current liquid: "+currentLiquid);
- boolean added = false;
- for (int i = 0; i < moltenMetal.size(); i++)
- {
- FluidStack l = moltenMetal.get(i);
- //if (l.itemID == liquid.itemID && l.itemMeta == liquid.itemMeta)
- if (l.isFluidEqual(liquid))
- {
- l.amount += liquid.amount;
- added = true;
- }
- if (l.amount <= 0)
- {
- moltenMetal.remove(l);
- i--;
- }
- }
- if (!added)
- {
- if (first)
- moltenMetal.add(0, liquid.copy());
- else
- moltenMetal.add(liquid.copy());
- }
- return true;
- }
- }
-
- void updateTemperatures ()
- {
- inUse = true;
- for (int i = 0; i < 9 * layers; i++)
- {
- meltingTemps[i] = Smeltery.instance.getLiquifyTemperature(inventory[i]);
- }
- }
-
- public void updateFuelDisplay ()
- {
- if (activeLavaTank == null || useTime > 0)
- return;
-
- if (!worldObj.blockExists(activeLavaTank.x, activeLavaTank.y, activeLavaTank.z))
- {
- fuelAmount = 0;
- fuelGague = 0;
- return;
- }
-
- TileEntity tankContainer = worldObj.getBlockTileEntity(activeLavaTank.x, activeLavaTank.y, activeLavaTank.z);
- if (tankContainer == null)
- {
- fuelAmount = 0;
- fuelGague = 0;
- return;
- }
- if (tankContainer instanceof IFluidHandler)
- {
- needsUpdate = true;
- FluidStack liquid = ((IFluidHandler) tankContainer).drain(ForgeDirection.DOWN, 150, false);
- if (liquid != null && liquid.getFluid().getBlockID() == Block.lavaStill.blockID)
- {
- FluidTankInfo[] info = ((IFluidHandler) tankContainer).getTankInfo(ForgeDirection.DOWN);
- if (info.length > 0)
- {
- int capacity = info[0].capacity;
- fuelAmount = liquid.amount;
- fuelGague = liquid.amount * 52 / capacity;
- }
- }
- else
- {
- fuelAmount = 0;
- fuelGague = 0;
- }
- }
- }
-
- void updateFuelGague () //TODO: Call this method when the GUI is opened
- {
- if (activeLavaTank == null || useTime > 0)
- return;
-
- if (!worldObj.blockExists(activeLavaTank.x, activeLavaTank.y, activeLavaTank.z))
- {
- fuelAmount = 0;
- fuelGague = 0;
- return;
- }
-
- TileEntity tankContainer = worldObj.getBlockTileEntity(activeLavaTank.x, activeLavaTank.y, activeLavaTank.z);
- if (tankContainer == null)
- {
- fuelAmount = 0;
- fuelGague = 0;
- return;
- }
- if (tankContainer instanceof IFluidHandler)
- {
- needsUpdate = true;
- FluidStack liquid = ((IFluidHandler) tankContainer).drain(ForgeDirection.DOWN, 150, false);
- if (liquid != null && liquid.getFluid().getBlockID() == Block.lavaStill.blockID)
- {
- liquid = ((IFluidHandler) tankContainer).drain(ForgeDirection.DOWN, 150, true);
- useTime += liquid.amount;
-
- FluidTankInfo[] info = ((IFluidHandler) tankContainer).getTankInfo(ForgeDirection.DOWN);
- liquid = info[0].fluid;
- int capacity = info[0].capacity;
- if (liquid != null)
- {
- fuelAmount = liquid.amount;
- fuelGague = liquid.amount * 52 / capacity;
- }
- else
- {
- fuelAmount = 0;
- fuelGague = 0;
- }
- }
- else
- {
- boolean foundTank = false;
- int iter = 0;
- while (!foundTank)
- {
- CoordTuple possibleTank = lavaTanks.get(iter);
- TileEntity newTankContainer = worldObj.getBlockTileEntity(possibleTank.x, possibleTank.y, possibleTank.z);
- if (newTankContainer instanceof IFluidHandler)
- {
- //TConstruct.logger.info("Tank: "+possibleTank.toString());
- FluidStack newliquid = ((IFluidHandler) newTankContainer).drain(ForgeDirection.UNKNOWN, 150, false);
- if (newliquid != null && newliquid.getFluid().getBlockID() == Block.lavaStill.blockID && newliquid.amount > 0)
- {
- //TConstruct.logger.info("Tank: "+possibleTank.toString());
- foundTank = true;
- activeLavaTank = possibleTank;
- iter = lavaTanks.size();
-
- /*IFluidTank newTank = ((IFluidHandler) newTankContainer).getTank(ForgeDirection.UNKNOWN, liquid);
- liquid = newTank.getFluid();
- int capacity = newTank.getCapacity();*/
- FluidTankInfo[] info = ((IFluidHandler) tankContainer).getTankInfo(ForgeDirection.DOWN);
- liquid = info[0].fluid;
- int capacity = info[0].capacity;
- if (liquid != null)
- {
- fuelAmount = liquid.amount;
- fuelGague = liquid.amount * 52 / capacity;
- }
- else
- {
- fuelAmount = 0;
- fuelGague = 0;
- }
- }
- }
- iter++;
- if (iter >= lavaTanks.size())
- foundTank = true;
- }
- //TConstruct.logger.info("Searching for tank, size: "+lavaTanks.size());
- }
- }
- }
-
- public FluidStack getResultFor (ItemStack stack)
- {
- return Smeltery.instance.getSmelteryResult(stack);
- }
-
- /* Inventory */
- /*public int getMaxStackStackSize (ItemStack stack)
- {
- FluidStack liquid = getResultFor(stack);
- if (liquid == null)
- return 0;
- return liquid.amount;
- }*/
-
- public int getInventoryStackLimit ()
- {
- return 1;
- }
-
- public void onInventoryChanged ()
- {
- updateTemperatures();
- updateEntity();
- super.onInventoryChanged();
- needsUpdate = true;
- //worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- //worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
-
- /*@Override
- public void setInventorySlotContents (int slot, ItemStack itemstack)
- {
- inventory[slot] = itemstack != null ? itemstack.splitStack(1) : null; //May include unintended side effects. Possible fix for max stack size of 1?
- }*/
-
- /* Multiblock */
- @Override
- public void notifyChange (IServantLogic servant, int x, int y, int z)
- {
- checkValidPlacement();
- }
-
- public void checkValidPlacement ()
- {
- switch (getRenderDirection())
- {
- case 2: // +z
- alignInitialPlacement(xCoord, yCoord, zCoord + 2);
- break;
- case 3: // -z
- alignInitialPlacement(xCoord, yCoord, zCoord - 2);
- break;
- case 4: // +x
- alignInitialPlacement(xCoord + 2, yCoord, zCoord);
- break;
- case 5: // -x
- alignInitialPlacement(xCoord - 2, yCoord, zCoord);
- break;
- }
- }
-
- public void alignInitialPlacement (int x, int y, int z)
- {
- int northID = worldObj.getBlockId(x, y, z + 1);
- int southID = worldObj.getBlockId(x, y, z - 1);
- int eastID = worldObj.getBlockId(x + 1, y, z);
- int westID = worldObj.getBlockId(x - 1, y, z);
-
- Block northBlock = Block.blocksList[northID];
- Block southBlock = Block.blocksList[southID];
- Block eastBlock = Block.blocksList[eastID];
- Block westBlock = Block.blocksList[westID];
-
- if ((northBlock == null || northBlock.isAirBlock(worldObj, x, y, z + 1)) && (southBlock == null || southBlock.isAirBlock(worldObj, x, y, z - 1))
- && (eastBlock == null || eastBlock.isAirBlock(worldObj, x + 1, y, z)) && (westBlock == null || westBlock.isAirBlock(worldObj, x - 1, y, z)))
- {
- checkValidStructure(x, y, z);
- }
-
- else if ((northBlock != null && !northBlock.isAirBlock(worldObj, x, y, z + 1)) && (southBlock == null || southBlock.isAirBlock(worldObj, x, y, z - 1))
- && (eastBlock == null || eastBlock.isAirBlock(worldObj, x + 1, y, z)) && (westBlock == null || westBlock.isAirBlock(worldObj, x - 1, y, z)))
- {
- checkValidStructure(x, y, z - 1);
- }
-
- else if ((northBlock == null || northBlock.isAirBlock(worldObj, x, y, z + 1)) && (southBlock != null && !southBlock.isAirBlock(worldObj, x, y, z - 1))
- && (eastBlock == null || eastBlock.isAirBlock(worldObj, x + 1, y, z)) && (westBlock == null || westBlock.isAirBlock(worldObj, x - 1, y, z)))
- {
- checkValidStructure(x, y, z + 1);
- }
-
- else if ((northBlock == null || northBlock.isAirBlock(worldObj, x, y, z + 1)) && (southBlock == null || southBlock.isAirBlock(worldObj, x, y, z - 1))
- && (eastBlock != null && !eastBlock.isAirBlock(worldObj, x + 1, y, z)) && (westBlock == null || westBlock.isAirBlock(worldObj, x - 1, y, z)))
- {
- checkValidStructure(x - 1, y, z);
- }
-
- else if ((northBlock == null || northBlock.isAirBlock(worldObj, x, y, z + 1)) && (southBlock == null || southBlock.isAirBlock(worldObj, x, y, z - 1))
- && (eastBlock == null || eastBlock.isAirBlock(worldObj, x + 1, y, z)) && (westBlock != null && !westBlock.isAirBlock(worldObj, x - 1, y, z)))
- {
- checkValidStructure(x + 1, y, z);
- }
-
- //Not valid, sorry
- }
-
- public void checkValidStructure (int x, int y, int z)
- {
- int checkLayers = 0;
- tempValidStructure = false;
- if (checkSameLevel(x, y, z))
- {
- checkLayers++;
- checkLayers += recurseStructureUp(x, y + 1, z, 0);
- checkLayers += recurseStructureDown(x, y - 1, z, 0);
- }
-
- //maxLiquid = capacity * 20000;
-
- if (tempValidStructure != validStructure || checkLayers != this.layers)
- {
- if (tempValidStructure)
- {
- internalTemp = 800;
- activeLavaTank = lavaTanks.get(0);
- adjustLayers(checkLayers, false);
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- validStructure = true;
- }
- else
- {
- internalTemp = 20;
- validStructure = false;
- }
- }
- }
-
- public boolean checkSameLevel (int x, int y, int z)
- {
- numBricks = 0;
- lavaTanks.clear();
- Block block;
-
- //Check inside
- for (int xPos = x - 1; xPos <= x + 1; xPos++)
- {
- for (int zPos = z - 1; zPos <= z + 1; zPos++)
- {
- block = Block.blocksList[worldObj.getBlockId(xPos, y, zPos)];
- if (block != null && !block.isAirBlock(worldObj, xPos, y, zPos))
- return false;
- }
- }
-
- //Check outer layer
- for (int xPos = x - 1; xPos <= x + 1; xPos++)
- {
- numBricks += checkBricks(xPos, y, z - 2);
- numBricks += checkBricks(xPos, y, z + 2);
- }
-
- for (int zPos = z - 1; zPos <= z + 1; zPos++)
- {
- numBricks += checkBricks(x - 2, y, zPos);
- numBricks += checkBricks(x + 2, y, zPos);
- }
-
- if (numBricks == 12 && lavaTanks.size() > 0)
- return true;
- else
- return false;
- }
-
- public int recurseStructureUp (int x, int y, int z, int count)
- {
- numBricks = 0;
- //Check inside
- for (int xPos = x - 1; xPos <= x + 1; xPos++)
- {
- for (int zPos = z - 1; zPos <= z + 1; zPos++)
- {
- Block block = Block.blocksList[worldObj.getBlockId(xPos, y, zPos)];
- if (block != null && !block.isAirBlock(worldObj, xPos, y, zPos))
- return count;
- }
- }
-
- //Check outer layer
- for (int xPos = x - 1; xPos <= x + 1; xPos++)
- {
- numBricks += checkBricks(xPos, y, z - 2);
- numBricks += checkBricks(xPos, y, z + 2);
- }
-
- for (int zPos = z - 1; zPos <= z + 1; zPos++)
- {
- numBricks += checkBricks(x - 2, y, zPos);
- numBricks += checkBricks(x + 2, y, zPos);
- }
-
- if (numBricks != 12)
- return count;
-
- count++;
- return recurseStructureUp(x, y + 1, z, count);
- }
-
- public int recurseStructureDown (int x, int y, int z, int count)
- {
- numBricks = 0;
- //Check inside
- for (int xPos = x - 1; xPos <= x + 1; xPos++)
- {
- for (int zPos = z - 1; zPos <= z + 1; zPos++)
- {
- int blockID = worldObj.getBlockId(xPos, y, zPos);
- Block block = Block.blocksList[blockID];
- if (block != null && !block.isAirBlock(worldObj, xPos, y, zPos))
- {
- if (validBlockID(blockID))
- return validateBottom(x, y, z, count);
- else
- return count;
- }
- }
- }
-
- //Check outer layer
- for (int xPos = x - 1; xPos <= x + 1; xPos++)
- {
- numBricks += checkBricks(xPos, y, z - 2);
- numBricks += checkBricks(xPos, y, z + 2);
- }
-
- for (int zPos = z - 1; zPos <= z + 1; zPos++)
- {
- numBricks += checkBricks(x - 2, y, zPos);
- numBricks += checkBricks(x + 2, y, zPos);
- }
-
- if (numBricks != 12)
- return count;
-
- count++;
- return recurseStructureDown(x, y - 1, z, count);
- }
-
- public int validateBottom (int x, int y, int z, int count)
- {
- int bottomBricks = 0;
- for (int xPos = x - 1; xPos <= x + 1; xPos++)
- {
- for (int zPos = z - 1; zPos <= z + 1; zPos++)
- {
- if (validBlockID(worldObj.getBlockId(xPos, y, zPos)) && (worldObj.getBlockMetadata(xPos, y, zPos) >= 2))
- bottomBricks++;
- }
- }
-
- if (bottomBricks == 9)
- {
- tempValidStructure = true;
- centerPos = new CoordTuple(x, y + 1, z);
- }
- return count;
- }
-
- /* Returns whether the brick is a lava tank or not.
- * Increments bricks, sets them as part of the structure, and adds tanks to the list.
- */
- int checkBricks (int x, int y, int z)
- {
- int tempBricks = 0;
- int blockID = worldObj.getBlockId(x, y, z);
- if (validBlockID(blockID) || validTankID(blockID))
- {
- TileEntity te = worldObj.getBlockTileEntity(x, y, z);
- if (te == this)
- {
- tempBricks++;
- }
- else if (te instanceof MultiServantLogic)
- {
- MultiServantLogic servant = (MultiServantLogic) te;
- if (servant.hasValidMaster())
- {
- if (servant.verifyMaster(this, this.xCoord, this.yCoord, this.zCoord))
- tempBricks++;
- }
- else if (servant.setMaster(this.xCoord, this.yCoord, this.zCoord))
- {
- tempBricks++;
- }
-
- if (te instanceof LavaTankLogic)
- {
- lavaTanks.add(new CoordTuple(x, y, z));
- }
- }
- }
- return tempBricks;
- }
-
- boolean validBlockID(int blockID)
- {
- return blockID == TContent.smeltery.blockID || blockID == TContent.smelteryNether.blockID;
- }
-
- boolean validTankID(int blockID)
- {
- return blockID == TContent.lavaTank.blockID || blockID == TContent.lavaTankNether.blockID;
- }
-
- public int getCapacity ()
- {
- return maxLiquid;
- }
-
- public int getTotalLiquid ()
- {
- return currentLiquid;
- }
-
- @Override
- public FluidStack drain (int maxDrain, boolean doDrain)
- {
- if (moltenMetal.size() == 0)
- return null;
-
- FluidStack liquid = moltenMetal.get(0);
- if (liquid != null)
- {
- if (liquid.amount - maxDrain <= 0)
- {
- FluidStack liq = liquid.copy();
- if (doDrain)
- {
- //liquid = null;
- moltenMetal.remove(liquid);
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- currentLiquid = 0;
- needsUpdate = true;
- }
- return liq;
- }
- else
- {
- if (doDrain && maxDrain > 0)
- {
- liquid.amount -= maxDrain;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- currentLiquid -= maxDrain;
- needsUpdate = true;
- }
- return new FluidStack(liquid.fluidID, maxDrain, liquid.tag);
- }
- }
- else
- {
- return new FluidStack(0, 0);
- }
- }
-
- @Override
- public int fill (FluidStack resource, boolean doFill)
- {
- if (resource != null && currentLiquid < maxLiquid)//resource.amount + currentLiquid < maxLiquid)
- {
- if (resource.amount + currentLiquid > maxLiquid)
- resource.amount = maxLiquid - currentLiquid;
- int amount = resource.amount;
-
- if (amount > 0 && doFill)
- {
- if (addMoltenMetal(resource, false))
- {
- ArrayList alloys = Smeltery.mixMetals(moltenMetal);
- for (int al = 0; al < alloys.size(); al++)
- {
- FluidStack liquid = (FluidStack) alloys.get(al);
- addMoltenMetal(liquid, true);
- }
- }
- needsUpdate = true;
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
- return amount;
- }
- else
- return 0;
- }
-
- @Override
- public FluidStack getFluid ()
- {
- if (moltenMetal.size() == 0)
- return null;
- return moltenMetal.get(0);
- }
-
- @Override
- public int getFluidAmount ()
- {
- return currentLiquid;
- }
-
- @Override
- public FluidTankInfo getInfo ()
- {
- return new FluidTankInfo(this);
- }
-
- public FluidTankInfo[] getMultiTankInfo ()
- {
- FluidTankInfo[] info = new FluidTankInfo[moltenMetal.size() + 1];
- for (int i = 0; i < moltenMetal.size(); i++)
- {
- FluidStack fluid = moltenMetal.get(i);
- info[i] = new FluidTankInfo(fluid.copy(), fluid.amount);
- }
- info[moltenMetal.size()] = new FluidTankInfo(null, maxLiquid - currentLiquid);
- return info;
- }
-
- /* NBT */
-
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- layers = tags.getInteger("Layers");
- inventory = new ItemStack[layers * 9];
- super.readFromNBT(tags);
-
- //validStructure = tags.getBoolean("ValidStructure");
- internalTemp = tags.getInteger("InternalTemp");
- inUse = tags.getBoolean("InUse");
-
- int[] center = tags.getIntArray("CenterPos");
- if (center.length > 2)
- centerPos = new CoordTuple(center[0], center[1], center[2]);
- else
- centerPos = new CoordTuple(xCoord, yCoord, zCoord);
-
- direction = tags.getByte("Direction");
- useTime = tags.getInteger("UseTime");
- currentLiquid = tags.getInteger("CurrentLiquid");
- maxLiquid = tags.getInteger("MaxLiquid");
- meltingTemps = tags.getIntArray("MeltingTemps");
- activeTemps = tags.getIntArray("ActiveTemps");
-
- NBTTagList liquidTag = tags.getTagList("Liquids");
- moltenMetal.clear();
-
- for (int iter = 0; iter < liquidTag.tagCount(); iter++)
- {
- NBTTagCompound nbt = (NBTTagCompound) liquidTag.tagAt(iter);
- FluidStack fluid = FluidStack.loadFluidStackFromNBT(nbt);
- if (fluid != null)
- moltenMetal.add(fluid);
- }
- //adjustLayers(layers, true);
- //checkValidPlacement();
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
-
- //tags.setBoolean("ValidStructure", validStructure);
- tags.setInteger("InternalTemp", internalTemp);
- tags.setBoolean("InUse", inUse);
-
- int[] center = new int[3];// { centerPos.x, centerPos.y, centerPos.z };
- if (centerPos == null)
- center = new int[] { xCoord, yCoord, zCoord };
- else
- center = new int[] { centerPos.x, centerPos.y, centerPos.z };
- tags.setIntArray("CenterPos", center);
-
- tags.setByte("Direction", direction);
- tags.setInteger("UseTime", useTime);
- tags.setInteger("CurrentLiquid", currentLiquid);
- tags.setInteger("MaxLiquid", maxLiquid);
- tags.setInteger("Layers", layers);
- tags.setIntArray("MeltingTemps", meltingTemps);
- tags.setIntArray("ActiveTemps", activeTemps);
-
- NBTTagList taglist = new NBTTagList();
- for (FluidStack liquid : moltenMetal)
- {
- NBTTagCompound nbt = new NBTTagCompound();
- liquid.writeToNBT(nbt);
- taglist.appendTag(nbt);
- }
-
- tags.setTag("Liquids", taglist);
- }
-
- /* Packets */
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeToNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readFromNBT(packet.data);
- onInventoryChanged();
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- this.needsUpdate = true;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/StencilTableLogic.java b/src/main/java/tconstruct/blocks/logic/StencilTableLogic.java
deleted file mode 100644
index d2e8712a..00000000
--- a/src/main/java/tconstruct/blocks/logic/StencilTableLogic.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package tconstruct.blocks.logic;
-
-import tconstruct.common.TContent;
-import tconstruct.inventory.PatternShaperContainer;
-import tconstruct.library.blocks.InventoryLogic;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.ISidedInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-
-public class StencilTableLogic extends InventoryLogic implements ISidedInventory
-{
- public StencilTableLogic()
- {
- super(2);
- }
-
- public boolean canUpdate ()
- {
- return false;
- }
-
- @Override
- public String getDefaultName ()
- {
- return "toolstation.PatternShaper";
- }
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z)
- {
- return new PatternShaperContainer(inventoryplayer, this);
- }
-
- /*@Override
- public void onInventoryChanged()
- {
- if (inventory[0] == null)
- inventory[1] = null;
- super.onInventoryChanged();
- }*/
-
- @Override
- public void setInventorySlotContents (int slot, ItemStack itemstack)
- {
- super.setInventorySlotContents(slot, itemstack);
- if (slot == 0 && itemstack != null && itemstack.getItem() == TContent.blankPattern)//instanceof tconstruct.items.Pattern)
- {
- if (itemstack.getItemDamage() == 0)
- setInventorySlotContents(1, new ItemStack(TContent.woodPattern, 1, 1));
- /*else if (itemstack.getItemDamage() == 1)
- setInventorySlotContents(1, new ItemStack(TContent.metalPattern, 1, 0));*/
- }
- }
-
- @Override
- public ItemStack decrStackSize (int slot, int quantity)
- {
- if (slot == 1)
- {
- super.decrStackSize(0, 1);
- if (inventory[0] == null)
- return super.decrStackSize(slot, quantity);
- else
- return inventory[1].copy();
- }
- else
- {
- ItemStack ret = super.decrStackSize(slot, quantity);
- if (inventory[0] == null)
- super.decrStackSize(1, 1);
- return ret;
- }
- }
-
- public void altDecrStackSize (int slot, int quantity)
- {
- if (inventory[slot] != null)
- {
- if (inventory[slot].stackSize <= quantity)
- {
- ItemStack stack = inventory[slot];
- inventory[slot] = null;
- return;
- }
- ItemStack split = inventory[slot].splitStack(quantity);
- if (inventory[slot].stackSize == 0)
- {
- inventory[slot] = null;
- }
- return;
- }
- }
-
- @Override
- public boolean canDropInventorySlot (int slot)
- {
- if (slot == 0)
- return true;
- else
- return false;
- }
-
- @Override
- public int[] getAccessibleSlotsFromSide (int side)
- {
- return new int[0];
- }
-
- @Override
- public boolean canInsertItem (int i, ItemStack itemstack, int j)
- {
- return false;
- }
-
- @Override
- public boolean canExtractItem (int i, ItemStack itemstack, int j)
- {
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/TankAirLogic.java b/src/main/java/tconstruct/blocks/logic/TankAirLogic.java
deleted file mode 100644
index 9d4f9e13..00000000
--- a/src/main/java/tconstruct/blocks/logic/TankAirLogic.java
+++ /dev/null
@@ -1,194 +0,0 @@
-package tconstruct.blocks.logic;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.ISidedInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.world.World;
-import net.minecraftforge.fluids.FluidStack;
-import tconstruct.TConstruct;
-import tconstruct.blocks.component.TankAirComponent;
-import tconstruct.library.blocks.InventoryLogic;
-import tconstruct.library.util.CoordTuple;
-import tconstruct.library.util.IMasterLogic;
-import tconstruct.library.util.IServantLogic;
-
-public class TankAirLogic extends InventoryLogic implements IServantLogic, ISidedInventory
-{
- TankAirComponent multitank = new TankAirComponent(TConstruct.ingotLiquidValue * 18);
- CoordTuple master;
-
- public TankAirLogic()
- {
- super(1);
- }
-
- public void overrideFluids (ArrayList fluids)
- {
- /*multitank.overrideFluids(fluids);
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);*/
- }
-
- public boolean hasItem ()
- {
- return inventory[0] != null;
- }
-
- public boolean hasFluids ()
- {
- return multitank.fluidlist.size() > 0;
- }
-
- public List getFluids ()
- {
- return multitank.fluidlist;
- }
-
- @Override
- public void setInventorySlotContents (int slot, ItemStack itemstack)
- {
- /*inventory[slot] = itemstack;
- if (itemstack != null && itemstack.stackSize > getInventoryStackLimit())
- {
- itemstack.stackSize = getInventoryStackLimit();
- worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, itemstack.getItemDamage(), 3);
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }*/
- }
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z)
- {
- return null; //Not a gui block
- }
-
- @Override
- protected String getDefaultName ()
- {
- return null; //Not a gui block
- }
-
- @Override
- public CoordTuple getMasterPosition ()
- {
- return master;
- }
-
- @Override
- public void notifyMasterOfChange ()
- {
- //Probably not useful here
- }
-
- @Override
- public boolean setPotentialMaster (IMasterLogic master, World world, int xMaster, int yMaster, int zMaster)
- {
- return false; //Master should be verified right after placement
- }
-
- @Override
- public boolean verifyMaster (IMasterLogic logic, World world, int xMaster, int yMaster, int zMaster)
- {
- /*if (master != null) //Is this even needed?
- return false;*/
-
- master = new CoordTuple(xMaster, yMaster, zMaster);
- return true;
- }
-
- @Override
- public void invalidateMaster (IMasterLogic master, World world, int xMaster, int yMaster, int zMaster)
- {
- world.setBlockToAir(xCoord, yCoord, zCoord);
- }
-
- @Override
- public int[] getAccessibleSlotsFromSide (int var1)
- {
- return new int[0];
- }
-
- @Override
- public boolean canInsertItem (int i, ItemStack itemstack, int j)
- {
- return false;
- }
-
- @Override
- public boolean canExtractItem (int i, ItemStack itemstack, int j)
- {
- return false;
- }
-
- /*@Override
- public boolean canUpdate()
- {
- return false;
- }*/
-
- //DELETE
- public void updateEntity ()
- {
- worldObj.setBlockToAir(xCoord, yCoord, zCoord);
- }
-
- //Keep TE regardless of metadata
- public boolean shouldRefresh (int oldID, int newID, int oldMeta, int newMeta, World world, int x, int y, int z)
- {
- return oldID != newID;
- }
-
- /* NBT */
-
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- readNetworkNBT(tags);
- multitank.readFromNBT(tags);
- }
-
- public void readNetworkNBT (NBTTagCompound tags)
- {
- multitank.readNetworkNBT(tags);
- super.readInventoryFromNBT(tags);
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- writeNetworkNBT(tags);
- multitank.writeToNBT(tags);
- }
-
- public void writeNetworkNBT (NBTTagCompound tags)
- {
- multitank.writeNetworkNBT(tags);
- super.writeInventoryToNBT(tags);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readNetworkNBT(packet.data);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
-
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeNetworkNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/TileEntityLandmine.java b/src/main/java/tconstruct/blocks/logic/TileEntityLandmine.java
deleted file mode 100644
index 11c51b4d..00000000
--- a/src/main/java/tconstruct/blocks/logic/TileEntityLandmine.java
+++ /dev/null
@@ -1,271 +0,0 @@
-package tconstruct.blocks.logic;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.crafting.FurnaceRecipes;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.network.INetworkManager;
-import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.Packet132TileEntityData;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.tileentity.TileEntityFurnace;
-
-/**
- *
- * @author fuj1n
- *
- */
-public class TileEntityLandmine extends TileEntity implements IInventory
-{
-
- private ItemStack[] inventory = new ItemStack[getSizeInventory()];
- private String containerName;
-
- public int soundcountythingmax = 10;
- public int soundcountything = 0;
-
- private boolean shouldUpdateLogic = true;
-
- public int triggerType;
- public boolean isExploding = false;
-
- public int getSizeTriggerInventory ()
- {
- return 3;
- }
-
- @Override
- public int getSizeInventory ()
- {
- return 4;
- }
-
- @Override
- public void writeToNBT (NBTTagCompound par1NBTTagCompound)
- {
- super.writeToNBT(par1NBTTagCompound);
- NBTTagList nbttaglist = new NBTTagList();
-
- for (int i = 0; i < this.inventory.length; ++i)
- {
- if (this.inventory[i] != null)
- {
- NBTTagCompound nbttagcompound1 = new NBTTagCompound();
- nbttagcompound1.setByte("Slot", (byte) i);
- this.inventory[i].writeToNBT(nbttagcompound1);
- nbttaglist.appendTag(nbttagcompound1);
- }
- }
-
- par1NBTTagCompound.setTag("Items", nbttaglist);
-
- par1NBTTagCompound.setInteger("triggerType", triggerType);
-
- if (this.isInvNameLocalized())
- {
- par1NBTTagCompound.setString("CustomName", this.containerName);
- }
- }
-
- @Override
- public void readFromNBT (NBTTagCompound par1NBTTagCompound)
- {
- super.readFromNBT(par1NBTTagCompound);
- NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items");
- this.inventory = new ItemStack[this.getSizeInventory()];
-
- for (int i = 0; i < nbttaglist.tagCount(); ++i)
- {
- NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.tagAt(i);
- byte b0 = nbttagcompound1.getByte("Slot");
-
- if (b0 >= 0 && b0 < this.inventory.length)
- {
- this.inventory[b0] = ItemStack.loadItemStackFromNBT(nbttagcompound1);
- }
- }
-
- triggerType = par1NBTTagCompound.getInteger("triggerType");
-
- if (par1NBTTagCompound.hasKey("CustomName"))
- {
- this.containerName = par1NBTTagCompound.getString("CustomName");
- }
- }
-
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound nbt = new NBTTagCompound();
- writeToNBT(nbt);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 0, nbt);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readFromNBT(packet.data);
- }
-
- @Override
- public ItemStack getStackInSlot (int i)
- {
- if (i < inventory.length)
- {
- return inventory[i];
- }
- else
- {
- return null;
- }
- }
-
- @Override
- public ItemStack decrStackSize (int par1, int par2)
- {
- if (par1 < inventory.length)
- {
- if (inventory[par1] != null)
- {
- ItemStack itemstack;
-
- if (inventory[par1].stackSize <= par2)
- {
- itemstack = inventory[par1];
- inventory[par1] = null;
- return itemstack;
- }
- else
- {
- itemstack = inventory[par1].splitStack(par2);
-
- if (inventory[par1].stackSize == 0)
- {
- inventory[par1] = null;
- }
-
- return itemstack;
- }
- }
- else
- {
- return null;
- }
- }
- else
- {
- return null;
- }
- }
-
- @Override
- public ItemStack getStackInSlotOnClosing (int i)
- {
- if (i < inventory.length && this.inventory[i] != null)
- {
- ItemStack itemstack = this.inventory[i];
- this.inventory[i] = null;
- return itemstack;
- }
- else
- {
- return null;
- }
- }
-
- @Override
- public void setInventorySlotContents (int i, ItemStack itemstack)
- {
- if (i < inventory.length)
- {
- inventory[i] = itemstack;
- }
- }
-
- @Override
- public String getInvName ()
- {
- return this.isInvNameLocalized() ? this.containerName : "Landmine";
- }
-
- @Override
- public boolean isInvNameLocalized ()
- {
- return containerName != null && containerName.length() > 0;
- }
-
- @Override
- public int getInventoryStackLimit ()
- {
- return 64;
- }
-
- public void setGuiDisplayName (String par1Str)
- {
- this.containerName = par1Str;
- }
-
- @Override
- public boolean isUseableByPlayer (EntityPlayer par1EntityPlayer)
- {
- return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D,
- (double) this.zCoord + 0.5D) <= 64.0D;
- }
-
- @Override
- public void openChest ()
- {
- }
-
- @Override
- public void closeChest ()
- {
- }
-
- @Override
- public void onInventoryChanged ()
- {
- super.onInventoryChanged();
- this.worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
-
- @Override
- public boolean isItemValidForSlot (int i, ItemStack itemstack)
- {
- //Should automatic camo insertion be allowed.
- if (i == 3)
- {
- return false;
- }
- else
- {
- //Here for mDiyo to decide if he wants automation for insertion/extraction of the items to be an option.
- //Would be useful for building automated mine laying machines.
- return false;
- }
- }
-
- public void setSoundPlayed ()
- {
- soundcountythingmax = 35;
- soundcountything = soundcountythingmax;
- }
-
- @Override
- public void updateEntity ()
- {
- if (shouldUpdateLogic)
- {
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- shouldUpdateLogic = false;
- }
- if (soundcountything > 0)
- {
- soundcountything--;
- }
- }
-
-}
diff --git a/src/main/java/tconstruct/blocks/logic/ToolForgeLogic.java b/src/main/java/tconstruct/blocks/logic/ToolForgeLogic.java
deleted file mode 100644
index 9bc2d168..00000000
--- a/src/main/java/tconstruct/blocks/logic/ToolForgeLogic.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package tconstruct.blocks.logic;
-
-import tconstruct.inventory.ToolForgeContainer;
-import tconstruct.library.crafting.ToolBuilder;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.ISidedInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-
-/* Simple class for storing items in the block
- */
-
-public class ToolForgeLogic extends ToolStationLogic implements ISidedInventory
-{
- ItemStack previousTool;
- String toolName;
-
- public ToolForgeLogic()
- {
- super(6);
- toolName = "";
- }
-
- @Override
- public String getDefaultName ()
- {
- return "crafters.ToolForge";
- }
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z)
- {
- return new ToolForgeContainer(inventoryplayer, this);
- }
-
- public void buildTool (String name)
- {
- toolName = name;
- ItemStack tool = ToolBuilder.instance.buildTool(inventory[1], inventory[2], inventory[3], inventory[4], name);
- if (inventory[0] == null)
- inventory[0] = tool;
- else
- {
- NBTTagCompound tags = inventory[0].getTagCompound();
- if (!tags.getCompoundTag("InfiTool").hasKey("Built"))
- {
- inventory[0] = tool;
- }
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/ToolStationLogic.java b/src/main/java/tconstruct/blocks/logic/ToolStationLogic.java
deleted file mode 100644
index eed4735f..00000000
--- a/src/main/java/tconstruct/blocks/logic/ToolStationLogic.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package tconstruct.blocks.logic;
-
-import tconstruct.inventory.ToolStationContainer;
-import tconstruct.library.blocks.InventoryLogic;
-import tconstruct.library.crafting.ToolBuilder;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.ISidedInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-
-/* Simple class for storing items in the block
- */
-
-public class ToolStationLogic extends InventoryLogic implements ISidedInventory
-{
- public ItemStack previousTool;
- public String toolName;
-
- public ToolStationLogic()
- {
- super(4);
- toolName = "";
- }
-
- public ToolStationLogic(int slots)
- {
- super(slots);
- toolName = "";
- }
-
- public boolean canDropInventorySlot (int slot)
- {
- if (slot == 0)
- return false;
- return true;
- }
-
- @Override
- public ItemStack getStackInSlotOnClosing (int var1)
- {
- return null;
- }
-
- @Override
- public String getDefaultName ()
- {
- return "crafters.ToolStation";
- }
-
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z)
- {
- return new ToolStationContainer(inventoryplayer, this);
- }
-
- public void onInventoryChanged ()
- {
- buildTool(toolName);
- if (this.worldObj != null)
- {
- this.blockMetadata = this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord);
- this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this);
- }
- }
-
- public void buildTool (String name)
- {
- toolName = name;
- ItemStack tool = ToolBuilder.instance.buildTool(inventory[1], inventory[2], inventory[3], name);
- if (inventory[0] == null)
- inventory[0] = tool;
- else
- {
- NBTTagCompound tags = inventory[0].getTagCompound();
- if (!tags.getCompoundTag("InfiTool").hasKey("Built"))
- {
- inventory[0] = tool;
- }
- }
- }
-
- public void setToolname (String name)
- {
- toolName = name;
- buildTool(name);
- }
-
- public boolean canUpdate ()
- {
- return false;
- }
-
- @Override
- public int[] getAccessibleSlotsFromSide (int side)
- {
- return new int[0];
- }
-
- @Override
- public boolean canInsertItem (int i, ItemStack itemstack, int j)
- {
- return false;
- }
-
- @Override
- public boolean canExtractItem (int i, ItemStack itemstack, int j)
- {
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/logic/TowerFurnaceLogic.java b/src/main/java/tconstruct/blocks/logic/TowerFurnaceLogic.java
deleted file mode 100644
index 35038ce3..00000000
--- a/src/main/java/tconstruct/blocks/logic/TowerFurnaceLogic.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package tconstruct.blocks.logic;
-
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import tconstruct.library.blocks.AdaptiveInventoryLogic;
-import tconstruct.library.util.IActiveLogic;
-import tconstruct.library.util.IFacingLogic;
-import tconstruct.library.util.IMasterLogic;
-
-//Not actually abstract
-public abstract class TowerFurnaceLogic extends AdaptiveInventoryLogic implements IActiveLogic, IFacingLogic, IMasterLogic
-{
-
-}
diff --git a/src/main/java/tconstruct/blocks/slime/SlimeFluid.java b/src/main/java/tconstruct/blocks/slime/SlimeFluid.java
deleted file mode 100644
index e2e85cb5..00000000
--- a/src/main/java/tconstruct/blocks/slime/SlimeFluid.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package tconstruct.blocks.slime;
-
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import net.minecraftforge.fluids.BlockFluidClassic;
-import net.minecraftforge.fluids.Fluid;
-import tconstruct.entity.BlueSlime;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SlimeFluid extends BlockFluidClassic
-{
- Icon stillIcon;
- Icon flowIcon;
-
- public SlimeFluid(int id, Fluid fluid, Material material)
- {
- super(id, fluid, material);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- stillIcon = iconRegister.registerIcon("tinker:slime_blue");
- flowIcon = iconRegister.registerIcon("tinker:slime_blue_flow");
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIcon (int side, int meta)
- {
- if (side == 0 || side == 1)
- return stillIcon;
- return flowIcon;
- }
-
- public void updateTick (World world, int x, int y, int z, Random rand)
- {
- super.updateTick(world, x, y, z, rand);
- if (rand.nextInt(100) == 0 && world.getBlockMetadata(x, y, z) == 0 && world.checkNoEntityCollision(AxisAlignedBB.getBoundingBox(x - 1, y - 1, z - 1, x + 2, y + 2, z + 2)))
- {
- BlueSlime entityslime = new BlueSlime(world);
- entityslime.setPosition((double) x + 0.5D, (double) y + 1.5D, (double) z + 0.5D);
- world.spawnEntityInWorld(entityslime);
- }
- }
-
- public void getSubBlocks (int par1, CreativeTabs par2CreativeTabs, List par3List)
- {
-
- }
-}
diff --git a/src/main/java/tconstruct/blocks/slime/SlimeGel.java b/src/main/java/tconstruct/blocks/slime/SlimeGel.java
deleted file mode 100644
index 65c660b5..00000000
--- a/src/main/java/tconstruct/blocks/slime/SlimeGel.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package tconstruct.blocks.slime;
-
-import java.util.List;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.item.ItemStack;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.world.World;
-import tconstruct.blocks.TConstructBlock;
-import tconstruct.library.TConstructRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SlimeGel extends TConstructBlock
-{
- public SlimeGel(int id)
- {
- super(id, Material.sponge, 0.5f, new String[] { "slimeblock_blue", "slimeblock_green", "slimeblock_purple" });
- setCreativeTab(TConstructRegistry.blockTab);
- }
-
- public boolean getEnableStats ()
- {
- return false;
- }
-
- public int getMobilityFlag ()
- {
- return 0;
- }
-
- public int damageDropped (int meta)
- {
- return meta;
- }
-
- @Override
- public void onEntityCollidedWithBlock (World world, int x, int y, int z, Entity entity)
- {
- if (entity.motionY < 0)
- {
- if (entity.motionY < -0.08F)
- {
- Block var9 = Block.blocksList[this.blockID];
- world.playSoundEffect(x + 0.5F, y + 0.5F, z + 0.5F, var9.stepSound.getStepSound(), (var9.stepSound.getVolume()) / 2.0F, var9.stepSound.getPitch() * 0.65F);
- }
- entity.motionY *= -1.2F;
- if (entity instanceof EntityLivingBase)
- {
- ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.jump.id, 1, 2));
- }
- }
- entity.fallDistance = 0;
- }
-
- @Override
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World world, int x, int y, int z)
- {
- return AxisAlignedBB.getBoundingBox(x, y, z, (double) x + 1.0D, (double) y + 0.625D, (double) z + 1.0D);
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks)
- */
- public void getSubBlocks (int par1, CreativeTabs par2CreativeTabs, List par3List)
- {
- par3List.add(new ItemStack(par1, 1, 0));
- par3List.add(new ItemStack(par1, 1, 1));
- //par3List.add(new ItemStack(par1, 1, 2));
- }
-
- public boolean canSustainLeaves (World world, int x, int y, int z)
- {
- return true;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/slime/SlimeGrass.java b/src/main/java/tconstruct/blocks/slime/SlimeGrass.java
deleted file mode 100644
index 4fd1e5e7..00000000
--- a/src/main/java/tconstruct/blocks/slime/SlimeGrass.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package tconstruct.blocks.slime;
-
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import net.minecraftforge.common.EnumPlantType;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.common.IPlantable;
-import tconstruct.common.TContent;
-import tconstruct.library.TConstructRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SlimeGrass extends Block
-{
- public String[] textureNames = { "slimegrass_green_top", "slimedirt_blue", "slimegrass_green_blue_side", "slimegrass_green_dirt_side" };//green, purple
- public Icon[] icons;
-
- public SlimeGrass(int id)
- {
- super(id, Material.grass);
- setHardness(0.6f);
- this.setTickRandomly(true);
- this.setCreativeTab(TConstructRegistry.blockTab);
- }
-
- @Override
- public int damageDropped (int meta)
- {
- if (meta == 1) //dirt
- return 0;
-
- else
- //slime dirt
- return 5;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:" + textureNames[i]);
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIcon (int side, int meta)
- {
- if (meta >= 2)
- meta = 0;
-
- if (side == 0)
- {
- return meta % 2 == 1 ? Block.dirt.getIcon(0, 0) : icons[1];
- }
- else if (side == 1)
- {
- return icons[0];
- }
- else
- {
- return icons[meta + 2];
- }
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < 1; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-
- @Override
- public boolean canSustainPlant (World world, int x, int y, int z, ForgeDirection direction, IPlantable plant)
- {
- EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z);
- return plantType == EnumPlantType.Plains && plant.getPlantID(world, x, y + 1, z) != Block.tallGrass.blockID;
- }
-
- public void onPlantGrow (World world, int x, int y, int z, int sourceX, int sourceY, int sourceZ)
- {
- world.setBlock(x, y, z, TContent.craftedSoil.blockID, 5, 3);
- }
-
- public void updateTick (World par1World, int par2, int par3, int par4, Random par5Random)
- {
- if (!par1World.isRemote)
- {
- if (par1World.getBlockLightValue(par2, par3 + 1, par4) < 4 && par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2)
- {
- par1World.setBlock(par2, par3, par4, TContent.craftedSoil.blockID, 5, 3);
- }
- else if (par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9)
- {
- for (int l = 0; l < 4; ++l)
- {
- int posX = par2 + par5Random.nextInt(3) - 1;
- int posY = par3 + par5Random.nextInt(5) - 3;
- int posZ = par4 + par5Random.nextInt(3) - 1;
- int l1 = par1World.getBlockId(posX, posY + 1, posZ);
-
- if (par1World.getBlockLightValue(posX, posY + 1, posZ) >= 4 && par1World.getBlockLightOpacity(posX, posY + 1, posZ) <= 2)
- {
- int blockID = par1World.getBlockId(posX, posY, posZ);
- if (blockID == Block.dirt.blockID)
- {
- par1World.setBlock(posX, posY, posZ, this.blockID, 1, 3);
- return;
- }
- int blockMeta = par1World.getBlockMetadata(posX, posY, posZ);
- if (blockID == TContent.craftedSoil.blockID)
- {
- if (blockMeta == 5)
- par1World.setBlock(posX, posY, posZ, this.blockID, 0, 3);
- }
- }
- }
- }
- }
- }
-
- public int idDropped (int metadata, Random random, int fortune)
- {
- if (metadata == 1)
- return Block.dirt.blockID;
- else
- return TContent.craftedSoil.blockID;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/slime/SlimeLeaves.java b/src/main/java/tconstruct/blocks/slime/SlimeLeaves.java
deleted file mode 100644
index df4ed85b..00000000
--- a/src/main/java/tconstruct/blocks/slime/SlimeLeaves.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package tconstruct.blocks.slime;
-
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.block.BlockLeaves;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import tconstruct.common.TContent;
-import tconstruct.library.TConstructRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SlimeLeaves extends BlockLeaves
-{
- private static final String[] fastLeaves = new String[] { "slimeleaves_blue_fast" };
- private static final String[] fancyLeaves = new String[] { "slimeleaves_blue_fancy" };
- @SideOnly(Side.CLIENT)
- private Icon[] fastIcons;
- @SideOnly(Side.CLIENT)
- private Icon[] fancyIcons;
-
- public SlimeLeaves(int id)
- {
- super(id);
- setCreativeTab(TConstructRegistry.blockTab);
- setLightOpacity(1);
- this.setHardness(0.3f);
- }
-
- @SideOnly(Side.CLIENT)
- public int getBlockColor ()
- {
- return 0xffffff;
- }
-
- @SideOnly(Side.CLIENT)
- public int getRenderColor (int par1)
- {
- return 0xffffff;
- }
-
- @SideOnly(Side.CLIENT)
- public int colorMultiplier (IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
- {
- return 0xffffff;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- this.fastIcons = new Icon[fastLeaves.length];
- this.fancyIcons = new Icon[fancyLeaves.length];
-
- for (int i = 0; i < this.fastIcons.length; i++)
- {
- this.fastIcons[i] = iconRegister.registerIcon("tinker:" + fastLeaves[i]);
- this.fancyIcons[i] = iconRegister.registerIcon("tinker:" + fancyLeaves[i]);
- }
- }
-
- public Icon getIcon (int side, int meta)
- {
- int tex = meta % 4;
-
- if (this.graphicsLevel)
- return fancyIcons[tex];
- else
- return fastIcons[tex];
- }
-
- @Override
- public void getSubBlocks (int id, CreativeTabs tab, List list)
- {
- for (int iter = 0; iter < fastIcons.length; iter++)
- {
- list.add(new ItemStack(id, 1, iter));
- }
- }
-
- @Override
- public boolean isLeaves (World world, int x, int y, int z)
- {
- return true;
- }
-
- /* Drops */
-
- /**
- * Returns the ID of the items to drop on destruction.
- */
- public int idDropped (int par1, Random par2Random, int par3)
- {
- return TContent.slimeSapling.blockID;
- }
-
- /**
- * Drops the block items with a specified chance of dropping the specified items
- */
- public void dropBlockAsItemWithChance (World world, int x, int y, int z, int meta, float chance, int fortune)
- {
- if (!world.isRemote)
- {
- int dropChance = 35;
-
- /*if ((meta & 3) == 3)
- {
- j1 = 40;
- }*/
-
- if (fortune > 0)
- {
- dropChance -= 2 << fortune;
-
- if (dropChance < 15)
- {
- dropChance = 15;
- }
- }
-
- if (world.rand.nextInt(dropChance) == 0)
- {
- int k1 = this.idDropped(meta, world.rand, fortune);
- this.dropBlockAsItem_do(world, x, y, z, new ItemStack(k1, 1, this.damageDropped(meta)));
- }
-
- dropChance = 80;
-
- if (fortune > 0)
- {
- dropChance -= 10 << fortune;
-
- if (dropChance < 20)
- {
- dropChance = 20;
- }
- }
-
- if ((meta & 3) == 0 && world.rand.nextInt(dropChance) == 0)
- {
- this.dropBlockAsItem_do(world, x, y, z, new ItemStack(TContent.strangeFood, 1, 0));
- }
- }
- }
-}
diff --git a/src/main/java/tconstruct/blocks/slime/SlimeSapling.java b/src/main/java/tconstruct/blocks/slime/SlimeSapling.java
deleted file mode 100644
index 8cb0b859..00000000
--- a/src/main/java/tconstruct/blocks/slime/SlimeSapling.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package tconstruct.blocks.slime;
-
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockSapling;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import net.minecraft.world.gen.feature.WorldGenerator;
-import tconstruct.common.TContent;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.worldgen.SlimeTreeGen;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SlimeSapling extends BlockSapling
-{
- public Icon[] icons;
- public String[] textureNames = new String[] { "blue" };
-
- public SlimeSapling(int id)
- {
- super(id);
- float f = 0.4F;
- setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f);
- this.setHardness(0.0F);
- this.setStepSound(Block.soundGrassFootstep);
- this.setCreativeTab(TConstructRegistry.blockTab);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:slimesapling_" + textureNames[i]);
- }
- }
-
- public boolean canThisPlantGrowOnThisBlockID (int id)
- {
- return id == Block.grass.blockID || id == Block.dirt.blockID || id == TContent.slimeGrass.blockID || id == TContent.craftedSoil.blockID;
- }
-
- public void updateTick (World world, int x, int y, int z, Random random)
- {
- if (world.isRemote)
- {
- return;
- }
- super.updateTick(world, x, y, z, random);
- int md = world.getBlockMetadata(x, y, z);
- if (random.nextInt(10) == 0 && world.getBlockLightValue(x, y + 1, z) >= 9)
- {
- if ((md & 8) == 0)
- world.setBlockMetadataWithNotify(x, y, z, md | 8, 4);
-
- else
- growTree(world, x, y, z, random);
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIcon (int side, int meta)
- {
- return icons[meta % 8];
- }
-
- @Override
- public void markOrGrowMarked (World world, int x, int y, int z, Random random)
- {
- boneFertilize(world, x, y, z, random, null);
- }
-
- public boolean boneFertilize (World world, int x, int y, int z, Random random, EntityPlayer player)
- {
- int meta = world.getBlockMetadata(x, y, z);
-
- if (meta % 8 == 0 && (player == null || !player.capabilities.isCreativeMode))
- return false;
-
- if ((meta & 8) == 0)
- {
- world.setBlockMetadataWithNotify(x, y, z, meta | 8, 4);
- }
- else
- {
- this.growTree(world, x, y, z, random);
- }
-
- return true;
- }
-
- public void growTree (World world, int x, int y, int z, Random random)
- {
- int md = world.getBlockMetadata(x, y, z) % 8;
- world.setBlock(x, y, z, 0);
- WorldGenerator obj = null;
-
- obj = new SlimeTreeGen(true, 5, 4, 1, 0);
-
- if (!(obj.generate(world, random, x, y, z)))
- world.setBlock(x, y, z, blockID, md + 8, 3);
- }
-
- public int damageDropped (int i)
- {
- return i % 8;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public void getSubBlocks (int par1, CreativeTabs par2CreativeTabs, List par3List)
- {
- for (int i = 0; i < 1; i++)
- par3List.add(new ItemStack(par1, 1, i));
- }
-}
diff --git a/src/main/java/tconstruct/blocks/slime/SlimeTallGrass.java b/src/main/java/tconstruct/blocks/slime/SlimeTallGrass.java
deleted file mode 100644
index 910cc91b..00000000
--- a/src/main/java/tconstruct/blocks/slime/SlimeTallGrass.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package tconstruct.blocks.slime;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.block.BlockFlower;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeHooks;
-import net.minecraftforge.common.IShearable;
-import tconstruct.library.TConstructRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SlimeTallGrass extends BlockFlower implements IShearable
-{
- private static final String[] grassTypes = new String[] { "slimegrass_blue_tall" };
- @SideOnly(Side.CLIENT)
- private Icon[] iconArray;
-
- public SlimeTallGrass(int par1)
- {
- super(par1, Material.vine);
- float f = 0.4F;
- this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.8F, 0.5F + f);
- setCreativeTab(TConstructRegistry.blockTab);
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
- */
- public Icon getIcon (int side, int meta)
- {
- /*if (meta >= this.iconArray.length)
- {
- meta = 0;
- }*/
-
- return this.iconArray[meta];
- }
-
- /**
- * Returns the ID of the items to drop on destruction.
- */
- public int idDropped (int par1, Random par2Random, int par3)
- {
- return -1;
- }
-
- /**
- * Returns the usual quantity dropped by the block plus a bonus of 1 to 'i' (inclusive).
- */
- public int quantityDroppedWithBonus (int par1, Random par2Random)
- {
- return 1 + par2Random.nextInt(par1 * 2 + 1);
- }
-
- /**
- * Get the block's damage value (for use with pick block).
- */
- public int getDamageValue (World par1World, int par2, int par3, int par4)
- {
- return par1World.getBlockMetadata(par2, par3, par4);
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks)
- */
- public void getSubBlocks (int par1, CreativeTabs par2CreativeTabs, List par3List)
- {
- for (int j = 0; j < 1; ++j)
- {
- par3List.add(new ItemStack(par1, 1, j));
- }
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * When this method is called, your block should register all the icons it needs with the given IconRegister. This
- * is the only chance you get to register icons.
- */
- public void registerIcons (IconRegister par1IconRegister)
- {
- this.iconArray = new Icon[grassTypes.length];
-
- for (int i = 0; i < this.iconArray.length; ++i)
- {
- this.iconArray[i] = par1IconRegister.registerIcon("tinker:" + grassTypes[i]);
- }
- }
-
- @Override
- public ArrayList getBlockDropped (World world, int x, int y, int z, int meta, int fortune)
- {
- ArrayList ret = new ArrayList();
- if (world.rand.nextInt(8) != 0)
- {
- return ret;
- }
-
- ItemStack item = ForgeHooks.getGrassSeed(world);
- if (item != null)
- {
- ret.add(item);
- }
- return ret;
- }
-
- @Override
- public boolean isShearable (ItemStack item, World world, int x, int y, int z)
- {
- return true;
- }
-
- @Override
- public ArrayList onSheared (ItemStack item, World world, int x, int y, int z, int fortune)
- {
- ArrayList ret = new ArrayList();
- ret.add(new ItemStack(this, 1, world.getBlockMetadata(x, y, z)));
- return ret;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/traps/BarricadeBlock.java b/src/main/java/tconstruct/blocks/traps/BarricadeBlock.java
deleted file mode 100644
index eb11131d..00000000
--- a/src/main/java/tconstruct/blocks/traps/BarricadeBlock.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package tconstruct.blocks.traps;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.world.Explosion;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import tconstruct.client.block.BarricadeRender;
-import tconstruct.library.TConstructRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class BarricadeBlock extends Block
-{
- Block modelBlock;
- int modelMeta;
-
- public BarricadeBlock(int blockID, Block model, int meta)
- {
- super(blockID, Material.wood);
- this.modelBlock = model;
- this.modelMeta = meta;
- setHardness(4.0F);
- this.setCreativeTab(TConstructRegistry.blockTab);
- }
-
- public Icon getIcon (int side, int meta)
- {
- return modelBlock.getIcon(2, modelMeta);
- }
-
- @Override
- public void registerIcons (IconRegister par1IconRegister)
- {
-
- }
-
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- public int getRenderType ()
- {
- return BarricadeRender.model;
- }
-
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World par1World, int x, int y, int z)
- {
- return AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1);
- }
-
- public void setBlockBoundsBasedOnState (IBlockAccess par1IBlockAccess, int x, int y, int z)
- {
- setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
- }
-
- public void harvestBlock (World world, EntityPlayer player, int x, int y, int z, int meta)
- {
- if (meta % 4 > 0)
- {
- world.setBlock(x, y, z, this.blockID, meta - 1, 3);
- dropBlockAsItem_do(world, x, y, z, new ItemStack(this));
- }
- else
- {
- dropBlockAsItem_do(world, x, y, z, new ItemStack(this));
- }
- }
-
- @Override
- public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9)
- {
- ItemStack stack = player.getCurrentEquippedItem();
- if ((stack != null) && (stack.itemID == this.blockID) && (!player.isSneaking()))
- {
- int meta = world.getBlockMetadata(x, y, z);
- if (meta % 4 != 3)
- {
- world.setBlock(x, y, z, this.blockID, meta + 1, 3);
- Block.blocksList[this.blockID].onBlockPlacedBy(world, x, y, z, player, stack);
- Block.blocksList[this.blockID].onPostBlockPlaced(world, x, y, z, meta);
-
- Block var9 = Block.blocksList[this.blockID];
- world.playSoundEffect(x + 0.5F, y + 0.5F, z + 0.5F, var9.stepSound.getStepSound(), (var9.stepSound.getVolume() + 1.0F) / 2.0F, var9.stepSound.getPitch() * 0.8F);
- player.swingItem();
- if (!player.capabilities.isCreativeMode)
- stack.stackSize -= 1;
-
- return true;
- }
- }
- return false;
- }
-
- @Override
- public void onBlockExploded (World world, int x, int y, int z, Explosion explosion)
- {
- double distance = (x - explosion.explosionX) + (y - explosion.explosionY) + (z - explosion.explosionZ);
- distance = Math.abs(distance);
- double power = (explosion.explosionSize * 2) / distance;
- int meta = world.getBlockMetadata(x, y, z);
- int trueMeta = meta % 4;
- trueMeta -= power;
- if (trueMeta < 0)
- world.setBlockToAir(x, y, z);
- else
- world.setBlockMetadataWithNotify(x, y, z, (int) (meta - power), 3);
- onBlockDestroyedByExplosion(world, x, y, z, explosion);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public boolean shouldSideBeRendered (IBlockAccess world, int x, int y, int z, int side)
- {
- return true;
- }
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/blocks/traps/Landmine.java b/src/main/java/tconstruct/blocks/traps/Landmine.java
deleted file mode 100644
index e1aea297..00000000
--- a/src/main/java/tconstruct/blocks/traps/Landmine.java
+++ /dev/null
@@ -1,279 +0,0 @@
-package tconstruct.blocks.traps;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Random;
-
-import tconstruct.library.TConstructRegistry;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockFence;
-import net.minecraft.block.EnumMobType;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-
-public class Landmine extends Block
-{
- /** The mob type that can trigger this pressure plate. */
- private EnumMobType triggerMobType;
-
- public Landmine(int par1, EnumMobType par3EnumMobType, Material par4Material)
- {
- super(par1, par4Material);
- this.triggerMobType = EnumMobType.mobs;
- this.setCreativeTab(TConstructRegistry.blockTab);
- this.setTickRandomly(true);
- float var5 = 0.0625F;
- this.setBlockBounds(var5, 0.0F, var5, 1.0F - var5, 0.03125F, 1.0F - var5);
- }
-
- public Icon getBlockTexture (IBlockAccess world, int x, int y, int z, int side)
- {
- Block block = Block.blocksList[world.getBlockId(x, y - 1, z)];
- if (block != null)
- {
- return block.getBlockTexture(world, x, y - 1, z, side);
- }
- return Block.sponge.getIcon(side, world.getBlockMetadata(x, y, z));
- }
-
- public Icon getIcon (int side, int meta)
- {
- return Block.sponge.getIcon(1, meta);
- }
-
- public void registerIcons (IconRegister par1IconRegister)
- {
-
- }
-
- /**
- * How many world ticks before ticking
- */
- public int tickRate ()
- {
- return 20;
- }
-
- /**
- * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been
- * cleared to be reused)
- */
- public AxisAlignedBB getCollisionBoundingBoxFromPool (World par1World, int par2, int par3, int par4)
- {
- return null;
- }
-
- /**
- * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two
- * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
- */
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- /**
- * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
- */
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- public boolean getBlocksMovement (IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
- {
- return true;
- }
-
- /**
- * Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z
- */
- public boolean canPlaceBlockAt (World par1World, int par2, int par3, int par4)
- {
- return par1World.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4) || BlockFence.isIdAFence(par1World.getBlockId(par2, par3 - 1, par4));
- }
-
- /**
- * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are
- * their own) Args: x, y, z, neighbor blockID
- */
- public void onNeighborBlockChange (World par1World, int par2, int par3, int par4, int par5)
- {
- boolean var6 = false;
-
- if (!par1World.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4) && !BlockFence.isIdAFence(par1World.getBlockId(par2, par3 - 1, par4)))
- {
- var6 = true;
- }
-
- if (var6)
- {
- this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0);
- //par1World.setBlock(par2, par3, par4, 0);
- }
- }
-
- /**
- * Ticks the block if it's been scheduled
- */
- public void updateTick (World par1World, int par2, int par3, int par4, Random par5Random)
- {
- if (!par1World.isRemote)
- {
- if (par1World.getBlockMetadata(par2, par3, par4) != 0)
- {
- this.setStateIfMobInteractsWithPlate(par1World, par2, par3, par4);
- }
- }
- }
-
- /**
- * Triggered whenever an entity collides with this block (enters into the block). Args: world, x, y, z, entity
- */
- public void onEntityCollidedWithBlock (World par1World, int par2, int par3, int par4, Entity par5Entity)
- {
- if (!par1World.isRemote)
- {
- if (par1World.getBlockMetadata(par2, par3, par4) != 1)
- {
- this.setStateIfMobInteractsWithPlate(par1World, par2, par3, par4);
- }
- }
- }
-
- /**
- * Checks if there are mobs on the plate. If a mob is on the plate and it is off, it turns it on, and vice versa.
- */
- private void setStateIfMobInteractsWithPlate (World world, int posX, int posY, int posZ)
- {
- boolean var5 = world.getBlockMetadata(posX, posY, posZ) == 1;
- boolean var6 = false;
- float var7 = 0.125F;
- List var8 = null;
-
- if (this.triggerMobType == EnumMobType.everything)
- {
- var8 = world.getEntitiesWithinAABBExcludingEntity(
- (Entity) null,
- AxisAlignedBB.getAABBPool().getAABB((double) ((float) posX + var7), (double) posY, (double) ((float) posZ + var7), (double) ((float) (posX + 1) - var7), (double) posY + 0.25D,
- (double) ((float) (posZ + 1) - var7)));
- }
-
- if (this.triggerMobType == EnumMobType.mobs)
- {
- var8 = world.getEntitiesWithinAABB(
- EntityLiving.class,
- AxisAlignedBB.getAABBPool().getAABB((double) ((float) posX + var7), (double) posY, (double) ((float) posZ + var7), (double) ((float) (posX + 1) - var7), (double) posY + 0.25D,
- (double) ((float) (posZ + 1) - var7)));
- }
-
- if (this.triggerMobType == EnumMobType.players)
- {
- var8 = world.getEntitiesWithinAABB(
- EntityPlayer.class,
- AxisAlignedBB.getAABBPool().getAABB((double) ((float) posX + var7), (double) posY, (double) ((float) posZ + var7), (double) ((float) (posX + 1) - var7), (double) posY + 0.25D,
- (double) ((float) (posZ + 1) - var7)));
- }
-
- if (!var8.isEmpty())
- {
- Iterator var9 = var8.iterator();
-
- while (var9.hasNext())
- {
- Entity var10 = (Entity) var9.next();
-
- if (!var10.doesEntityNotTriggerPressurePlate())
- {
- var6 = true;
- break;
- }
- }
- }
-
- if (var6 && !var5)
- {
- world.setBlock(posX, posY, posZ, 0);
- world.createExplosion((Entity) null, posX, posY, posZ, 2.0F, true);
- /*par1World.setBlockMetadataWithNotify(posX, posY, posZ, 1);
- par1World.notifyBlocksOfNeighborChange(posX, posY, posZ, this.blockID);
- par1World.notifyBlocksOfNeighborChange(posX, posY - 1, posZ, this.blockID);
- par1World.markBlockRangeForRenderUpdate(posX, posY, posZ, posX, posY, posZ);
- par1World.playSoundEffect((double)posX + 0.5D, (double)posY + 0.1D, (double)posZ + 0.5D, "random.click", 0.3F, 0.6F);*/
- }
-
- /*if (!var6 && var5)
- {
- par1World.setBlockMetadataWithNotify(posX, posY, posZ, 0);
- par1World.notifyBlocksOfNeighborChange(posX, posY, posZ, this.blockID);
- par1World.notifyBlocksOfNeighborChange(posX, posY - 1, posZ, this.blockID);
- par1World.markBlockRangeForRenderUpdate(posX, posY, posZ, posX, posY, posZ);
- par1World.playSoundEffect((double)posX + 0.5D, (double)posY + 0.1D, (double)posZ + 0.5D, "random.click", 0.3F, 0.5F);
- }
-
- if (var6)
- {
- par1World.scheduleBlockUpdate(posX, posY, posZ, this.blockID, this.tickRate());
- }*/
- }
-
- /**
- * ejects contained items into the world, and notifies neighbours of an update, as appropriate
- */
- public void breakBlock (World par1World, int par2, int par3, int par4, int par5, int par6)
- {
- if (par6 > 0)
- {
- par1World.notifyBlocksOfNeighborChange(par2, par3, par4, this.blockID);
- par1World.notifyBlocksOfNeighborChange(par2, par3 - 1, par4, this.blockID);
- }
-
- super.breakBlock(par1World, par2, par3, par4, par5, par6);
- }
-
- /**
- * Updates the blocks bounds based on its current state. Args: world, x, y, z
- */
- public void setBlockBoundsBasedOnState (IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
- {
- boolean var5 = par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1;
- float var6 = 0.0625F;
-
- if (var5)
- {
- this.setBlockBounds(var6, 0.0F, var6, 1.0F - var6, 0.03125F, 1.0F - var6);
- }
- else
- {
- this.setBlockBounds(var6, 0.0F, var6, 1.0F - var6, 0.0625F, 1.0F - var6);
- }
- }
-
- /**
- * Sets the block's bounds for rendering it as an item
- */
- public void setBlockBoundsForItemRender ()
- {
- float var1 = 0.5F;
- float var2 = 0.125F;
- float var3 = 0.5F;
- this.setBlockBounds(0.5F - var1, 0.5F - var2, 0.5F - var3, 0.5F + var1, 0.5F + var2, 0.5F + var3);
- }
-
- /**
- * Returns the mobility information of the block, 0 = free, 1 = can't push but can move over, 2 = total immobility
- * and stop pistons
- */
- public int getMobilityFlag ()
- {
- return 1;
- }
-}
diff --git a/src/main/java/tconstruct/blocks/traps/Punji.java b/src/main/java/tconstruct/blocks/traps/Punji.java
deleted file mode 100644
index 52346279..00000000
--- a/src/main/java/tconstruct/blocks/traps/Punji.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package tconstruct.blocks.traps;
-
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.DamageSource;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import tconstruct.client.block.PunjiRender;
-import tconstruct.common.TContent;
-import tconstruct.library.TConstructRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Punji extends Block
-{
-
- public Punji(int id)
- {
- super(id, Material.plants);
- this.setBlockBounds(0.125f, 0, 0.125f, 0.875f, 0.375f, 0.875f);
- this.setStepSound(Block.soundGrassFootstep);
- this.setCreativeTab(TConstructRegistry.blockTab);
- this.setHardness(3.0f);
- }
-
- @Override
- public void onEntityCollidedWithBlock (World world, int x, int y, int z, Entity entity)
- {
- if (entity instanceof EntityLivingBase)
- {
- int damage = world.getBlockMetadata(x, y, z) / 2 + 1;
- if (entity.fallDistance > 0)
- damage += ((entity.fallDistance) * 1.5 + 2);
- entity.attackEntityFrom(DamageSource.cactus, damage);
- ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 20, 1));
- }
- }
-
- /* Right-click adds sticks */
- @Override
- public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int par6, float hitX, float hitY, float hitZ)
- {
- /*if (world.isRemote)
- return false;*/
-
- int meta = world.getBlockMetadata(x, y, z);
- if (meta < 4)
- {
- ItemStack stack = player.getCurrentEquippedItem();
- if (stack != null && stack.itemID == TContent.punji.blockID)
- {
- world.setBlockMetadataWithNotify(x, y, z, meta + 1, 3);
- world.playSoundEffect((double) ((float) x + 0.5F), (double) ((float) y + 0.5F), (double) ((float) z + 0.5F), this.stepSound.getPlaceSound(),
- (this.stepSound.getVolume() + 1.0F) / 2.0F, this.stepSound.getPitch() * 0.8F);
- player.swingItem();
- if (!player.capabilities.isCreativeMode)
- {
- stack.stackSize--;
- if (stack.stackSize <= 0)
- player.destroyCurrentEquippedItem();
- }
- }
- }
- return true;
- }
-
- @Override
- public int quantityDropped (int meta, int fortune, Random random)
- {
- return meta + 1;
- }
-
- /**
- * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two
- * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
- */
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- /**
- * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
- */
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- public int getRenderType ()
- {
- return PunjiRender.model;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- this.blockIcon = iconRegister.registerIcon("tinker:punji");
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public boolean shouldSideBeRendered (IBlockAccess world, int x, int y, int z, int side)
- {
- return true;
- }
-
-}
diff --git a/src/main/java/tconstruct/client/CustomBowRenderer.java b/src/main/java/tconstruct/client/CustomBowRenderer.java
deleted file mode 100644
index dea65be4..00000000
--- a/src/main/java/tconstruct/client/CustomBowRenderer.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package tconstruct.client;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.entity.RenderManager;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraftforge.client.IItemRenderer;
-
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-
-public class CustomBowRenderer implements IItemRenderer
-{
- Minecraft mc = Minecraft.getMinecraft();
- private RenderBlocks renderBlocksInstance = new RenderBlocks();
-
- @Override
- public boolean handleRenderType (ItemStack item, ItemRenderType type)
- {
- return type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON;
- }
-
- @Override
- public boolean shouldUseRenderHelper (ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- @Override
- public void renderItem (ItemRenderType type, ItemStack item, Object... data)
- {
- EntityLivingBase living = (EntityLivingBase) data[1];
- ItemRenderer renderer = RenderManager.instance.itemRenderer;
- for (int i = 0; i < item.getItem().getRenderPasses(item.getItemDamage()) + 1; i++)
- renderItem(living, item, i, type);
- }
-
- public void renderItem (EntityLivingBase living, ItemStack stack, int renderPass, ItemRenderType type)
- {
- GL11.glPushMatrix();
-
- Block block = null;
- if (stack.getItem() instanceof ItemBlock && stack.itemID < Block.blocksList.length)
- {
- block = Block.blocksList[stack.itemID];
- }
-
- Icon icon = null; //living.getItemIcon(stack, renderPass);
- if (living instanceof EntityPlayer)
- {
- EntityPlayer player = (EntityPlayer) living;
- if (player.getItemInUse() != null)
- icon = stack.getItem().getIcon(stack, renderPass, player, player.getItemInUse(), player.getItemInUseCount());
- else
- icon = living.getItemIcon(stack, renderPass);
- }
- else
- {
- icon = living.getItemIcon(stack, renderPass);
- }
-
- if (icon == null)
- {
- GL11.glPopMatrix();
- return;
- }
- TextureManager texturemanager = this.mc.getTextureManager();
- texturemanager.bindTexture(texturemanager.getResourceLocation(stack.getItemSpriteNumber()));
-
- if (type == ItemRenderType.EQUIPPED_FIRST_PERSON)
- {
- GL11.glTranslatef(0.6F, 0.5F, 0.5F);
- }
- else
- {
- GL11.glRotatef(180.0F, 0F, 0F, 1.0F);
- GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.75F);
- GL11.glTranslatef(-0.6F, -0.25F, 1.0F);
- GL11.glScalef(1.75F, 1.75F, 1.75F);
- }
-
- Tessellator tessellator = Tessellator.instance;
- float f = icon.getMinU();
- float f1 = icon.getMaxU();
- float f2 = icon.getMinV();
- float f3 = icon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- GL11.glTranslatef(-f4, -f5, 0.0F);
- float f6 = 1.5F;
- GL11.glScalef(f6, f6, f6);
- GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F);
- GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F);
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
-
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
-
- GL11.glPopMatrix();
- }
-
-}
diff --git a/src/main/java/tconstruct/client/CustomFont.java b/src/main/java/tconstruct/client/CustomFont.java
deleted file mode 100644
index 938ce882..00000000
--- a/src/main/java/tconstruct/client/CustomFont.java
+++ /dev/null
@@ -1,283 +0,0 @@
-package tconstruct.client;
-
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.FontMetrics;
-import java.awt.Graphics;
-import java.awt.Rectangle;
-import java.awt.geom.Rectangle2D;
-import java.awt.image.BufferedImage;
-import java.io.File;
-import java.io.InputStream;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.Gui;
-import net.minecraft.client.renderer.Tessellator;
-
-import org.lwjgl.opengl.GL11;
-
-/**
- *
- * @author TheObliterator
- *
- * A class to create and draw true type
- * fonts onto the Minecraft game engine.
- */
-public class CustomFont
-{
- private int texID;
- private int[] xPos;
- private int[] yPos;
- private int startChar;
- private int endChar;
- private FontMetrics metrics;
-
- /**
- * Instantiates the font, filling in default start
- * and end character parameters.
- *
- * 'new CustomFont(ModLoader.getMinecraftInstance(),
- * "Arial", 12);
- *
- * @param mc The Minecraft instance for the font to be bound to.
- * @param fontName The name of the font to be drawn.
- * @param size The size of the font to be drawn.
- */
- public CustomFont(Minecraft mc, Object font, int size)
- {
- this(mc, font, size, 0, 4000);
- }
-
- /**
- * Instantiates the font, pre-rendering a sprite
- * font image by using a true type font on a
- * bitmap. Then allocating that bitmap to the
- * Minecraft rendering engine for later use.
- *
- * 'new CustomFont(ModLoader.getMinecraftInstance(),
- * "Arial", 12, 32, 126);'
- *
- * @param mc The Minecraft instance for the font to be bound to.
- * @param fontName The name of the font to be drawn.
- * @param size The size of the font to be drawn.
- * @param startChar The starting ASCII character id to be drawable. (Default 32)
- * @param endChar The ending ASCII character id to be drawable. (Default 126)
- */
- public CustomFont(Minecraft mc, Object font, int size, int startChar, int endChar)
- {
- this.startChar = startChar;
- this.endChar = endChar;
- xPos = new int[endChar - startChar];
- yPos = new int[endChar - startChar];
-
- // Create a bitmap and fill it with a transparent color as well
- // as obtain a Graphics instance which can be drawn on.
- // NOTE: It is CRUICIAL that the size of the image is 256x256, if
- // it is not the Minecraft engine will not draw it properly.
- BufferedImage img = new BufferedImage(256, 256, BufferedImage.TYPE_INT_ARGB);
- Graphics g = img.getGraphics();
- try
- {
- if (font instanceof String)
- {
- String fontName = (String) font;
- if (fontName.contains("/"))
- g.setFont(Font.createFont(Font.TRUETYPE_FONT, new File(fontName)).deriveFont((float) size));
- else
- g.setFont(new Font(fontName, 0, size));
- }
- else if (font instanceof InputStream)
- {
- g.setFont(Font.createFont(Font.TRUETYPE_FONT, (InputStream) font).deriveFont((float) size));
- }
- else if (font instanceof File)
- {
- g.setFont(Font.createFont(Font.TRUETYPE_FONT, (File) font).deriveFont((float) size));
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
-
- g.setColor(new Color(255, 255, 255, 0));
- g.fillRect(0, 0, 256, 256);
- g.setColor(Color.white);
- metrics = g.getFontMetrics();
-
- // Draw the specified range of characters onto
- // the new bitmap, spacing according to the font
- // widths. Also allocating positions of characters
- // on the bitmap to two arrays which will be used
- // later when drawing.
- int x = 2;
- int y = 2;
- for (int i = startChar; i < endChar; i++)
- {
- g.drawString("" + ((char) i), x, y + g.getFontMetrics().getAscent());
- xPos[i - startChar] = x;
- yPos[i - startChar] = y - metrics.getMaxDescent();
- x += metrics.stringWidth("" + (char) i) + 2;
- if (x >= 250 - metrics.getMaxAdvance())
- {
- x = 2;
- y += metrics.getMaxAscent() + metrics.getMaxDescent() + size / 2;
- }
- }
-
- // Render the finished bitmap into the Minecraft
- // graphics engine.
- // Sadly broken by 1.6
- //texID = mc.renderEngine.allocateAndSetupTexture(img);
- }
-
- /**
- * Draws a given string with an automatically
- * calculated shadow below it.
- * @param gui The gui/subclass to be drawn on
- * @param text The string to be drawn
- * @param x The x position to start drawing
- * @param y The y position to start drawing
- * @param color The color of the non-shadowed text (Hex)
- */
- public void drawStringS (Gui gui, String text, int x, int y, int color)
- {
- int l = color & 0xff000000;
- int shade = (color & 0xfcfcfc) >> 2;
- shade += l;
- drawString(gui, text, x + 1, y + 1, shade);
- drawString(gui, text, x, y, color);
- }
-
- /**
- * Draws a given string onto a gui/subclass.
- * @param gui The gui/subclass to be drawn on
- * @param text The string to be drawn
- * @param x The x position to start drawing
- * @param y The y position to start drawing
- * @param color The color of the non-shadowed text (Hex)
- */
- public void drawString (Gui gui, String text, int x, int y, int color)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
- GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, texID);
- float red = (float) (color >> 16 & 0xff) / 255F;
- float green = (float) (color >> 8 & 0xff) / 255F;
- float blue = (float) (color & 0xff) / 255F;
- float alpha = (float) (color >> 24 & 0xff) / 255F;
- GL11.glColor4f(red, green, blue, alpha);
- int startX = x;
- for (int i = 0; i < text.length(); i++)
- {
- char c = text.charAt(i);
- if (c == '\\')
- {
- char type = text.charAt(i + 1);
- if (type == 'n')
- {
- y += metrics.getAscent() + 2;
- x = startX;
- }
- i++;
- continue;
- }
- drawChar(gui, c, x, y);
- x += metrics.getStringBounds("" + c, null).getWidth();
- }
- }
-
- /**
- * Returns the created FontMetrics
- * which is used to retrive various
- * information about the True Type Font
- * @return FontMetrics of the created font.
- */
- public FontMetrics getMetrics ()
- {
- return metrics;
- }
-
- /**
- * Gets the drawing width of a given
- * string of string.
- * @param text The string to be measured
- * @return The width of the given string.
- */
- public int getStringWidth (String text)
- {
- return (int) getBounds(text).getWidth();
- }
-
- /**
- * Gets the drawing height of a given
- * string of string.
- * @param text The string to be measured
- * @return The height of the given string.
- */
- public int getStringHeight (String text)
- {
- return (int) getBounds(text).getHeight();
- }
-
- /**
- * A method that returns a Rectangle that
- * contains the width and height demensions
- * of the given string.
- * @param text The string to be measured
- * @return Rectangle containing width and height that
- * the text will consume when drawn.
- */
- private Rectangle getBounds (String text)
- {
- int w = 0;
- int h = 0;
- int tw = 0;
- for (int i = 0; i < text.length(); i++)
- {
- char c = text.charAt(i);
- if (c == '\\')
- {
- char type = text.charAt(i + 1);
-
- if (type == 'n')
- {
- h += metrics.getAscent() + 2;
- if (tw > w)
- w = tw;
- tw = 0;
- }
- i++;
- continue;
- }
- tw += metrics.stringWidth("" + c);
- }
- if (tw > w)
- w = tw;
- h += metrics.getAscent();
- return new Rectangle(0, 0, w, h);
- }
-
- /**
- * Private drawing method used within other
- * drawing methods.
- */
- private void drawChar (Gui gui, char c, int x, int y)
- {
- Rectangle2D bounds = metrics.getStringBounds("" + c, null);
- drawTexturedModalRect(x, y, xPos[(byte) c - startChar], yPos[(byte) c - startChar], (int) bounds.getWidth(), (int) bounds.getHeight() + metrics.getMaxDescent());
- }
-
- public void drawTexturedModalRect (int x, int y, int u, int v, int width, int height)
- {
- float offsetWidth = 0.00390625F;
- float offsetHeight = 0.00390625F;
- Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawingQuads();
- tessellator.addVertexWithUV((x + 0), (y + height), 0, ((u + 0) * offsetWidth), ((v + height) * offsetHeight));
- tessellator.addVertexWithUV((x + width), (y + height), 0, ((u + width) * offsetWidth), ((v + height) * offsetHeight));
- tessellator.addVertexWithUV((x + width), (y + 0), 0, ((u + width) * offsetWidth), ((v + 0) * offsetHeight));
- tessellator.addVertexWithUV((x + 0), (y + 0), 0, ((u + 0) * offsetWidth), ((v + 0) * offsetHeight));
- tessellator.draw();
- }
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/client/RenderItemCopy.java b/src/main/java/tconstruct/client/RenderItemCopy.java
deleted file mode 100644
index a0c8b58d..00000000
--- a/src/main/java/tconstruct/client/RenderItemCopy.java
+++ /dev/null
@@ -1,669 +0,0 @@
-package tconstruct.client;
-
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.ItemRenderer;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.entity.Render;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-
-import tconstruct.client.block.SmallFontRenderer;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class RenderItemCopy extends Render
-{
- private static final ResourceLocation field_110798_h = new ResourceLocation("textures/misc/enchanted_item_glint.png");
- private RenderBlocks itemRenderBlocks = new RenderBlocks();
-
- /** The RNG used in RenderItem (for bobbing itemstacks on the ground) */
- private Random random = new Random();
- public boolean renderWithColor = true;
-
- /** Defines the zLevel of rendering of item on GUI. */
- public float zLevel;
- public static boolean renderInFrame;
-
- public RenderItemCopy()
- {
- this.shadowSize = 0.15F;
- this.shadowOpaque = 0.75F;
- }
-
- /**
- * Renders the item
- */
- public void doRenderItem (EntityItem par1EntityItem, double par2, double par4, double par6, float par8, float par9)
- {
- this.bindEntityTexture(par1EntityItem);
- this.random.setSeed(187L);
- ItemStack itemstack = par1EntityItem.getEntityItem();
-
- if (itemstack.getItem() != null)
- {
- GL11.glPushMatrix();
- float f2 = shouldBob() ? MathHelper.sin(((float) par1EntityItem.age + par9) / 10.0F + par1EntityItem.hoverStart) * 0.1F + 0.1F : 0F;
- float f3 = (((float) par1EntityItem.age + par9) / 20.0F + par1EntityItem.hoverStart) * (180F / (float) Math.PI);
- byte b0 = getMiniBlockCount(itemstack);
-
- GL11.glTranslatef((float) par2, (float) par4 + f2, (float) par6);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f4;
- float f5;
- float f6;
- int i;
-
- Block block = null;
- if (itemstack.itemID < Block.blocksList.length)
- {
- block = Block.blocksList[itemstack.itemID];
- }
-
- if (ForgeHooksClient.renderEntityItem(par1EntityItem, itemstack, f2, f3, random, renderManager.renderEngine, renderBlocks))
- {
- ;
- }
- else if (itemstack.getItemSpriteNumber() == 0 && block != null && RenderBlocks.renderItemIn3d(Block.blocksList[itemstack.itemID].getRenderType()))
- {
- GL11.glRotatef(f3, 0.0F, 1.0F, 0.0F);
-
- if (renderInFrame)
- {
- GL11.glScalef(1.25F, 1.25F, 1.25F);
- GL11.glTranslatef(0.0F, 0.05F, 0.0F);
- GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
- }
-
- float f7 = 0.25F;
- int j = block.getRenderType();
-
- if (j == 1 || j == 19 || j == 12 || j == 2)
- {
- f7 = 0.5F;
- }
-
- GL11.glScalef(f7, f7, f7);
-
- for (i = 0; i < b0; ++i)
- {
- GL11.glPushMatrix();
-
- if (i > 0)
- {
- f5 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / f7;
- f4 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / f7;
- f6 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / f7;
- GL11.glTranslatef(f5, f4, f6);
- }
-
- f5 = 1.0F;
- this.itemRenderBlocks.renderBlockAsItem(block, itemstack.getItemDamage(), f5);
- GL11.glPopMatrix();
- }
- }
- else
- {
- float f8;
-
- if (itemstack.getItemSpriteNumber() == 1 && itemstack.getItem().requiresMultipleRenderPasses())
- {
- if (renderInFrame)
- {
- GL11.glScalef(0.5128205F, 0.5128205F, 0.5128205F);
- GL11.glTranslatef(0.0F, -0.05F, 0.0F);
- }
- else
- {
- GL11.glScalef(0.5F, 0.5F, 0.5F);
- }
-
- for (int k = 0; k < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); ++k)
- {
- this.random.setSeed(187L);
- Icon icon = itemstack.getItem().getIcon(itemstack, k);
- f8 = 1.0F;
-
- if (this.renderWithColor)
- {
- i = Item.itemsList[itemstack.itemID].getColorFromItemStack(itemstack, k);
- f5 = (float) (i >> 16 & 255) / 255.0F;
- f4 = (float) (i >> 8 & 255) / 255.0F;
- f6 = (float) (i & 255) / 255.0F;
- GL11.glColor4f(f5 * f8, f4 * f8, f6 * f8, 1.0F);
- this.renderDroppedItem(par1EntityItem, icon, b0, par9, f5 * f8, f4 * f8, f6 * f8, k);
- }
- else
- {
- this.renderDroppedItem(par1EntityItem, icon, b0, par9, 1.0F, 1.0F, 1.0F, k);
- }
- }
- }
- else
- {
- if (renderInFrame)
- {
- GL11.glScalef(0.5128205F, 0.5128205F, 0.5128205F);
- GL11.glTranslatef(0.0F, -0.05F, 0.0F);
- }
- else
- {
- GL11.glScalef(0.5F, 0.5F, 0.5F);
- }
-
- Icon icon1 = itemstack.getIconIndex();
-
- if (this.renderWithColor)
- {
- int l = Item.itemsList[itemstack.itemID].getColorFromItemStack(itemstack, 0);
- f8 = (float) (l >> 16 & 255) / 255.0F;
- float f9 = (float) (l >> 8 & 255) / 255.0F;
- f5 = (float) (l & 255) / 255.0F;
- f4 = 1.0F;
- this.renderDroppedItem(par1EntityItem, icon1, b0, par9, f8 * f4, f9 * f4, f5 * f4);
- }
- else
- {
- this.renderDroppedItem(par1EntityItem, icon1, b0, par9, 1.0F, 1.0F, 1.0F);
- }
- }
- }
-
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- GL11.glPopMatrix();
- }
- }
-
- protected ResourceLocation func_110796_a (EntityItem par1EntityItem)
- {
- return this.renderManager.renderEngine.getResourceLocation(par1EntityItem.getEntityItem().getItemSpriteNumber());
- }
-
- /**
- * Renders a dropped item
- */
- private void renderDroppedItem (EntityItem par1EntityItem, Icon par2Icon, int par3, float par4, float par5, float par6, float par7)
- {
- renderDroppedItem(par1EntityItem, par2Icon, par3, par4, par5, par6, par7, 0);
- }
-
- private void renderDroppedItem (EntityItem par1EntityItem, Icon par2Icon, int par3, float par4, float par5, float par6, float par7, int pass)
- {
- Tessellator tessellator = Tessellator.instance;
-
- if (par2Icon == null)
- {
- TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
- ResourceLocation resourcelocation = texturemanager.getResourceLocation(par1EntityItem.getEntityItem().getItemSpriteNumber());
- par2Icon = ((TextureMap) texturemanager.getTexture(resourcelocation)).getAtlasSprite("missingno");
- }
-
- float f4 = ((Icon) par2Icon).getMinU();
- float f5 = ((Icon) par2Icon).getMaxU();
- float f6 = ((Icon) par2Icon).getMinV();
- float f7 = ((Icon) par2Icon).getMaxV();
- float f8 = 1.0F;
- float f9 = 0.5F;
- float f10 = 0.25F;
- float f11;
-
- if (this.renderManager.options.fancyGraphics)
- {
- GL11.glPushMatrix();
-
- if (renderInFrame)
- {
- GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
- }
- else
- {
- GL11.glRotatef((((float) par1EntityItem.age + par4) / 20.0F + par1EntityItem.hoverStart) * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F);
- }
-
- float f12 = 0.0625F;
- f11 = 0.021875F;
- ItemStack itemstack = par1EntityItem.getEntityItem();
- int j = itemstack.stackSize;
- byte b0 = getMiniItemCount(itemstack);
-
- GL11.glTranslatef(-f9, -f10, -((f12 + f11) * (float) b0 / 2.0F));
-
- for (int k = 0; k < b0; ++k)
- {
- // Makes items offset when in 3D, like when in 2D, looks much better. Considered a vanilla bug...
- if (k > 0 && shouldSpreadItems())
- {
- float x = (random.nextFloat() * 2.0F - 1.0F) * 0.3F / 0.5F;
- float y = (random.nextFloat() * 2.0F - 1.0F) * 0.3F / 0.5F;
- float z = (random.nextFloat() * 2.0F - 1.0F) * 0.3F / 0.5F;
- GL11.glTranslatef(x, y, f12 + f11);
- }
- else
- {
- GL11.glTranslatef(0f, 0f, f12 + f11);
- }
-
- if (itemstack.getItemSpriteNumber() == 0)
- {
- this.bindTexture(TextureMap.locationBlocksTexture);
- }
- else
- {
- this.bindTexture(TextureMap.locationItemsTexture);
- }
-
- GL11.glColor4f(par5, par6, par7, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, f5, f6, f4, f7, ((Icon) par2Icon).getIconWidth(), ((Icon) par2Icon).getIconHeight(), f12);
-
- if (itemstack.hasEffect(pass))
- {
- GL11.glDepthFunc(GL11.GL_EQUAL);
- GL11.glDisable(GL11.GL_LIGHTING);
- this.renderManager.renderEngine.bindTexture(field_110798_h);
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
- float f13 = 0.76F;
- GL11.glColor4f(0.5F * f13, 0.25F * f13, 0.8F * f13, 1.0F);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f14 = 0.125F;
- GL11.glScalef(f14, f14, f14);
- float f15 = (float) (Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F;
- GL11.glTranslatef(f15, 0.0F, 0.0F);
- GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 255, 255, f12);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f14, f14, f14);
- f15 = (float) (Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F;
- GL11.glTranslatef(-f15, 0.0F, 0.0F);
- GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 255, 255, f12);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- }
- }
-
- GL11.glPopMatrix();
- }
- else
- {
- for (int l = 0; l < par3; ++l)
- {
- GL11.glPushMatrix();
-
- if (l > 0)
- {
- f11 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.3F;
- float f16 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.3F;
- float f17 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.3F;
- GL11.glTranslatef(f11, f16, f17);
- }
-
- if (!renderInFrame)
- {
- GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
- }
-
- GL11.glColor4f(par5, par6, par7, 1.0F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- tessellator.addVertexWithUV((double) (0.0F - f9), (double) (0.0F - f10), 0.0D, (double) f4, (double) f7);
- tessellator.addVertexWithUV((double) (f8 - f9), (double) (0.0F - f10), 0.0D, (double) f5, (double) f7);
- tessellator.addVertexWithUV((double) (f8 - f9), (double) (1.0F - f10), 0.0D, (double) f5, (double) f6);
- tessellator.addVertexWithUV((double) (0.0F - f9), (double) (1.0F - f10), 0.0D, (double) f4, (double) f6);
- tessellator.draw();
- GL11.glPopMatrix();
- }
- }
- }
-
- /**
- * Renders the item's icon or block into the UI at the specified position.
- */
- public void renderItemIntoGUI (SmallFontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- renderItemIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5, false);
- }
-
- public void renderItemIntoGUI (SmallFontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5, boolean renderEffect)
- {
- int k = par3ItemStack.itemID;
- int l = par3ItemStack.getItemDamage();
- Object object = par3ItemStack.getItem() == null ? null : par3ItemStack.getIconIndex();
- float f;
- int i1;
- float f1;
- float f2;
-
- Block block = (k < Block.blocksList.length ? Block.blocksList[k] : null);
- if (block != null && par3ItemStack.getItemSpriteNumber() == 0 && RenderBlocks.renderItemIn3d(Block.blocksList[k].getRenderType()))
- {
- par2TextureManager.bindTexture(TextureMap.locationBlocksTexture);
- GL11.glPushMatrix();
- GL11.glTranslatef((float) (par4 - 2), (float) (par5 + 3), -3.0F + this.zLevel);
- GL11.glScalef(10.0F, 10.0F, 10.0F);
- GL11.glTranslatef(1.0F, 0.5F, 1.0F);
- GL11.glScalef(1.0F, 1.0F, -1.0F);
- GL11.glRotatef(210.0F, 1.0F, 0.0F, 0.0F);
- GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
- i1 = Item.itemsList[k].getColorFromItemStack(par3ItemStack, 0);
- f = (float) (i1 >> 16 & 255) / 255.0F;
- f1 = (float) (i1 >> 8 & 255) / 255.0F;
- f2 = (float) (i1 & 255) / 255.0F;
-
- if (this.renderWithColor)
- {
- GL11.glColor4f(f, f1, f2, 1.0F);
- }
-
- GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
- this.itemRenderBlocks.useInventoryTint = this.renderWithColor;
- this.itemRenderBlocks.renderBlockAsItem(block, l, 1.0F);
- this.itemRenderBlocks.useInventoryTint = true;
- GL11.glPopMatrix();
- }
- else if (Item.itemsList[k] != null && Item.itemsList[k].requiresMultipleRenderPasses())
- {
- GL11.glDisable(GL11.GL_LIGHTING);
-
- for (int j1 = 0; j1 < Item.itemsList[k].getRenderPasses(l); ++j1)
- {
- par2TextureManager.bindTexture(par3ItemStack.getItemSpriteNumber() == 0 ? TextureMap.locationBlocksTexture : TextureMap.locationItemsTexture);
- Icon icon = Item.itemsList[k].getIcon(par3ItemStack, j1);
- int k1 = Item.itemsList[k].getColorFromItemStack(par3ItemStack, j1);
- f1 = (float) (k1 >> 16 & 255) / 255.0F;
- f2 = (float) (k1 >> 8 & 255) / 255.0F;
- float f3 = (float) (k1 & 255) / 255.0F;
-
- if (this.renderWithColor)
- {
- GL11.glColor4f(f1, f2, f3, 1.0F);
- }
-
- this.renderIcon(par4, par5, icon, 16, 16);
-
- if (par3ItemStack.hasEffect(j1))
- {
- renderEffect(par2TextureManager, par4, par5);
- }
- }
-
- GL11.glEnable(GL11.GL_LIGHTING);
- }
- else
- {
- GL11.glDisable(GL11.GL_LIGHTING);
- ResourceLocation resourcelocation = par2TextureManager.getResourceLocation(par3ItemStack.getItemSpriteNumber());
- par2TextureManager.bindTexture(resourcelocation);
-
- if (object == null)
- {
- object = ((TextureMap) Minecraft.getMinecraft().getTextureManager().getTexture(resourcelocation)).getAtlasSprite("missingno");
- }
-
- i1 = Item.itemsList[k].getColorFromItemStack(par3ItemStack, 0);
- f = (float) (i1 >> 16 & 255) / 255.0F;
- f1 = (float) (i1 >> 8 & 255) / 255.0F;
- f2 = (float) (i1 & 255) / 255.0F;
-
- if (this.renderWithColor)
- {
- GL11.glColor4f(f, f1, f2, 1.0F);
- }
-
- this.renderIcon(par4, par5, (Icon) object, 16, 16);
- GL11.glEnable(GL11.GL_LIGHTING);
-
- if (par3ItemStack.hasEffect(0))
- {
- renderEffect(par2TextureManager, par4, par5);
- }
- }
-
- GL11.glEnable(GL11.GL_CULL_FACE);
- }
-
- private void renderEffect (TextureManager manager, int x, int y)
- {
- GL11.glDepthFunc(GL11.GL_GREATER);
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDepthMask(false);
- manager.bindTexture(field_110798_h);
- this.zLevel -= 50.0F;
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_DST_COLOR, GL11.GL_DST_COLOR);
- GL11.glColor4f(0.5F, 0.25F, 0.8F, 1.0F);
- this.renderGlint(x * 431278612 + y * 32178161, x - 2, y - 2, 20, 20);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthMask(true);
- this.zLevel += 50.0F;
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- }
-
- /**
- * Render the item's icon or block into the GUI, including the glint effect.
- */
- public void renderItemAndEffectIntoGUI (SmallFontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- if (par3ItemStack != null)
- {
- if (!ForgeHooksClient.renderInventoryItem(renderBlocks, par2TextureManager, par3ItemStack, renderWithColor, zLevel, (float) par4, (float) par5))
- {
- this.renderItemIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5, true);
- }
-
- /* Modders must handle this themselves if they use custom renderers!
- if (par3ItemStack.hasEffect())
- {
- GL11.glDepthFunc(GL11.GL_GREATER);
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDepthMask(false);
- par2TextureManager.bindTexture(field_110798_h);
- this.zLevel -= 50.0F;
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_DST_COLOR, GL11.GL_DST_COLOR);
- GL11.glColor4f(0.5F, 0.25F, 0.8F, 1.0F);
- this.renderGlint(par4 * 431278612 + par5 * 32178161, par4 - 2, par5 - 2, 20, 20);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthMask(true);
- this.zLevel += 50.0F;
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- }
- */
- }
- }
-
- private void renderGlint (int par1, int par2, int par3, int par4, int par5)
- {
- for (int j1 = 0; j1 < 2; ++j1)
- {
- if (j1 == 0)
- {
- GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
- }
-
- if (j1 == 1)
- {
- GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
- }
-
- float f = 0.00390625F;
- float f1 = 0.00390625F;
- float f2 = (float) (Minecraft.getSystemTime() % (long) (3000 + j1 * 1873)) / (3000.0F + (float) (j1 * 1873)) * 256.0F;
- float f3 = 0.0F;
- Tessellator tessellator = Tessellator.instance;
- float f4 = 4.0F;
-
- if (j1 == 1)
- {
- f4 = -1.0F;
- }
-
- tessellator.startDrawingQuads();
- tessellator.addVertexWithUV((double) (par2 + 0), (double) (par3 + par5), (double) this.zLevel, (double) ((f2 + (float) par5 * f4) * f), (double) ((f3 + (float) par5) * f1));
- tessellator.addVertexWithUV((double) (par2 + par4), (double) (par3 + par5), (double) this.zLevel, (double) ((f2 + (float) par4 + (float) par5 * f4) * f),
- (double) ((f3 + (float) par5) * f1));
- tessellator.addVertexWithUV((double) (par2 + par4), (double) (par3 + 0), (double) this.zLevel, (double) ((f2 + (float) par4) * f), (double) ((f3 + 0.0F) * f1));
- tessellator.addVertexWithUV((double) (par2 + 0), (double) (par3 + 0), (double) this.zLevel, (double) ((f2 + 0.0F) * f), (double) ((f3 + 0.0F) * f1));
- tessellator.draw();
- }
- }
-
- /**
- * Renders the item's overlay information. Examples being stack count or damage on top of the item's image at the
- * specified position.
- */
- public void renderItemOverlayIntoGUI (SmallFontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- this.renderItemOverlayIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5, (String) null);
- }
-
- public void renderItemOverlayIntoGUI (SmallFontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5, String par6Str)
- {
- if (par3ItemStack != null)
- {
- if (par3ItemStack.stackSize > 1 || par6Str != null)
- {
- String s1 = par6Str == null ? String.valueOf(par3ItemStack.stackSize) : par6Str;
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDisable(GL11.GL_DEPTH_TEST);
- par1FontRenderer.drawStringWithShadow(s1, par4 + 19 - 2 - par1FontRenderer.getStringWidth(s1), par5 + 6 + 3, 16777215);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glEnable(GL11.GL_DEPTH_TEST);
- }
-
- if (par3ItemStack.isItemDamaged())
- {
- int k = (int) Math.round(13.0D - (double) par3ItemStack.getItemDamageForDisplay() * 13.0D / (double) par3ItemStack.getMaxDamage());
- int l = (int) Math.round(255.0D - (double) par3ItemStack.getItemDamageForDisplay() * 255.0D / (double) par3ItemStack.getMaxDamage());
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDisable(GL11.GL_DEPTH_TEST);
- GL11.glDisable(GL11.GL_TEXTURE_2D);
- Tessellator tessellator = Tessellator.instance;
- int i1 = 255 - l << 16 | l << 8;
- int j1 = (255 - l) / 4 << 16 | 16128;
- this.renderQuad(tessellator, par4 + 2, par5 + 13, 13, 2, 0);
- this.renderQuad(tessellator, par4 + 2, par5 + 13, 12, 1, j1);
- this.renderQuad(tessellator, par4 + 2, par5 + 13, k, 1, i1);
- GL11.glEnable(GL11.GL_TEXTURE_2D);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glEnable(GL11.GL_DEPTH_TEST);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- }
- }
- }
-
- /**
- * Adds a quad to the tesselator at the specified position with the set width and height and color. Args:
- * tessellator, x, y, width, height, color
- */
- private void renderQuad (Tessellator par1Tessellator, int par2, int par3, int par4, int par5, int par6)
- {
- par1Tessellator.startDrawingQuads();
- par1Tessellator.setColorOpaque_I(par6);
- par1Tessellator.addVertex((double) (par2 + 0), (double) (par3 + 0), 0.0D);
- par1Tessellator.addVertex((double) (par2 + 0), (double) (par3 + par5), 0.0D);
- par1Tessellator.addVertex((double) (par2 + par4), (double) (par3 + par5), 0.0D);
- par1Tessellator.addVertex((double) (par2 + par4), (double) (par3 + 0), 0.0D);
- par1Tessellator.draw();
- }
-
- public void renderIcon (int par1, int par2, Icon par3Icon, int par4, int par5)
- {
- Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawingQuads();
- tessellator.addVertexWithUV((double) (par1 + 0), (double) (par2 + par5), (double) this.zLevel, (double) par3Icon.getMinU(), (double) par3Icon.getMaxV());
- tessellator.addVertexWithUV((double) (par1 + par4), (double) (par2 + par5), (double) this.zLevel, (double) par3Icon.getMaxU(), (double) par3Icon.getMaxV());
- tessellator.addVertexWithUV((double) (par1 + par4), (double) (par2 + 0), (double) this.zLevel, (double) par3Icon.getMaxU(), (double) par3Icon.getMinV());
- tessellator.addVertexWithUV((double) (par1 + 0), (double) (par2 + 0), (double) this.zLevel, (double) par3Icon.getMinU(), (double) par3Icon.getMinV());
- tessellator.draw();
- }
-
- protected ResourceLocation getEntityTexture (Entity par1Entity)
- {
- return this.func_110796_a((EntityItem) par1Entity);
- }
-
- /**
- * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
- * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
- * (Render 1)
- ret = 2;
- if (stack.stackSize > 5)
- ret = 3;
- if (stack.stackSize > 20)
- ret = 4;
- if (stack.stackSize > 40)
- ret = 5;
- return ret;
- }
-
- /**
- * Allows for a subclass to override how many rendered items appear in a
- * "mini item 3d stack"
- * @param stack
- * @return
- */
- public byte getMiniItemCount (ItemStack stack)
- {
- byte ret = 1;
- if (stack.stackSize > 1)
- ret = 2;
- if (stack.stackSize > 15)
- ret = 3;
- if (stack.stackSize > 31)
- ret = 4;
- return ret;
- }
-}
diff --git a/src/main/java/tconstruct/client/StepSoundSlime.java b/src/main/java/tconstruct/client/StepSoundSlime.java
deleted file mode 100644
index 03492cfd..00000000
--- a/src/main/java/tconstruct/client/StepSoundSlime.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package tconstruct.client;
-
-import net.minecraft.block.StepSound;
-
-public class StepSoundSlime extends StepSound
-{
-
- public StepSoundSlime(String par1Str, float par2, float par3)
- {
- super(par1Str, par2, par3);
- // TODO Auto-generated constructor stub
- }
-
- /**
- * Used when a block breaks, EXA: Player break, Shep eating grass, etc..
- */
- public String getBreakSound ()
- {
- return this.stepSoundName + ".big";
- }
-
- /**
- * Used when a entity walks over, or otherwise interacts with the block.
- */
- public String getStepSound ()
- {
- return this.stepSoundName + ".small";
- }
-
-}
diff --git a/src/main/java/tconstruct/client/SuperSoakerRender.java b/src/main/java/tconstruct/client/SuperSoakerRender.java
deleted file mode 100644
index debc1a89..00000000
--- a/src/main/java/tconstruct/client/SuperSoakerRender.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package tconstruct.client;
-
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.client.IItemRenderer;
-
-public class SuperSoakerRender implements IItemRenderer
-{
-
- @Override
- public boolean handleRenderType (ItemStack item, ItemRenderType type)
- {
- return type != ItemRenderType.INVENTORY;
- }
-
- @Override
- public boolean shouldUseRenderHelper (ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return true;
- }
-
- @Override
- public void renderItem (ItemRenderType type, ItemStack item, Object... data)
- {
- if (type == ItemRenderType.EQUIPPED)
- renderEquippedItem(item, (RenderBlocks) data[0], (EntityLiving) data[1]);
- if (type == ItemRenderType.ENTITY)
- renderEntityItem(item, (RenderBlocks) data[0], (EntityItem) data[1]);
- }
-
- void renderEquippedItem (ItemStack item, RenderBlocks renderBlocks, EntityLiving entityLiving)
- {
-
- }
-
- void renderEntityItem (ItemStack item, RenderBlocks renderBlocks, EntityItem entityItem)
- {
-
- }
-
-}
diff --git a/src/main/java/tconstruct/client/TClientEvents.java b/src/main/java/tconstruct/client/TClientEvents.java
deleted file mode 100644
index 67aa121d..00000000
--- a/src/main/java/tconstruct/client/TClientEvents.java
+++ /dev/null
@@ -1,309 +0,0 @@
-package tconstruct.client;
-
-import java.util.Random;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.audio.SoundManager;
-import net.minecraft.client.gui.ScaledResolution;
-import net.minecraft.client.model.ModelBiped;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.client.settings.GameSettings;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.SharedMonsterAttributes;
-import net.minecraft.entity.ai.attributes.AttributeInstance;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.GuiIngameForge;
-import net.minecraftforge.client.event.RenderGameOverlayEvent;
-import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
-import net.minecraftforge.client.event.TextureStitchEvent;
-import net.minecraftforge.client.event.sound.SoundLoadEvent;
-import net.minecraftforge.event.ForgeSubscribe;
-import tconstruct.TConstruct;
-import tconstruct.client.armor.WingModel;
-import tconstruct.common.TContent;
-import tconstruct.util.player.TPlayerStats;
-import cpw.mods.fml.common.Loader;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class TClientEvents
-{
- Minecraft mc = Minecraft.getMinecraft();
-
- /* Sounds */
-
- boolean initSounds;
-
- @ForgeSubscribe
- public void onSound (SoundLoadEvent event)
- {
- if (!initSounds)
- {
- initSounds = true;
- try
- {
- SoundManager soundmanager = event.manager;
- soundmanager.addSound("tinker:frypan_hit.ogg");
- soundmanager.addSound("tinker:little_saw.ogg");
- soundmanager.addSound("tinker:launcher_clank.ogg");
- TConstruct.logger.info("Successfully loaded sounds.");
- }
- catch (Exception e)
- {
- TConstruct.logger.warning("Failed to register one or more sounds");
- }
- }
- }
-
- /* Liquids */
-
- Icon[] stillIcons = new Icon[2];
- Icon[] flowIcons = new Icon[2];
-
- @ForgeSubscribe
- public void preStitch (TextureStitchEvent.Pre event)
- {
- TextureMap register = event.map;
- if (register.textureType == 0)
- {
- stillIcons[0] = register.registerIcon("tinker:liquid_pigiron");
- flowIcons[0] = register.registerIcon("tinker:liquid_pigiron");
- }
- }
-
- @ForgeSubscribe
- public void postStitch (TextureStitchEvent.Post event)
- {
- if (event.map.textureType == 0)
- {
- for (int i = 0; i < TContent.fluidBlocks.length; i++)
- {
- TContent.fluids[i].setIcons(TContent.fluidBlocks[i].getIcon(0, 0), TContent.fluidBlocks[i].getIcon(2, 0));
- }
- TContent.pigIronFluid.setIcons(stillIcons[0], flowIcons[0]);
- }
- }
-
- private static final ResourceLocation hearts = new ResourceLocation("tinker", "textures/gui/newhearts.png");
- private static final ResourceLocation icons = new ResourceLocation("textures/gui/icons.png");
- Random rand = new Random();
- int updateCounter = 0;
-
- boolean tukmc = Loader.isModLoaded("tukmc_Vz");
- GameSettings gs = Minecraft.getMinecraft().gameSettings;
- /* HUD */
- @ForgeSubscribe
- public void renderHealthbar (RenderGameOverlayEvent.Pre event)
- {
- if (!tukmc)// Loader check to avoid conflicting with a GUI mod (thanks Vazkii!)
- {
- if (event.type == ElementType.HEALTH)
- {
- updateCounter++;
-
- ScaledResolution scaledresolution = new ScaledResolution(this.mc.gameSettings, this.mc.displayWidth, this.mc.displayHeight);
- int scaledWidth = scaledresolution.getScaledWidth();
- int scaledHeight = scaledresolution.getScaledHeight();
- int xBasePos = scaledWidth / 2 - 91;
- int yBasePos = scaledHeight - 39;
- TPlayerStats stats = TConstruct.playerTracker.getPlayerStats(mc.thePlayer.username);
-
- boolean highlight = mc.thePlayer.hurtResistantTime / 3 % 2 == 1;
-
- if (mc.thePlayer.hurtResistantTime < 10)
- {
- highlight = false;
- }
-
- AttributeInstance attrMaxHealth = this.mc.thePlayer.getEntityAttribute(SharedMonsterAttributes.maxHealth);
- int health = MathHelper.ceiling_float_int(mc.thePlayer.getHealth());
- int healthLast = MathHelper.ceiling_float_int(mc.thePlayer.prevHealth);
- float healthMax = (float) attrMaxHealth.getAttributeValue();
- if (healthMax > 20)
- healthMax = 20;
- float absorb = this.mc.thePlayer.getAbsorptionAmount();
-
- int healthRows = MathHelper.ceiling_float_int((healthMax + absorb) / 2.0F / 10.0F);
- int rowHeight = Math.max(10 - (healthRows - 2), 3);
-
- this.rand.setSeed((long) (updateCounter * 312871));
-
- int left = scaledWidth / 2 - 91;
- int top = scaledHeight - GuiIngameForge.left_height;
-
- int regen = -1;
- if (mc.thePlayer.isPotionActive(Potion.regeneration))
- {
- regen = updateCounter % 25;
- }
-
- final int TOP = 9 * (mc.theWorld.getWorldInfo().isHardcoreModeEnabled() ? 5 : 0);
- final int BACKGROUND = (highlight ? 25 : 16);
- int MARGIN = 16;
- if (mc.thePlayer.isPotionActive(Potion.poison))
- MARGIN += 36;
- else if (mc.thePlayer.isPotionActive(Potion.wither))
- MARGIN += 72;
- float absorbRemaining = absorb;
-
- for (int i = MathHelper.ceiling_float_int((healthMax + absorb) / 2.0F) - 1; i >= 0; --i)
- {
- int b0 = (highlight ? 1 : 0);
- int row = MathHelper.ceiling_float_int((float) (i + 1) / 10.0F) - 1;
- int x = left + i % 10 * 8;
- int y = top - row * rowHeight;
-
- if (health <= 4)
- y += rand.nextInt(2);
- if (i == regen)
- y -= 2;
-
- drawTexturedModalRect(x, y, BACKGROUND, TOP, 9, 9);
-
- if (highlight)
- {
- if (i * 2 + 1 < healthLast)
- drawTexturedModalRect(x, y, MARGIN + 54, TOP, 9, 9); //6
- else if (i * 2 + 1 == healthLast)
- drawTexturedModalRect(x, y, MARGIN + 63, TOP, 9, 9); //7
- }
-
- if (absorbRemaining > 0.0F)
- {
- if (absorbRemaining == absorb && absorb % 2.0F == 1.0F)
- drawTexturedModalRect(x, y, MARGIN + 153, TOP, 9, 9); //17
- else
- drawTexturedModalRect(x, y, MARGIN + 144, TOP, 9, 9); //16
- absorbRemaining -= 2.0F;
- }
- else
- {
- if (i * 2 + 1 < health)
- drawTexturedModalRect(x, y, MARGIN + 36, TOP, 9, 9); //4
- else if (i * 2 + 1 == health)
- drawTexturedModalRect(x, y, MARGIN + 45, TOP, 9, 9); //5
- }
- }
-
- PotionEffect potion = mc.thePlayer.getActivePotionEffect(Potion.wither);
- if (potion != null)
- return;
- potion = mc.thePlayer.getActivePotionEffect(Potion.poison);
- if (potion != null)
- return;
-
- //Extra hearts
- this.mc.getTextureManager().bindTexture(hearts);
-
- int hp = MathHelper.ceiling_float_int(this.mc.thePlayer.getHealth());
- for (int iter = 0; iter < hp / 20; iter++)
- {
- int renderHearts = (hp - 20 * (iter + 1)) / 2;
- if (renderHearts > 10)
- renderHearts = 10;
- for (int i = 0; i < renderHearts; i++)
- {
- this.drawTexturedModalRect(xBasePos + 8 * i, yBasePos, 0 + 18 * iter, 0, 8, 8);
- }
- if (hp % 2 == 1 && renderHearts < 10)
- {
- this.drawTexturedModalRect(xBasePos + 8 * renderHearts, yBasePos, 9 + 18 * iter, 0, 8, 8);
- }
- }
-
- this.mc.getTextureManager().bindTexture(icons);
- GuiIngameForge.left_height += 10;
- if (absorb > 0)
- GuiIngameForge.left_height += 10;
-
- event.setCanceled(true);
- }
-
- if (event.type == ElementType.CROSSHAIRS && gs.thirdPersonView != 0)
- {
- event.setCanceled(true);
- }
- }
- }
-
- public void drawTexturedModalRect (int par1, int par2, int par3, int par4, int par5, int par6)
- {
- float f = 0.00390625F;
- float f1 = 0.00390625F;
- Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawingQuads();
- tessellator.addVertexWithUV((double) (par1 + 0), (double) (par2 + par6), (double) this.zLevel, (double) ((float) (par3 + 0) * f), (double) ((float) (par4 + par6) * f1));
- tessellator.addVertexWithUV((double) (par1 + par5), (double) (par2 + par6), (double) this.zLevel, (double) ((float) (par3 + par5) * f), (double) ((float) (par4 + par6) * f1));
- tessellator.addVertexWithUV((double) (par1 + par5), (double) (par2 + 0), (double) this.zLevel, (double) ((float) (par3 + par5) * f), (double) ((float) (par4 + 0) * f1));
- tessellator.addVertexWithUV((double) (par1 + 0), (double) (par2 + 0), (double) this.zLevel, (double) ((float) (par3 + 0) * f), (double) ((float) (par4 + 0) * f1));
- tessellator.draw();
- }
-
- double zLevel = 0;
-
- /*@ForgeSubscribe
- public void getFOV(FOVUpdateEvent event)
- {
- float f = 1.0F;
-
- if (event.entity.capabilities.isFlying)
- {
- f *= 1.1F;
- }
-
- if (event.entity.isUsingItem() && event.entity.getItemInUse().itemID == Item.bow.itemID)
- {
- int i = event.entity.getItemInUseDuration();
- float f1 = (float) i / 20.0F;
-
- if (f1 > 1.0F)
- {
- f1 = 1.0F;
- }
- else
- {
- f1 *= f1;
- }
-
- f *= 1.0F - f1 * 0.15F;
- }
- event.newfov = f;
- }*/
-
- /* Armor */
- ModelBiped model = new ModelBiped(5f);
- WingModel wings = new WingModel();
-
- /*static
- {
- model.bipedHead.showModel = false;
- }*/
-
- private float interpolateRotation (float par1, float par2, float par3)
- {
- float f3;
-
- for (f3 = par2 - par1; f3 < -180.0F; f3 += 360.0F)
- {
- ;
- }
-
- while (f3 >= 180.0F)
- {
- f3 -= 360.0F;
- }
-
- return par1 + par3 * f3;
- }
-
- protected float handleRotationFloat (EntityLiving par1EntityLiving, float par2)
- {
- return (float) par1EntityLiving.ticksExisted + par2;
- }
-}
diff --git a/src/main/java/tconstruct/client/TClientTickHandler.java b/src/main/java/tconstruct/client/TClientTickHandler.java
deleted file mode 100644
index 90e28a89..00000000
--- a/src/main/java/tconstruct/client/TClientTickHandler.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package tconstruct.client;
-
-import java.util.EnumSet;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import tconstruct.TConstruct;
-import tconstruct.common.TContent;
-import cpw.mods.fml.common.ITickHandler;
-import cpw.mods.fml.common.TickType;
-
-public class TClientTickHandler implements ITickHandler
-{
- Minecraft mc = Minecraft.getMinecraft();
- TControls controlInstance = ((TProxyClient)TConstruct.proxy).controlInstance;
-
- @Override
- public void tickEnd (EnumSet type, Object... tickData)
- {
- TContent.oreBerry.setGraphicsLevel(Block.leaves.graphicsLevel);
- TContent.oreBerrySecond.setGraphicsLevel(Block.leaves.graphicsLevel);
- TContent.slimeLeaves.setGraphicsLevel(Block.leaves.graphicsLevel);
- if (mc.thePlayer != null && mc.thePlayer.onGround)
- {
- controlInstance.landOnGround();
- }
- }
-
- @Override
- public EnumSet ticks ()
- {
- return EnumSet.of(TickType.RENDER);
- }
-
- @Override
- public void tickStart (EnumSet type, Object... tickData)
- {
- }
-
- @Override
- public String getLabel ()
- {
- return null;
- }
-}
diff --git a/src/main/java/tconstruct/client/TControls.java b/src/main/java/tconstruct/client/TControls.java
deleted file mode 100644
index ff9f2c1b..00000000
--- a/src/main/java/tconstruct/client/TControls.java
+++ /dev/null
@@ -1,232 +0,0 @@
-package tconstruct.client;
-
-import java.io.ByteArrayOutputStream;
-import java.io.DataOutputStream;
-import java.util.EnumSet;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.client.gui.inventory.GuiInventory;
-import net.minecraft.client.settings.KeyBinding;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.packet.Packet250CustomPayload;
-import net.minecraft.potion.Potion;
-import tconstruct.client.event.EventCloakRender;
-import tconstruct.client.tabs.TabRegistry;
-import cpw.mods.fml.common.TickType;
-import cpw.mods.fml.common.network.PacketDispatcher;
-
-public class TControls extends TKeyHandler
-{
- //static KeyBinding grabKey = new KeyBinding("key.grab", 29);
- //static KeyBinding stiltsKey = new KeyBinding("key.stilts", 46);
- public static KeyBinding armorKey = new KeyBinding("key.tarmor", 24);
- public static KeyBinding refreshCapes = new KeyBinding("key.tcapes.reload", 88);
- static KeyBinding jumpKey;
- static KeyBinding invKey;
- static Minecraft mc;
-
- boolean jumping;
- int midairJumps = 0;
- boolean climbing = false;
- boolean onGround = false;
- boolean onStilts = false;
-
- int currentTab = 1;
-
- //boolean onStilts = false;
-
- public TControls()
- {
- super(new KeyBinding[] { armorKey, refreshCapes }, new boolean[] { false, false }, getVanillaKeyBindings(), new boolean[] { false, false });
- //TConstruct.logger.info("Controls registered");
- }
-
- private static KeyBinding[] getVanillaKeyBindings ()
- {
- mc = Minecraft.getMinecraft();
- jumpKey = mc.gameSettings.keyBindJump;
- invKey = mc.gameSettings.keyBindInventory;
- return new KeyBinding[] { jumpKey, invKey };
- }
-
- @Override
- public String getLabel ()
- {
- return null;
- }
-
- @Override
- public void keyDown (EnumSet types, KeyBinding kb, boolean tickEnd, boolean isRepeat)
- {
- if (tickEnd && mc.theWorld != null)
- {
- if (kb == armorKey && mc.currentScreen == null) //Extended Armor
- {
- openArmorGui();//mc.thePlayer.username);
- }
- if (kb == invKey && mc.currentScreen != null && mc.currentScreen.getClass() == GuiInventory.class)// && !mc.playerController.isInCreativeMode())
- {
- TabRegistry.addTabsToInventory((GuiContainer) mc.currentScreen);
- }
- if (kb == refreshCapes && mc.currentScreen == null)
- {
- EventCloakRender.instance.refreshCapes();
- }
- if (kb == jumpKey) //Double jump
- {
- if (mc.thePlayer.capabilities.isCreativeMode)
- return;
-
- if (jumping && midairJumps > 0)
- {
- mc.thePlayer.motionY = 0.42D;
- mc.thePlayer.fallDistance = 0;
-
- if (mc.thePlayer.isPotionActive(Potion.jump))
- {
- mc.thePlayer.motionY += (double) ((float) (mc.thePlayer.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F);
- }
-
- midairJumps--;
- resetFallDamage(mc.thePlayer.username);
- }
-
- if (!jumping)
- {
- jumping = mc.thePlayer.isAirBorne;
- ItemStack shoes = mc.thePlayer.getCurrentArmor(0);
- if (shoes != null && shoes.hasTagCompound() && shoes.getTagCompound().hasKey("TinkerArmor"))
- {
- NBTTagCompound shoeTag = shoes.getTagCompound().getCompoundTag("TinkerArmor");
- midairJumps = shoeTag.getInteger("Double-Jump");
- }
- }
- }
- }
- }
-
- @Override
- public void keyUp (EnumSet types, KeyBinding kb, boolean tickEnd)
- {
- //landOnGround();
- }
-
- @Override
- public EnumSet ticks ()
- {
- return EnumSet.of(TickType.CLIENT);
- }
-
- public void landOnGround ()
- {
- midairJumps = 0;
- jumping = false;
- }
-
- public void resetControls ()
- {
- midairJumps = 0;
- jumping = false;
- climbing = false;
- onGround = false;
- onStilts = false;
- }
-
- void resetFallDamage (String name)
- {
- ByteArrayOutputStream bos = new ByteArrayOutputStream(8);
- DataOutputStream outputStream = new DataOutputStream(bos);
- try
- {
- outputStream.writeByte(10);
- outputStream.writeUTF(name);
- }
- catch (Exception ex)
- {
- ex.printStackTrace();
- }
-
- updateServer(bos);
- }
-
- void updateSize (String name, float size)
- {
- ByteArrayOutputStream bos = new ByteArrayOutputStream(8);
- DataOutputStream outputStream = new DataOutputStream(bos);
- try
- {
- outputStream.writeByte(11);
- outputStream.writeUTF(name);
- outputStream.writeFloat(size);
- }
- catch (Exception ex)
- {
- ex.printStackTrace();
- }
-
- updateServer(bos);
- }
-
- public static void openInventoryGui ()
- {
- ByteArrayOutputStream bos = new ByteArrayOutputStream(8);
- DataOutputStream outputStream = new DataOutputStream(bos);
- try
- {
- outputStream.writeByte(3);
- outputStream.writeByte(0);
- }
- catch (Exception ex)
- {
- ex.printStackTrace();
- }
-
- updateServer(bos);
- }
-
- public static void openArmorGui ()
- {
- ByteArrayOutputStream bos = new ByteArrayOutputStream(8);
- DataOutputStream outputStream = new DataOutputStream(bos);
- try
- {
- outputStream.writeByte(3);
- outputStream.writeByte(1);
- }
- catch (Exception ex)
- {
- ex.printStackTrace();
- }
-
- updateServer(bos);
- }
-
- public static void openKnapsackGui ()
- {
- ByteArrayOutputStream bos = new ByteArrayOutputStream(8);
- DataOutputStream outputStream = new DataOutputStream(bos);
- try
- {
- outputStream.writeByte(3);
- outputStream.writeByte(2);
- }
- catch (Exception ex)
- {
- ex.printStackTrace();
- }
-
- updateServer(bos);
- }
-
- static void updateServer (ByteArrayOutputStream bos)
- {
- Packet250CustomPayload packet = new Packet250CustomPayload();
- packet.channel = "TConstruct";
- packet.data = bos.toByteArray();
- packet.length = bos.size();
-
- PacketDispatcher.sendPacketToServer(packet);
- }
-}
diff --git a/src/main/java/tconstruct/client/TKeyHandler.java b/src/main/java/tconstruct/client/TKeyHandler.java
deleted file mode 100644
index e93f9b3a..00000000
--- a/src/main/java/tconstruct/client/TKeyHandler.java
+++ /dev/null
@@ -1,149 +0,0 @@
-package tconstruct.client;
-
-import java.util.EnumSet;
-
-import net.minecraft.client.settings.KeyBinding;
-
-import org.lwjgl.input.Keyboard;
-import org.lwjgl.input.Mouse;
-
-import cpw.mods.fml.common.ITickHandler;
-import cpw.mods.fml.common.TickType;
-
-public abstract class TKeyHandler implements ITickHandler
-{
- public KeyBinding[] keyBindings;
- public KeyBinding[] vKeyBindings;
- public boolean[] keyDown;
- public boolean[] repeatings;
- public boolean[] vRepeatings;
- public boolean isDummy;
-
- /**
- * Pass an array of keybindings and a repeat flag for each one
- *
- * @param keyBindings
- * @param repeatings
- */
- public TKeyHandler(KeyBinding[] keyBindings, boolean[] repeatings, KeyBinding[] vanillaKeys, boolean[] vanillaRepeatings)
- {
- assert keyBindings.length == repeatings.length : "You need to pass two arrays of identical length";
- assert vanillaKeys.length == vanillaRepeatings.length : "You need to pass two arrays of identical length";
- this.keyBindings = keyBindings;
- this.repeatings = repeatings;
- this.vKeyBindings = vanillaKeys;
- this.vRepeatings = vanillaRepeatings;
- this.keyDown = new boolean[keyBindings.length + vanillaKeys.length];
- }
-
- /**
- * Register the keys into the system. You will do your own keyboard management elsewhere. No events will fire
- * if you use this method
- *
- * @param keyBindings
- */
- public TKeyHandler(KeyBinding[] keyBindings)
- {
- this.keyBindings = keyBindings;
- this.isDummy = true;
- }
-
- public KeyBinding[] getKeyBindings ()
- {
- return this.keyBindings;
- }
-
- /**
- * Not to be overridden - KeyBindings are tickhandlers under the covers
- */
- @Override
- public final void tickStart (EnumSet type, Object... tickData)
- {
- keyTick(type, false);
- }
-
- /**
- * Not to be overridden - KeyBindings are tickhandlers under the covers
- */
- @Override
- public final void tickEnd (EnumSet type, Object... tickData)
- {
- keyTick(type, true);
- }
-
- public void keyTick (EnumSet type, boolean tickEnd)
- {
- for (int i = 0; i < keyBindings.length; i++)
- {
- KeyBinding keyBinding = keyBindings[i];
- int keyCode = keyBinding.keyCode;
- boolean state = (keyCode < 0 ? Mouse.isButtonDown(keyCode + 100) : Keyboard.isKeyDown(keyCode));
- if (state != keyDown[i] || (state && repeatings[i]))
- {
- if (state)
- {
- keyDown(type, keyBinding, tickEnd, state != keyDown[i]);
- }
- else
- {
- keyUp(type, keyBinding, tickEnd);
- }
- if (tickEnd)
- {
- keyDown[i] = state;
- }
- }
- }
- for (int i = 0; i < vKeyBindings.length; i++)
- {
- KeyBinding keyBinding = vKeyBindings[i];
- int keyCode = keyBinding.keyCode;
- boolean state = (keyCode < 0 ? Mouse.isButtonDown(keyCode + 100) : Keyboard.isKeyDown(keyCode));
- if (state != keyDown[i + keyBindings.length] || (state && vRepeatings[i]))
- {
- if (state)
- {
- keyDown(type, keyBinding, tickEnd, state != keyDown[i + keyBindings.length]);
- }
- else
- {
- keyUp(type, keyBinding, tickEnd);
- }
- if (tickEnd)
- {
- keyDown[i + keyBindings.length] = state;
- }
- }
- }
- }
-
- /**
- * Called when the key is first in the down position on any tick from the {@link #ticks()}
- * set. Will be called subsequently with isRepeat set to true
- *
- * @see #keyUp(EnumSet, KeyBinding, boolean)
- *
- * @param types the type(s) of tick that fired when this key was first down
- * @param tickEnd was it an end or start tick which fired the key
- * @param isRepeat is it a repeat key event
- */
- public abstract void keyDown (EnumSet types, KeyBinding kb, boolean tickEnd, boolean isRepeat);
-
- /**
- * Fired once when the key changes state from down to up
- *
- * @see #keyDown(EnumSet, KeyBinding, boolean, boolean)
- *
- * @param types the type(s) of tick that fired when this key was first down
- * @param tickEnd was it an end or start tick which fired the key
- */
- public abstract void keyUp (EnumSet types, KeyBinding kb, boolean tickEnd);
-
- /**
- * This is the list of ticks for which the key binding should trigger. The only
- * valid ticks are client side ticks, obviously.
- *
- * @see cpw.mods.fml.common.ITickHandler#ticks()
- */
- public abstract EnumSet ticks ();
-}
diff --git a/src/main/java/tconstruct/client/TProxyClient.java b/src/main/java/tconstruct/client/TProxyClient.java
deleted file mode 100644
index 9450221b..00000000
--- a/src/main/java/tconstruct/client/TProxyClient.java
+++ /dev/null
@@ -1,971 +0,0 @@
-package tconstruct.client;
-
-import com.google.common.collect.Lists;
-import cpw.mods.fml.client.registry.*;
-import cpw.mods.fml.common.registry.*;
-import cpw.mods.fml.relauncher.Side;
-import java.io.InputStream;
-import java.util.*;
-import javax.xml.parsers.*;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.inventory.GuiInventory;
-import net.minecraft.client.model.ModelSlime;
-import net.minecraft.client.particle.*;
-import net.minecraft.client.renderer.*;
-import net.minecraft.client.renderer.entity.*;
-import net.minecraft.client.settings.*;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.*;
-import net.minecraft.util.*;
-import net.minecraft.world.World;
-import net.minecraftforge.client.MinecraftForgeClient;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.fluids.RenderBlockFluid;
-import org.lwjgl.opengl.GL11;
-import org.w3c.dom.Document;
-import tconstruct.TConstruct;
-import tconstruct.blocks.SlimeExplosive;
-import tconstruct.blocks.logic.*;
-import tconstruct.client.armor.RenderArmorCast;
-import tconstruct.client.block.*;
-import tconstruct.client.entity.*;
-import tconstruct.client.entity.item.ExplosiveRender;
-import tconstruct.client.entity.projectile.*;
-import tconstruct.client.gui.*;
-import tconstruct.client.pages.*;
-import tconstruct.client.tabs.*;
-import tconstruct.common.*;
-import tconstruct.entity.*;
-import tconstruct.entity.item.*;
-import tconstruct.entity.item.*;
-import tconstruct.entity.projectile.*;
-import tconstruct.inventory.ContainerLandmine;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.client.*;
-import tconstruct.library.crafting.ToolBuilder;
-import tconstruct.library.tools.ToolCore;
-import tconstruct.util.config.PHConstruct;
-import tconstruct.util.player.*;
-
-public class TProxyClient extends TProxyCommon
-{
- public static SmallFontRenderer smallFontRenderer;
- public static Icon metalBall;
- public static Minecraft mc;
- public static RenderItem itemRenderer = new RenderItem();
-
- public static ArmorExtended armorExtended = new ArmorExtended();
- public static KnapsackInventory knapsack = new KnapsackInventory();
-
- @Override
- public Object getClientGuiElement (int ID, EntityPlayer player, World world, int x, int y, int z)
- {
- if (ID == toolStationID)
- return new ToolStationGui(player.inventory, (ToolStationLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
- if (ID == partBuilderID)
- return new PartCrafterGui(player.inventory, (PartBuilderLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
- if (ID == patternChestID)
- return new PatternChestGui(player.inventory, (PatternChestLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
- if (ID == frypanGuiID)
- return new FrypanGui(player.inventory, (FrypanLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
- if (ID == smelteryGuiID)
- {
- if (PHConstruct.newSmeltery)
- return new AdaptiveSmelteryGui(player.inventory, (AdaptiveSmelteryLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
- else
- return new SmelteryGui(player.inventory, (SmelteryLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
- }
- if (ID == stencilTableID)
- return new StencilTableGui(player.inventory, (StencilTableLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
- if (ID == toolForgeID)
- return new ToolForgeGui(player.inventory, (ToolForgeLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
-
- if (ID == landmineID)
- return new GuiLandmine(new ContainerLandmine(player, (TileEntityLandmine) world.getBlockTileEntity(x, y, z)));
- if (ID == craftingStationID)
- return new CraftingStationGui(player.inventory, (CraftingStationLogic) world.getBlockTileEntity(x, y, z), world, x, y, z);
-
- if (ID == furnaceID)
- return new FurnaceGui(player.inventory, (FurnaceLogic) world.getBlockTileEntity(x, y, z));
-
- if (ID == manualGuiID)
- {
- ItemStack stack = player.getCurrentEquippedItem();
- return new GuiManual(stack, TProxyClient.getManualFromStack(stack));
- }
- if (ID == inventoryGui)
- {
- GuiInventory inventory = new GuiInventory(player);
- TabRegistry.addTabsToInventory(inventory);
- return inventory;
- }
- if (ID == armorGuiID)
- {
- TProxyClient.armorExtended.init(Minecraft.getMinecraft().thePlayer);
- return new ArmorExtendedGui(player.inventory, TProxyClient.armorExtended);
- }
- if (ID == knapsackGuiID)
- {
- TProxyClient.knapsack.init(Minecraft.getMinecraft().thePlayer);
- return new KnapsackGui(player.inventory, TProxyClient.knapsack);
- }
- return null;
- }
-
- public static void renderStandardInvBlock (RenderBlocks renderblocks, Block block, int meta)
- {
- Tessellator tessellator = Tessellator.instance;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1F, 0.0F);
- renderblocks.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderblocks.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1F);
- renderblocks.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderblocks.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1F, 0.0F, 0.0F);
- renderblocks.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderblocks.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
-
- public static void renderInvBlockFace (RenderBlocks renderblocks, Block block, int meta)
- {
- Tessellator tessellator = Tessellator.instance;
- GL11.glScalef(2f, 2f, 2f);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- GL11.glRotatef(45, 0, 1, 0);
- GL11.glRotatef(60, 1, 0, 0);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1F, 0.0F);
- renderblocks.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderblocks.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1F);
- renderblocks.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderblocks.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1F, 0.0F, 0.0F);
- renderblocks.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderblocks.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
-
- public static boolean classMatches (Object paramObject, String paramString)
- {
- try
- {
- return paramObject.getClass().getName().equals(paramString);
- }
- catch (Exception localException)
- {
- return false;
- }
- }
-
- public void registerTickHandler ()
- {
- TickRegistry.registerTickHandler(new TClientTickHandler(), Side.CLIENT);
- // TickRegistry.registerTickHandler(new TimeTicker(), Side.CLIENT);
- // TickRegistry.registerTickHandler(new TCommonTickHandler(),
- // Side.CLIENT);
- }
-
- /* Registers any rendering code. */
- public void registerRenderer ()
- {
- Minecraft mc = Minecraft.getMinecraft();
- MinecraftForge.EVENT_BUS.register(new TClientEvents());
- smallFontRenderer = new SmallFontRenderer(mc.gameSettings, new ResourceLocation("textures/font/ascii.png"), mc.renderEngine, false);
- RenderingRegistry.registerBlockHandler(new TableRender());
- RenderingRegistry.registerBlockHandler(new TableForgeRender());
- RenderingRegistry.registerBlockHandler(new FrypanRender());
- RenderingRegistry.registerBlockHandler(new TankRender());
- RenderingRegistry.registerBlockHandler(new TankAirRender());
- RenderingRegistry.registerBlockHandler(new SearedRender());
- RenderingRegistry.registerBlockHandler(new OreberryRender());
- RenderingRegistry.registerBlockHandler(new BarricadeRender());
- RenderingRegistry.registerBlockHandler(new DryingRackRender());
- RenderingRegistry.registerBlockHandler(new PaneRender());
- RenderingRegistry.registerBlockHandler(new PaneConnectedRender());
- RenderingRegistry.registerBlockHandler(new RenderLandmine());
- RenderingRegistry.registerBlockHandler(new PunjiRender());
- RenderingRegistry.registerBlockHandler(new RenderBlockFluid());
- RenderingRegistry.registerBlockHandler(new BlockRenderCastingChannel());
- RenderingRegistry.registerBlockHandler(new SlimeChannelRender());
- RenderingRegistry.registerBlockHandler(new SlimePadRender());
-
- if (!PHConstruct.newSmeltery)
- RenderingRegistry.registerBlockHandler(new SmelteryRender());
-
- // Special Renderers
- ClientRegistry.bindTileEntitySpecialRenderer(CastingTableLogic.class, new CastingTableSpecialRenderer());
- ClientRegistry.bindTileEntitySpecialRenderer(CastingBasinLogic.class, new CastingBasinSpecialRender());
- ClientRegistry.bindTileEntitySpecialRenderer(DryingRackLogic.class, new DryingRackSpecialRender());
- // ClientRegistry.bindTileEntitySpecialRenderer(GolemCoreLogic.class,
- // new GolemCoreSpecialRender());
-
- // Entities
- RenderingRegistry.registerEntityRenderingHandler(FancyEntityItem.class, new FancyItemRender());
- RenderingRegistry.registerEntityRenderingHandler(BlueSlime.class, new SlimeRender(new ModelSlime(16), new ModelSlime(0), 0.25F));
-
- RenderingRegistry.registerEntityRenderingHandler(CartEntity.class, new CartRender());
- RenderingRegistry.registerEntityRenderingHandler(Crystal.class, new CrystalRender());
- RenderingRegistry.registerEntityRenderingHandler(LaunchedPotion.class, new LaunchedItemRender(Item.potion, 16384));
- RenderingRegistry.registerEntityRenderingHandler(DaggerEntity.class, new DaggerRenderCustom());
- RenderingRegistry.registerEntityRenderingHandler(ArrowEntity.class, new ArrowRenderCustom());
- RenderingRegistry.registerEntityRenderingHandler(EntityLandmineFirework.class, new RenderSnowball(Item.firework));
- RenderingRegistry.registerEntityRenderingHandler(ExplosivePrimed.class, new ExplosiveRender());
- // RenderingRegistry.registerEntityRenderingHandler(net.minecraft.entity.player.EntityPlayer.class,
- // new PlayerArmorRender()); // <-- Works, woo!
-
- MinecraftForgeClient.registerItemRenderer(TContent.shortbow.itemID, new CustomBowRenderer());
- VillagerRegistry.instance().registerVillagerSkin(78943, new ResourceLocation("tinker", "textures/mob/villagertools.png"));
-
- ToolCoreRenderer renderer = new ToolCoreRenderer();
- MinecraftForgeClient.registerItemRenderer(TContent.arrow.itemID, renderer);
- MinecraftForgeClient.registerItemRenderer(TContent.dagger.itemID, renderer);
-
- addRenderMappings();
- addToolButtons();
- }
-
- public static Document diary;
- public static Document volume1;
- public static Document volume2;
- public static Document smelter;
-
- public void readManuals ()
- {
- DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
- diary = readManual("/assets/tinker/manuals/diary.xml", dbFactory);
- volume1 = readManual("/assets/tinker/manuals/firstday.xml", dbFactory);
- volume2 = readManual("/assets/tinker/manuals/materials.xml", dbFactory);
- smelter = readManual("/assets/tinker/manuals/smeltery.xml", dbFactory);
- initManualIcons();
- initManualRecipes();
- initManualPages();
- }
-
- Document readManual (String location, DocumentBuilderFactory dbFactory)
- {
- try
- {
- InputStream stream = TConstruct.class.getResourceAsStream(location);
- DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
- Document doc = dBuilder.parse(stream);
- doc.getDocumentElement().normalize();
- return doc;
- }
- catch (Exception e)
- {
- e.printStackTrace();
- return null;
- }
- }
-
- public void initManualIcons ()
- {
- TConstructClientRegistry.registerManualIcon("smelterybook", new ItemStack(TContent.manualBook, 1, 2));
- TConstructClientRegistry.registerManualIcon("smeltery", new ItemStack(TContent.smeltery));
- TConstructClientRegistry.registerManualIcon("blankcast", new ItemStack(TContent.blankPattern, 1, 1));
- TConstructClientRegistry.registerManualIcon("castingtable", new ItemStack(TContent.searedBlock));
- // TConstructClientRegistry.registerManualIcon("liquidiron", new
- // ItemStack(TContent.liquidMetalStill));
- TConstructClientRegistry.registerManualIcon("lavatank", new ItemStack(TContent.lavaTank));
- TConstructClientRegistry.registerManualIcon("searedbrick", new ItemStack(TContent.smeltery, 1, 2));
- TConstructClientRegistry.registerManualIcon("drain", new ItemStack(TContent.smeltery, 1, 1));
- TConstructClientRegistry.registerManualIcon("faucet", new ItemStack(TContent.searedBlock, 1, 1));
- TConstructClientRegistry.registerManualIcon("bronzeingot", new ItemStack(TContent.materials, 1, 13));
- TConstructClientRegistry.registerManualIcon("alubrassingot", new ItemStack(TContent.materials, 1, 14));
- TConstructClientRegistry.registerManualIcon("manyullyningot", new ItemStack(TContent.materials, 1, 5));
- TConstructClientRegistry.registerManualIcon("alumiteingot", new ItemStack(TContent.materials, 1, 15));
- TConstructClientRegistry.registerManualIcon("blankpattern", new ItemStack(TContent.blankPattern, 1, 0));
- TConstructClientRegistry.registerManualIcon("toolstation", new ItemStack(TContent.toolStationWood, 1, 0));
- TConstructClientRegistry.registerManualIcon("partcrafter", new ItemStack(TContent.toolStationWood, 1, 1));
- TConstructClientRegistry.registerManualIcon("patternchest", new ItemStack(TContent.toolStationWood, 1, 5));
- TConstructClientRegistry.registerManualIcon("stenciltable", new ItemStack(TContent.toolStationWood, 1, 10));
- TConstructClientRegistry.registerManualIcon("torch", new ItemStack(Block.torchWood));
- TConstructClientRegistry.registerManualIcon("sapling", new ItemStack(Block.sapling));
- TConstructClientRegistry.registerManualIcon("workbench", new ItemStack(Block.workbench));
- TConstructClientRegistry.registerManualIcon("coal", new ItemStack(Item.coal));
-
- TConstructClientRegistry.registerManualIcon("obsidianingot", new ItemStack(TContent.materials, 1, 18));
- TConstructClientRegistry.registerManualIcon("lavacrystal", new ItemStack(TContent.materials, 1, 7));
-
- // Tool Materials
- TConstructClientRegistry.registerManualIcon("woodplanks", new ItemStack(Block.planks));
- TConstructClientRegistry.registerManualIcon("stoneblock", new ItemStack(Block.stone));
- TConstructClientRegistry.registerManualIcon("ironingot", new ItemStack(Item.ingotIron));
- TConstructClientRegistry.registerManualIcon("flint", new ItemStack(Item.flint));
- TConstructClientRegistry.registerManualIcon("cactus", new ItemStack(Block.cactus));
- TConstructClientRegistry.registerManualIcon("bone", new ItemStack(Item.bone));
- TConstructClientRegistry.registerManualIcon("obsidian", new ItemStack(Block.obsidian));
- TConstructClientRegistry.registerManualIcon("netherrack", new ItemStack(Block.netherrack));
- TConstructClientRegistry.registerManualIcon("blueslimecrystal", new ItemStack(TContent.materials, 1, 17));
- TConstructClientRegistry.registerManualIcon("slimecrystal", new ItemStack(TContent.materials, 1, 1));
- TConstructClientRegistry.registerManualIcon("paperstack", new ItemStack(TContent.materials, 1, 0));
- TConstructClientRegistry.registerManualIcon("cobaltingot", new ItemStack(TContent.materials, 1, 3));
- TConstructClientRegistry.registerManualIcon("arditeingot", new ItemStack(TContent.materials, 1, 4));
- TConstructClientRegistry.registerManualIcon("copperingot", new ItemStack(TContent.materials, 1, 9));
- TConstructClientRegistry.registerManualIcon("steelingot", new ItemStack(TContent.materials, 1, 16));
- TConstructClientRegistry.registerManualIcon("pigironingot", new ItemStack(TContent.materials, 1, 34));
-
- // Tool parts
- TConstructClientRegistry.registerManualIcon("pickhead", new ItemStack(TContent.pickaxeHead, 1, 2));
- TConstructClientRegistry.registerManualIcon("shovelhead", new ItemStack(TContent.shovelHead, 1, 2));
- TConstructClientRegistry.registerManualIcon("axehead", new ItemStack(TContent.hatchetHead, 1, 2));
- TConstructClientRegistry.registerManualIcon("swordblade", new ItemStack(TContent.swordBlade, 1, 2));
- TConstructClientRegistry.registerManualIcon("pan", new ItemStack(TContent.frypanHead, 1, 2));
- TConstructClientRegistry.registerManualIcon("board", new ItemStack(TContent.signHead, 1, 2));
- TConstructClientRegistry.registerManualIcon("knifeblade", new ItemStack(TContent.knifeBlade, 1, 2));
- TConstructClientRegistry.registerManualIcon("chiselhead", new ItemStack(TContent.chiselHead, 1, 2));
-
- TConstructClientRegistry.registerManualIcon("hammerhead", new ItemStack(TContent.hammerHead, 1, 2));
- TConstructClientRegistry.registerManualIcon("excavatorhead", new ItemStack(TContent.excavatorHead, 1, 2));
- TConstructClientRegistry.registerManualIcon("scythehead", new ItemStack(TContent.scytheBlade, 1, 2));
- TConstructClientRegistry.registerManualIcon("broadaxehead", new ItemStack(TContent.broadAxeHead, 1, 2));
- TConstructClientRegistry.registerManualIcon("largeswordblade", new ItemStack(TContent.largeSwordBlade, 1, 2));
-
- TConstructClientRegistry.registerManualIcon("toolrod", new ItemStack(Item.stick));
-
- TConstructClientRegistry.registerManualIcon("binding", new ItemStack(TContent.binding, 1, 4));
- TConstructClientRegistry.registerManualIcon("wideguard", new ItemStack(TContent.wideGuard, 1, 4));
- TConstructClientRegistry.registerManualIcon("handguard", new ItemStack(TContent.handGuard, 1, 4));
- TConstructClientRegistry.registerManualIcon("crossbar", new ItemStack(TContent.crossbar, 1, 4));
-
- TConstructClientRegistry.registerManualIcon("toughrod", new ItemStack(TContent.toughRod, 1, 0));
- TConstructClientRegistry.registerManualIcon("toughbinding", new ItemStack(TContent.toughBinding, 1, 17));
- TConstructClientRegistry.registerManualIcon("largeplate", new ItemStack(TContent.largePlate, 1, 17));
-
- TConstructClientRegistry.registerManualIcon("bowstring", new ItemStack(TContent.bowstring, 1, 0));
- TConstructClientRegistry.registerManualIcon("arrowhead", new ItemStack(TContent.arrowhead, 1, 2));
- TConstructClientRegistry.registerManualIcon("fletching", new ItemStack(TContent.fletching, 1, 0));
-
- TConstructClientRegistry.registerManualIcon("bloodbucket", new ItemStack(TContent.buckets, 1, 16));
- TConstructClientRegistry.registerManualIcon("emeraldbucket", new ItemStack(TContent.buckets, 1, 15));
- TConstructClientRegistry.registerManualIcon("gluebucket", new ItemStack(TContent.buckets, 1, 25));
- TConstructClientRegistry.registerManualIcon("slimebucket", new ItemStack(TContent.buckets, 1, 24));
- TConstructClientRegistry.registerManualIcon("enderbucket", new ItemStack(TContent.buckets, 1, 23));
-
- // ToolIcons
- TConstructClientRegistry.registerManualIcon("pickicon",
- ToolBuilder.instance.buildTool(new ItemStack(TContent.pickaxeHead, 1, 10), new ItemStack(TContent.toolRod, 1, 11), new ItemStack(TContent.binding, 1, 12), ""));
- TConstructClientRegistry.registerManualIcon("shovelicon", ToolBuilder.instance.buildTool(new ItemStack(TContent.shovelHead, 1, 10), new ItemStack(TContent.toolRod, 1, 11), null, ""));
- TConstructClientRegistry.registerManualIcon("axeicon", ToolBuilder.instance.buildTool(new ItemStack(TContent.hatchetHead, 1, 10), new ItemStack(TContent.toolRod, 1, 11), null, ""));
- TConstructClientRegistry.registerManualIcon("mattockicon",
- ToolBuilder.instance.buildTool(new ItemStack(TContent.hatchetHead, 1, 10), new ItemStack(TContent.toolRod, 1, 11), new ItemStack(TContent.shovelHead, 1, 12), ""));
- TConstructClientRegistry.registerManualIcon("swordicon",
- ToolBuilder.instance.buildTool(new ItemStack(TContent.swordBlade, 1, 10), new ItemStack(TContent.toolRod, 1, 11), new ItemStack(TContent.wideGuard, 1, 12), ""));
- TConstructClientRegistry.registerManualIcon("longswordicon",
- ToolBuilder.instance.buildTool(new ItemStack(TContent.swordBlade, 1, 10), new ItemStack(TContent.toolRod, 1, 11), new ItemStack(TContent.handGuard, 1, 12), ""));
- TConstructClientRegistry.registerManualIcon("rapiericon",
- ToolBuilder.instance.buildTool(new ItemStack(TContent.swordBlade, 1, 10), new ItemStack(TContent.toolRod, 1, 11), new ItemStack(TContent.crossbar, 1, 12), ""));
- TConstructClientRegistry.registerManualIcon("daggerIcon",
- ToolBuilder.instance.buildTool(new ItemStack(TContent.knifeBlade, 1, 10), new ItemStack(TContent.toolRod, 1, 11), new ItemStack(TContent.crossbar, 1, 12), ""));
- TConstructClientRegistry.registerManualIcon("frypanicon", ToolBuilder.instance.buildTool(new ItemStack(TContent.frypanHead, 1, 10), new ItemStack(TContent.toolRod, 1, 11), null, ""));
- TConstructClientRegistry.registerManualIcon("battlesignicon", ToolBuilder.instance.buildTool(new ItemStack(TContent.signHead, 1, 10), new ItemStack(TContent.toolRod, 1, 11), null, ""));
- TConstructClientRegistry.registerManualIcon("chiselicon", ToolBuilder.instance.buildTool(new ItemStack(TContent.chiselHead, 1, 10), new ItemStack(TContent.toolRod, 1, 11), null, ""));
- TConstructClientRegistry.registerManualIcon("shortbowIcon",
- ToolBuilder.instance.buildTool(new ItemStack(TContent.toolRod, 1, 10), new ItemStack(TContent.bowstring, 1, 0), new ItemStack(TContent.toolRod, 1, 12), ""));
- TConstructClientRegistry.registerManualIcon("arrowIcon",
- ToolBuilder.instance.buildTool(new ItemStack(TContent.arrowhead, 1, 10), new ItemStack(TContent.toolRod, 1, 11), new ItemStack(TContent.fletching, 1, 0), ""));
-
- TConstructClientRegistry.registerManualIcon("hammericon", ToolBuilder.instance.buildTool(new ItemStack(TContent.hammerHead, 1, 10), new ItemStack(TContent.toughRod, 1, 11), new ItemStack(
- TContent.largePlate, 1, 12), new ItemStack(TContent.largePlate, 8), ""));
- TConstructClientRegistry.registerManualIcon("lumbericon", ToolBuilder.instance.buildTool(new ItemStack(TContent.broadAxeHead, 1, 10), new ItemStack(TContent.toughRod, 1, 11), new ItemStack(
- TContent.largePlate, 1, 12), new ItemStack(TContent.toughBinding, 8), ""));
- TConstructClientRegistry.registerManualIcon("excavatoricon", ToolBuilder.instance.buildTool(new ItemStack(TContent.excavatorHead, 1, 10), new ItemStack(TContent.toughRod, 1, 11),
- new ItemStack(TContent.largePlate, 1, 12), new ItemStack(TContent.toughBinding, 8), ""));
- TConstructClientRegistry.registerManualIcon("scytheicon", ToolBuilder.instance.buildTool(new ItemStack(TContent.scytheBlade, 1, 10), new ItemStack(TContent.toughRod, 1, 11), new ItemStack(
- TContent.toughBinding, 1, 12), new ItemStack(TContent.toughRod, 8), ""));
- TConstructClientRegistry.registerManualIcon("cleavericon", ToolBuilder.instance.buildTool(new ItemStack(TContent.largeSwordBlade, 1, 10), new ItemStack(TContent.toughRod, 1, 11),
- new ItemStack(TContent.largePlate, 1, 12), new ItemStack(TContent.toughRod, 8), ""));
- TConstructClientRegistry.registerManualIcon("battleaxeicon", ToolBuilder.instance.buildTool(new ItemStack(TContent.broadAxeHead, 1, 10), new ItemStack(TContent.toughRod, 1, 11),
- new ItemStack(TContent.broadAxeHead, 1, 12), new ItemStack(TContent.toughBinding, 8), ""));
- }
-
- public void initManualRecipes ()
- {
- ItemStack pattern = new ItemStack(TContent.blankPattern, 1, 0);
-
- ItemStack stick = new ItemStack(Item.stick, 1, 0);
- ItemStack plank = new ItemStack(Block.planks, 1, 0);
- ItemStack plankSlab = new ItemStack(Block.woodSingleSlab, 1, 0);
- ItemStack workbench = new ItemStack(Block.workbench, 1, 0);
- ItemStack chest = new ItemStack(Block.chest, 1, 0);
- ItemStack log = new ItemStack(Block.wood, 1, 0);
- ItemStack mossycobble = new ItemStack(Block.cobblestoneMossy);
- ItemStack netherrack = new ItemStack(Block.netherrack);
-
- ItemStack dirt = new ItemStack(Block.dirt, 1, 0);
- ItemStack sand = new ItemStack(Block.sand, 1, 0);
- ItemStack gravel = new ItemStack(Block.gravel, 1, 0);
- ItemStack clay = new ItemStack(Item.clay, 1, 0);
- ItemStack glass = new ItemStack(Block.glass, 1, 0);
- ItemStack ironblock = new ItemStack(Block.blockIron, 1, 0);
-
- ItemStack grout = new ItemStack(TContent.craftedSoil, 2, 1);
- ItemStack searedbrick = new ItemStack(TContent.materials, 1, 2);
- ItemStack searedbrickBlock = new ItemStack(TContent.smeltery, 1, 2);
-
- ItemStack coal = new ItemStack(Item.coal);
- ItemStack paper = new ItemStack(Item.paper);
- ItemStack slimeball = new ItemStack(Item.slimeBall);
- ItemStack slimyMud = new ItemStack(TContent.craftedSoil);
- ItemStack blazerod = new ItemStack(Item.blazeRod);
- ItemStack firecharge = new ItemStack(Item.fireballCharge);
- ItemStack string = new ItemStack(Item.silk);
-
- ItemStack silkyCloth = new ItemStack(TContent.materials, 1, 25);
-
- ItemStack graveyardsoil = new ItemStack(TContent.craftedSoil, 1, 3);
- ItemStack consecratedsoil = new ItemStack(TContent.craftedSoil, 1, 4);
-
- // TConstruct recipes
- TConstructClientRegistry.registerManualLargeRecipe("alternatebook", new ItemStack(Item.book), paper, paper, paper, string, pattern, pattern, null, null, null);
- TConstructClientRegistry.registerManualSmallRecipe("patternbook1", new ItemStack(TContent.manualBook, 1, 0), new ItemStack(Item.paper), pattern, null, null);
- TConstructClientRegistry.registerManualSmallRecipe("patternbook2", new ItemStack(TContent.manualBook, 1, 1), new ItemStack(TContent.manualBook, 1, 0), null, null, null);
- TConstructClientRegistry.registerManualSmallRecipe("patternbook3", new ItemStack(TContent.manualBook, 1, 2), new ItemStack(TContent.manualBook, 1, 1), null, null, null);
- TConstructClientRegistry.registerManualSmallRecipe("blankpattern", pattern, plank, stick, stick, plank);
- TConstructClientRegistry.registerManualSmallRecipe("toolstation", new ItemStack(TContent.toolStationWood, 1, 0), null, pattern, null, workbench);
- TConstructClientRegistry.registerManualSmallRecipe("partcrafter", new ItemStack(TContent.toolStationWood, 1, 1), null, pattern, null, log);
- TConstructClientRegistry.registerManualSmallRecipe("patternchest", new ItemStack(TContent.toolStationWood, 1, 5), null, pattern, null, chest);
- TConstructClientRegistry.registerManualSmallRecipe("stenciltable", new ItemStack(TContent.toolStationWood, 1, 10), null, pattern, null, plank);
- TConstructClientRegistry.registerManualSmallRecipe("slimechannel", new ItemStack(TContent.slimeChannel, 1, 0), new ItemStack(TContent.slimeGel, 1, 0), new ItemStack(Item.redstone), null, null);
- TConstructClientRegistry.registerManualSmallRecipe("bouncepad", new ItemStack(TContent.slimePad, 1, 0), new ItemStack(TContent.slimeChannel), new ItemStack(Item.slimeBall), null, null);
- TConstructClientRegistry.registerManualLargeRecipe("toolforge", new ItemStack(TContent.toolForge, 1, 0), searedbrickBlock, searedbrickBlock, searedbrickBlock, ironblock, new ItemStack(
- TContent.toolStationWood, 1, 0), ironblock, ironblock, null, ironblock);
-
- TConstructClientRegistry.registerManualLargeRecipe("slimymud", slimyMud, null, slimeball, slimeball, null, slimeball, slimeball, null, dirt, sand);
- TConstructClientRegistry.registerManualFurnaceRecipe("slimecrystal", new ItemStack(TContent.materials, 1, 1), slimyMud);
- TConstructClientRegistry.registerManualSmallRecipe("paperstack", new ItemStack(TContent.materials, 1, 0), paper, paper, paper, paper);
- TConstructClientRegistry.registerManualLargeRecipe("mossball", new ItemStack(TContent.materials, 1, 6), mossycobble, mossycobble, mossycobble, mossycobble, mossycobble, mossycobble,
- mossycobble, mossycobble, mossycobble);
- TConstructClientRegistry.registerManualLargeRecipe("lavacrystal", new ItemStack(TContent.materials, 1, 7), blazerod, firecharge, blazerod, firecharge, new ItemStack(Item.bucketLava),
- firecharge, blazerod, firecharge, blazerod);
- TConstructClientRegistry.registerManualLargeRecipe("silkycloth", silkyCloth, string, string, string, string, new ItemStack(TContent.materials, 1, 24), string, string, string, string);
- TConstructClientRegistry.registerManualLargeRecipe("silkyjewel", new ItemStack(TContent.materials, 1, 26), null, silkyCloth, null, silkyCloth, new ItemStack(Item.emerald), silkyCloth, null,
- silkyCloth, null);
-
- TConstructClientRegistry.registerManualSmallRecipe("graveyardsoil", graveyardsoil, new ItemStack(Block.dirt), new ItemStack(Item.rottenFlesh), new ItemStack(Item.dyePowder, 1, 15), null);
- TConstructClientRegistry.registerManualFurnaceRecipe("consecratedsoil", consecratedsoil, graveyardsoil);
-
- TConstructClientRegistry.registerManualSmallRecipe("grout", grout, sand, gravel, null, clay);
- TConstructClientRegistry.registerManualFurnaceRecipe("searedbrick", searedbrick, grout);
- TConstructClientRegistry.registerManualSmallRecipe("searedbricks", new ItemStack(TContent.smeltery, 1, 2), searedbrick, searedbrick, searedbrick, searedbrick);
- TConstructClientRegistry.registerManualLargeRecipe("smelterycontroller", new ItemStack(TContent.smeltery, 1, 0), searedbrick, searedbrick, searedbrick, searedbrick, null, searedbrick,
- searedbrick, searedbrick, searedbrick);
- TConstructClientRegistry.registerManualLargeRecipe("dryingrack", new ItemStack(TContent.dryingRack, 1, 0), null, null, null, plankSlab, plankSlab, plankSlab, null, null,
- null);
- TConstructClientRegistry.registerManualLargeRecipe("smelterydrain", new ItemStack(TContent.smeltery, 1, 1), searedbrick, null, searedbrick, searedbrick, null, searedbrick, searedbrick, null,
- searedbrick);
-
- TConstructClientRegistry.registerManualLargeRecipe("smelterytank1", new ItemStack(TContent.lavaTank, 1, 0), searedbrick, searedbrick, searedbrick, searedbrick, glass, searedbrick,
- searedbrick, searedbrick, searedbrick);
- TConstructClientRegistry.registerManualLargeRecipe("smelterytank2", new ItemStack(TContent.lavaTank, 1, 1), searedbrick, glass, searedbrick, glass, glass, glass, searedbrick, glass,
- searedbrick);
- TConstructClientRegistry.registerManualLargeRecipe("smelterytank3", new ItemStack(TContent.lavaTank, 1, 2), searedbrick, glass, searedbrick, searedbrick, glass, searedbrick, searedbrick,
- glass, searedbrick);
-
- TConstructClientRegistry.registerManualLargeRecipe("smelterytable", new ItemStack(TContent.searedBlock, 1, 0), searedbrick, searedbrick, searedbrick, searedbrick, null, searedbrick,
- searedbrick, null, searedbrick);
- TConstructClientRegistry.registerManualLargeRecipe("smelteryfaucet", new ItemStack(TContent.searedBlock, 1, 1), searedbrick, null, searedbrick, null, searedbrick, null, null, null, null);
- TConstructClientRegistry.registerManualLargeRecipe("castingchannel", new ItemStack(TContent.castingChannel), null, null, null, searedbrick, null, searedbrick, searedbrick, searedbrick,
- searedbrick);
- TConstructClientRegistry.registerManualLargeRecipe("smelterybasin", new ItemStack(TContent.searedBlock, 1, 2), searedbrick, null, searedbrick, searedbrick, null, searedbrick, searedbrick,
- searedbrick, searedbrick);
-
- //Traps
- ItemStack reed = new ItemStack(Item.reed);
- TConstructClientRegistry.registerManualLargeRecipe("punji", new ItemStack(TContent.punji), reed, null, reed, null, reed, null, reed, null, reed);
- TConstructClientRegistry.registerManualSmallRecipe("barricade", new ItemStack(TContent.barricadeOak), null, log, null, log);
-
- //Machines
- ItemStack alubrassIngot = new ItemStack(TContent.materials, 1, 14);
- ItemStack bronzeIngot = new ItemStack(TContent.materials, 1, 13);
- ItemStack blankCast = new ItemStack(TContent.blankPattern, 1, 1);
- ItemStack redstone = new ItemStack(Item.redstone);
-
- // Modifier recipes
- ItemStack ironpick = ToolBuilder.instance.buildTool(new ItemStack(TContent.pickaxeHead, 1, 6), new ItemStack(TContent.toolRod, 1, 2), new ItemStack(TContent.binding, 1, 6), "");
- TConstructClientRegistry.registerManualIcon("ironpick", ironpick);
- ItemStack ironlongsword = ToolBuilder.instance.buildTool(new ItemStack(TContent.swordBlade, 1, 6), new ItemStack(TContent.toolRod, 1, 2), new ItemStack(TContent.handGuard, 1, 10), "");
- TConstructClientRegistry.registerManualIcon("ironlongsword", ironlongsword);
-
- TConstructClientRegistry.registerManualModifier("diamondmod", ironpick.copy(), new ItemStack(Item.diamond));
- TConstructClientRegistry.registerManualModifier("emeraldmod", ironpick.copy(), new ItemStack(Item.emerald));
- TConstructClientRegistry.registerManualModifier("redstonemod", ironpick.copy(), new ItemStack(Item.redstone), new ItemStack(Block.blockRedstone));
- TConstructClientRegistry.registerManualModifier("lavacrystalmod", ironpick.copy(), new ItemStack(TContent.materials, 1, 7));
- TConstructClientRegistry.registerManualModifier("lapismod", ironpick.copy(), new ItemStack(Item.dyePowder, 1, 4), new ItemStack(Block.blockLapis));
- TConstructClientRegistry.registerManualModifier("mossmod", ironpick.copy(), new ItemStack(TContent.materials, 1, 6));
- TConstructClientRegistry.registerManualModifier("quartzmod", ironlongsword.copy(), new ItemStack(Item.netherQuartz), new ItemStack(Block.blockNetherQuartz));
- TConstructClientRegistry.registerManualModifier("blazemod", ironlongsword.copy(), new ItemStack(Item.blazePowder));
- TConstructClientRegistry.registerManualModifier("necroticmod", ironlongsword.copy(), new ItemStack(TContent.materials, 1, 8));
- TConstructClientRegistry.registerManualModifier("silkymod", ironpick.copy(), new ItemStack(TContent.materials, 1, 26));
- TConstructClientRegistry.registerManualModifier("reinforcedmod", ironpick.copy(), new ItemStack(TContent.largePlate, 1, 6));
-
- TConstructClientRegistry.registerManualModifier("pistonmod", ironlongsword.copy(), new ItemStack(Block.pistonBase));
- TConstructClientRegistry.registerManualModifier("beheadingmod", ironlongsword.copy(), new ItemStack(Item.enderPearl), new ItemStack(Block.obsidian));
- TConstructClientRegistry.registerManualModifier("spidermod", ironlongsword.copy(), new ItemStack(Item.fermentedSpiderEye));
- TConstructClientRegistry.registerManualModifier("smitemod", ironlongsword.copy(), new ItemStack(TContent.craftedSoil, 1, 4));
-
- TConstructClientRegistry.registerManualModifier("electricmod", ironpick.copy(), new ItemStack(Block.dirt), new ItemStack(Block.dirt));
- TConstructClientRegistry.registerManualModifier("fluxmod", ironpick.copy(), new ItemStack(Block.dirt));
- TConstructClientRegistry.registerManualModifier("fluxmod2", ironpick.copy(), new ItemStack(Block.dirt));
-
- TConstructClientRegistry.registerManualModifier("tier1free", ironpick.copy(), new ItemStack(Item.diamond), new ItemStack(Block.blockGold));
- TConstructClientRegistry.registerManualModifier("tier2free", ironpick.copy(), new ItemStack(Item.netherStar));
-
- TConstructClientRegistry.registerManualSmeltery("brownstone", new ItemStack(TContent.speedBlock), new ItemStack(TContent.moltenTin, 1), new ItemStack(Block.gravel));
- TConstructClientRegistry.registerManualSmeltery("clearglass", new ItemStack(TContent.clearGlass), new ItemStack(TContent.moltenGlass, 1), null);
- TConstructClientRegistry.registerManualSmeltery("searedstone", new ItemStack(TContent.smeltery, 1, 4), new ItemStack(TContent.moltenStone, 1), null);
- TConstructClientRegistry.registerManualSmeltery("endstone", new ItemStack(Block.whiteStone), new ItemStack(TContent.moltenEnder, 1), new ItemStack(Block.obsidian));
- TConstructClientRegistry.registerManualSmeltery("glueball", new ItemStack(TContent.materials, 1, 36), new ItemStack(TContent.glueFluidBlock, 1), null);
-
- }
-
- public static Map> pageClasses = new HashMap>();
-
- public static void registerManualPage (String type, Class extends BookPage> clazz)
- {
- pageClasses.put(type, clazz);
- }
-
- public static Class extends BookPage> getPageClass (String type)
- {
- return pageClasses.get(type);
- }
-
- void initManualPages ()
- {
- TProxyClient.registerManualPage("crafting", CraftingPage.class);
- TProxyClient.registerManualPage("picture", PicturePage.class);
- TProxyClient.registerManualPage("text", TextPage.class);
- TProxyClient.registerManualPage("intro", TextPage.class);
- TProxyClient.registerManualPage("sectionpage", SectionPage.class);
- TProxyClient.registerManualPage("intro", TitlePage.class);
- TProxyClient.registerManualPage("contents", ContentsTablePage.class);
- TProxyClient.registerManualPage("furnace", FurnacePage.class);
- TProxyClient.registerManualPage("sidebar", SidebarPage.class);
- TProxyClient.registerManualPage("materialstats", MaterialPage.class);
- TProxyClient.registerManualPage("toolpage", ToolPage.class);
- TProxyClient.registerManualPage("modifier", ModifierPage.class);
- TProxyClient.registerManualPage("blockcast", BlockCastPage.class);
-
- TProxyClient.registerManualPage("blank", BlankPage.class);
- }
-
- public static Document getManualFromStack (ItemStack stack)
- {
- switch (stack.getItemDamage())
- {
- case 0:
- return volume1;
- case 1:
- return volume2;
- case 2:
- return smelter;
- case 3:
- return diary;
- }
-
- return null;
- }
-
- static int[][] itemIcons = { new int[] { 0, 3, 0 }, // Repair
- new int[] { 1, 4, 0 }, // Pickaxe
- new int[] { 2, 5, 0 }, // Shovel
- new int[] { 2, 6, 0 }, // Axe
- // new int[] {2, 9, 0}, //Lumber Axe
- // new int[] {1, 7, 0}, //Ice Axe
- new int[] { 3, 8, 0 }, // Mattock
- new int[] { 1, 0, 1 }, // Broadsword
- new int[] { 1, 1, 1 }, // Longsword
- new int[] { 1, 2, 1 }, // Rapier
- new int[] { 1, 5, 1 }, // Dagger
- new int[] { 2, 3, 1 }, // Frying pan
- new int[] { 2, 4, 1 }, // Battlesign
- new int[] { 2, 6, 1 } // Chisel
- };
-
- static int[][] iconCoords = { new int[] { 0, 1, 2, 13 }, new int[] { 13, 13, 13, 13 }, // Repair
- new int[] { 0, 0, 1, 13 }, new int[] { 2, 3, 3, 13 }, // Pickaxe
- new int[] { 3, 0, 13, 13 }, new int[] { 2, 3, 13, 13 }, // Shovel
- new int[] { 2, 0, 13, 13 }, new int[] { 2, 3, 13, 13 }, // Axe
- // new int[] { 6, 0, 13, 13 }, new int[] { 2, 3, 13, 13 }, //Lumber
- // Axe
- // new int[] { 0, 0, 5, 13 }, new int[] { 2, 3, 3, 13 }, //Ice Axe
- new int[] { 2, 0, 3, 13 }, new int[] { 2, 3, 2, 13 }, // Mattock
- new int[] { 1, 0, 2, 13 }, new int[] { 2, 3, 3, 13 }, // Broadsword
- new int[] { 1, 0, 3, 13 }, new int[] { 2, 3, 3, 13 }, // Longsword
- new int[] { 1, 0, 4, 13 }, new int[] { 2, 3, 3, 13 }, // Rapier
- new int[] { 7, 0, 4, 13 }, new int[] { 2, 3, 3, 13 }, // Dagger
- new int[] { 4, 0, 13, 13 }, new int[] { 2, 3, 13, 13 }, // Frying
- // Pan
- new int[] { 5, 0, 13, 13 }, new int[] { 2, 3, 13, 13 }, // Battlesign
- new int[] { 7, 0, 13, 13 }, new int[] { 3, 3, 13, 13 } // Chisel
- };
-
- static String[] toolNames = { "Repair and Modification", "Pickaxe", "Shovel", "Hatchet",
- // "Lumber Axe",
- // "Ice Axe",
- "Mattock", "Broadsword", "Longsword", "Rapier", "Dagger", "Frying Pan", "Battlesign", "Chisel" };
-
- static String[] toolDescriptions = {
- "The main way to repair or change your tools. Place a tool and a material on the left to get started.",
- "The Pickaxe is a precise mining tool. It is effective on stone and ores.\n\nRequired parts:\n- Pickaxe Head\n- Tool Binding\n- Handle",
- "The Shovel is a precise digging tool. It is effective on dirt, sand, and snow.\n\nRequired parts:\n- Shovel Head\n- Handle",
- "The Hatchet is a basic chopping tool. It is effective on wood and leaves.\n\nRequired parts:\n- Axe Head\n- Handle",
- // "The Lumber Axe is a broad chopping tool. It harvests wood in a wide range and can fell entire trees.\n\nRequired parts:\n- Broad Axe Head\n- Handle",
- // "The Ice Axe is a tool for harvesting ice, mining, and attacking foes.\n\nSpecial Ability:\n- Wall Climb\nNatural Ability:\n- Ice Harvest\nDamage: Moderate\n\nRequired parts:\n- Pickaxe Head\n- Spike\n- Handle",
- "The Cutter Mattock is a versatile farming tool. It is effective on wood, dirt, and plants.\n\nSpecial Ability: Hoe\n\nRequired parts:\n- Axe Head\n- Shovel Head\n- Handle",
- "The Broadsword is a defensive weapon. Blocking cuts damage in half.\n\nSpecial Ability: Block\nDamage: Moderate\nDurability: High\n\nRequired parts:\n- Sword Blade\n- Wide Guard\n- Handle",
- "The Longsword is an offensive weapon. It is often used for charging into battle at full speed.\n\nNatural Ability:\n- Charge Boost\nSpecial Ability: Lunge\n\nDamage: Moderate\nDurability: Moderate",
- "The Rapier is a special weapon that relies on quick strikes to defeat foes.\n\nNatural Abilities:\n- Armor Pierce\n- Quick Strike\n- Charge Boost\nSpecial Ability:\n- Backpedal\n\nDamage: Low\nDurability: Low",
- "The Dagger is a short blade that can be thrown.\n\nSpecial Ability:\n- Throw Item\n\nDamage: Low\nDurability: Moderate\n\nRequired parts:\n- Knife Blade\n- Crossbar\n- Handle",
- "The Frying is a heavy weapon that uses sheer weight to stun foes.\n\nSpecial Ability: Block\nNatural Ability: Heavy\nShift+rClick: Place Frying Pan\nDamage: Low\nDurability: High\n\nRequired parts:\n- Pan\n- Handle",
- // "The Battlesign is an advance in weapon technology worthy of Zombie Pigmen everywhere.\n\nSpecial Ability: Block\nShift-rClick: Place sign\nDamage: Low\nDurability: Average\n\nRequired parts:\n- Board\n- Handle"
- "The Battlesign is an advance in weapon technology worthy of Zombie Pigmen everywhere.\n\nSpecial Ability: Block\nDamage: Low\nDurability: Average\n\nRequired parts:\n- Sign Board\n- Handle",
- "The Chisel is a utility tool that carves shapes into blocks.\n\nCrafting Grid:\n- Shape Items\nSpecial Ability: Chisel\nDurability: Average\n\nRequired parts:\n- Chisel Head\n- Handle" };
-
- void addToolButtons ()
- {
- for (int i = 0; i < toolNames.length; i++)
- {
- addToolButton(itemIcons[i][0], itemIcons[i][1], itemIcons[i][2], iconCoords[i * 2], iconCoords[i * 2 + 1], toolNames[i], toolDescriptions[i]);
- }
-
- addToolButton(3, 9, 1, new int[] { 0, 10, 0, 13 }, new int[] { 3, 3, 3, 13 }, "Shortbow",
- "The Shortbow is a ranged weapon. It fires arrows quickly and precisely at its foes.\n\nDraw Speed: Quick\n\nRequired parts:\n- Tool Rod\n- Bowstring\n- Tool Rod");
- addToolButton(7, 10, 1, new int[] { 11, 0, 12, 13 }, new int[] { 3, 3, 3, 13 }, "Arrow",
- "Arrows are projectiles usually fired from bows.\n\nRequired parts:\n- Arrowhead\n- Tool Rod\n- Fletching");
- addTierTwoButton(6, 13, 0, new int[] { 11, 8, 9, 9 }, new int[] { 2, 3, 2, 2 }, "Hammer",
- "The Hammer is a broad mining tool. It harvests blocks in a wide range and is effective against undead.\n\nNatural Abilities:\nArea of Effect\n- (3x3)\n- Smite\n\nDurability: High");
- addTierTwoButton(5, 11, 0, new int[] { 6, 8, 9, 9 }, new int[] { 2, 3, 2, 3 }, "Lumber Axe",
- "The Lumber Axe is a broad chopping tool. It can fell entire trees or gather wood in a wide range.\n\nNatural Abilities:\nArea of Effect\n- Fell Trees\n- (3x3x3)\n\nDurability: Average");
- addTierTwoButton(5, 12, 0, new int[] { 10, 8, 9, 9 }, new int[] { 2, 3, 2, 3 }, "Excavator",
- "The Excavator is a broad digging tool. It harvests soil and snow in a wide range.\n\nNatural Ability:\n- Area of Effect\n- (3x3)\n\nDurability: Average");
- addTierTwoButton(4, 10, 0, new int[] { 8, 8, 9, 8 }, new int[] { 2, 3, 3, 3 }, "Scythe",
- "The Scythe is a broad reaping tool. It is effective on plants and attacks enemies in a wide range.\n\nNatural Ability:\nArea of Effect\n- (3x3x3)\n\nDurability: Average\nDamage: Low, AoE");
- addTierTwoButton(5, 7, 1, new int[] { 6, 8, 9, 8 }, new int[] { 3, 3, 2, 3 }, "Cleaver",
- "The Cleaver is a heavy defensive weapon. It has powerful strikes, but is difficult to wield.\n\nSpecial Ability: Block\nNatural Ability:\n- Beheading\n\nDamage: High\nDurability: Average");
- addTierTwoButton(5, 8, 1, new int[] { 6, 8, 6, 9 }, new int[] { 2, 3, 2, 3 }, "Battleaxe",
- "The Battleaxe is a heavy offensive weapon. It is capable of bringing down small trees and can send foes flying.\n\nSpecial Ability: Block\nNatural Abilities:"
- + "\n- Knockback\n- Area of Effect\n- (1x9)\n\nDamage: Average\nDurability: Average");
- }
-
- void addToolButton (int slotType, int xButton, int yButton, int[] xIcons, int[] yIcons, String title, String body)
- {
- TConstructClientRegistry.addToolButton(new ToolGuiElement(slotType, xButton, yButton, xIcons, yIcons, title, body, "tinker", "textures/gui/icons.png"));
- }
-
- void addTierTwoButton (int slotType, int xButton, int yButton, int[] xIcons, int[] yIcons, String title, String body)
- {
- TConstructClientRegistry.addTierTwoButton(new ToolGuiElement(slotType, xButton, yButton, xIcons, yIcons, title, body, "tinker", "textures/gui/icons.png"));
- }
-
- void addRenderMappings ()
- {
- String[] partTypes = { "wood", "stone", "iron", "flint", "cactus", "bone", "obsidian", "netherrack", "slime", "paper", "cobalt", "ardite", "manyullyn", "copper", "bronze", "alumite", "steel",
- "blueslime", "pigiron" };
- String[] effectTypes = { "diamond", "emerald", "redstone", "piston", "moss", "ice", "lava", "blaze", "necrotic", "electric", "lapis", "quartz", "silk", "beheading", "smite", "spider",
- "reinforced", "flux" };
- int[] universalEffects = { 0, 1, 4, 9, 16, 17 };
- int[] weaponEffects = { 3, 5, 7, 13, 14, 15 };
- int[] harvestEffects = { 2 };
- int[] nonUtility = { 6, 8, 10, 11, 12 };
-
- for (int partIter = 0; partIter < partTypes.length; partIter++)
- {
- TConstructClientRegistry.addMaterialRenderMapping(partIter, "tinker", partTypes[partIter], true);
- }
-
- for (ToolCore tool : TConstructRegistry.getToolMapping())
- {
- for (int i = 0; i < effectTypes.length; i++)
- {
- TConstructClientRegistry.addEffectRenderMapping(tool, i, "tinker", effectTypes[i], true);
- }
- }
-
- String[] bowstringTypes = { "string", "magicfabric", "flamestring" };
- for (int bowIter = 0; bowIter < bowstringTypes.length; bowIter++)
- {
- TConstructClientRegistry.addAlternateMaterialRenderMapping(TContent.shortbow, bowIter, "tinker", bowstringTypes[bowIter], true);
- }
-
- String[] fletching = { "feather", "leaf", "slime", "blueslime" };
- for (int arrowIter = 0; arrowIter < fletching.length; arrowIter++)
- {
- TConstructClientRegistry.addAlternateMaterialRenderMapping(TContent.arrow, arrowIter, "tinker", fletching[arrowIter], true);
- }
- }
-
- /* Keybindings */
- public static TControls controlInstance;
-
- public void registerKeys ()
- {
- controlInstance = new TControls();
- TickRegistry.registerTickHandler(controlInstance, Side.CLIENT);
- uploadKeyBindingsToGame(Minecraft.getMinecraft().gameSettings, controlInstance);
-
- TabRegistry.registerTab(new InventoryTabVanilla());
- TabRegistry.registerTab(new InventoryTabArmorExtended());
- TabRegistry.registerTab(new InventoryTabKnapsack());
- }
-
- public void uploadKeyBindingsToGame (GameSettings settings, TKeyHandler keyhandler)
- {
- ArrayList harvestedBindings = Lists.newArrayList();
- for (KeyBinding kb : keyhandler.keyBindings)
- {
- harvestedBindings.add(kb);
- }
-
- KeyBinding[] modKeyBindings = harvestedBindings.toArray(new KeyBinding[harvestedBindings.size()]);
- KeyBinding[] allKeys = new KeyBinding[settings.keyBindings.length + modKeyBindings.length];
- System.arraycopy(settings.keyBindings, 0, allKeys, 0, settings.keyBindings.length);
- System.arraycopy(modKeyBindings, 0, allKeys, settings.keyBindings.length, modKeyBindings.length);
- settings.keyBindings = allKeys;
- settings.loadOptions();
- }
-
- public void spawnParticle (String particle, double xPos, double yPos, double zPos, double velX, double velY, double velZ)
- {
- this.doSpawnParticle(particle, xPos, yPos, zPos, velX, velY, velZ);
- }
-
- public EntityFX doSpawnParticle (String par1Str, double par2, double par4, double par6, double par8, double par10, double par12)
- {
- if (this.mc == null)
- this.mc = Minecraft.getMinecraft();
-
- if (this.mc.renderViewEntity != null && this.mc.effectRenderer != null)
- {
- int i = this.mc.gameSettings.particleSetting;
-
- if (i == 1 && mc.theWorld.rand.nextInt(3) == 0)
- {
- i = 2;
- }
-
- double d6 = this.mc.renderViewEntity.posX - par2;
- double d7 = this.mc.renderViewEntity.posY - par4;
- double d8 = this.mc.renderViewEntity.posZ - par6;
- EntityFX entityfx = null;
-
- if (par1Str.equals("hugeexplosion"))
- {
- this.mc.effectRenderer.addEffect(entityfx = new EntityHugeExplodeFX(mc.theWorld, par2, par4, par6, par8, par10, par12));
- }
- else if (par1Str.equals("largeexplode"))
- {
- this.mc.effectRenderer.addEffect(entityfx = new EntityLargeExplodeFX(mc.renderEngine, mc.theWorld, par2, par4, par6, par8, par10, par12));
- }
- else if (par1Str.equals("fireworksSpark"))
- {
- this.mc.effectRenderer.addEffect(entityfx = new EntityFireworkSparkFX(mc.theWorld, par2, par4, par6, par8, par10, par12, this.mc.effectRenderer));
- }
-
- if (entityfx != null)
- {
- return (EntityFX) entityfx;
- }
- else
- {
- double d9 = 16.0D;
-
- if (d6 * d6 + d7 * d7 + d8 * d8 > d9 * d9)
- {
- return null;
- }
- else if (i > 1)
- {
- return null;
- }
- else
- {
- if (par1Str.equals("bubble"))
- {
- entityfx = new EntityBubbleFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("suspended"))
- {
- entityfx = new EntitySuspendFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("depthsuspend"))
- {
- entityfx = new EntityAuraFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("townaura"))
- {
- entityfx = new EntityAuraFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("crit"))
- {
- entityfx = new EntityCritFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("smoke"))
- {
- entityfx = new EntitySmokeFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("mobSpell"))
- {
- entityfx = new EntitySpellParticleFX(mc.theWorld, par2, par4, par6, 0.0D, 0.0D, 0.0D);
- ((EntityFX) entityfx).setRBGColorF((float) par8, (float) par10, (float) par12);
- }
- else if (par1Str.equals("mobSpellAmbient"))
- {
- entityfx = new EntitySpellParticleFX(mc.theWorld, par2, par4, par6, 0.0D, 0.0D, 0.0D);
- ((EntityFX) entityfx).setAlphaF(0.15F);
- ((EntityFX) entityfx).setRBGColorF((float) par8, (float) par10, (float) par12);
- }
- else if (par1Str.equals("spell"))
- {
- entityfx = new EntitySpellParticleFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("instantSpell"))
- {
- entityfx = new EntitySpellParticleFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- ((EntitySpellParticleFX) entityfx).setBaseSpellTextureIndex(144);
- }
- else if (par1Str.equals("witchMagic"))
- {
- entityfx = new EntitySpellParticleFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- ((EntitySpellParticleFX) entityfx).setBaseSpellTextureIndex(144);
- float f = mc.theWorld.rand.nextFloat() * 0.5F + 0.35F;
- ((EntityFX) entityfx).setRBGColorF(1.0F * f, 0.0F * f, 1.0F * f);
- }
- else if (par1Str.equals("note"))
- {
- entityfx = new EntityNoteFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("portal"))
- {
- entityfx = new EntityPortalFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("enchantmenttable"))
- {
- entityfx = new EntityEnchantmentTableParticleFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("explode"))
- {
- entityfx = new EntityExplodeFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("flame"))
- {
- entityfx = new EntityFlameFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("lava"))
- {
- entityfx = new EntityLavaFX(mc.theWorld, par2, par4, par6);
- }
- else if (par1Str.equals("footstep"))
- {
- entityfx = new EntityFootStepFX(mc.renderEngine, mc.theWorld, par2, par4, par6);
- }
- else if (par1Str.equals("splash"))
- {
- entityfx = new EntitySplashFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("largesmoke"))
- {
- entityfx = new EntitySmokeFX(mc.theWorld, par2, par4, par6, par8, par10, par12, 2.5F);
- }
- else if (par1Str.equals("cloud"))
- {
- entityfx = new EntityCloudFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("reddust"))
- {
- entityfx = new EntityReddustFX(mc.theWorld, par2, par4, par6, (float) par8, (float) par10, (float) par12);
- }
- else if (par1Str.equals("snowballpoof"))
- {
- entityfx = new EntityBreakingFX(mc.theWorld, par2, par4, par6, Item.snowball);
- }
- else if (par1Str.equals("dripWater"))
- {
- entityfx = new EntityDropParticleFX(mc.theWorld, par2, par4, par6, Material.water);
- }
- else if (par1Str.equals("dripLava"))
- {
- entityfx = new EntityDropParticleFX(mc.theWorld, par2, par4, par6, Material.lava);
- }
- else if (par1Str.equals("snowshovel"))
- {
- entityfx = new EntitySnowShovelFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("blueslime"))
- {
- entityfx = new EntityBreakingFX(mc.theWorld, par2, par4, par6, TContent.strangeFood);
- }
- else if (par1Str.equals("heart"))
- {
- entityfx = new EntityHeartFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- }
- else if (par1Str.equals("angryVillager"))
- {
- entityfx = new EntityHeartFX(mc.theWorld, par2, par4 + 0.5D, par6, par8, par10, par12);
- ((EntityFX) entityfx).setParticleTextureIndex(81);
- ((EntityFX) entityfx).setRBGColorF(1.0F, 1.0F, 1.0F);
- }
- else if (par1Str.equals("happyVillager"))
- {
- entityfx = new EntityAuraFX(mc.theWorld, par2, par4, par6, par8, par10, par12);
- ((EntityFX) entityfx).setParticleTextureIndex(82);
- ((EntityFX) entityfx).setRBGColorF(1.0F, 1.0F, 1.0F);
- }
-
- if (entityfx != null)
- {
- this.mc.effectRenderer.addEffect((EntityFX) entityfx);
- }
-
- return (EntityFX) entityfx;
- }
- }
- }
- else
- {
- return null;
- }
- }
-
- @Override
- public void postInit ()
- {
- //MinecraftForgeClient.registerItemRenderer(TContent.armorPattern.itemID, new RenderArmorCast());
- }
-
-}
diff --git a/src/main/java/tconstruct/client/ToolCoreRenderer.java b/src/main/java/tconstruct/client/ToolCoreRenderer.java
deleted file mode 100644
index f0057f73..00000000
--- a/src/main/java/tconstruct/client/ToolCoreRenderer.java
+++ /dev/null
@@ -1,258 +0,0 @@
-package tconstruct.client;
-
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraftforge.client.IItemRenderer;
-
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-
-import tconstruct.TConstruct;
-import tconstruct.library.tools.ToolCore;
-
-public class ToolCoreRenderer implements IItemRenderer
-{
- @Override
- public boolean handleRenderType (ItemStack item, ItemRenderType type)
- {
- switch (type)
- {
- case ENTITY:
- return true;
- case EQUIPPED:
- GL11.glTranslatef(0.03f, 0F, -0.09375F);
- case EQUIPPED_FIRST_PERSON:
- case INVENTORY:
- return true;
- default:
- TConstruct.logger.warning("[TCon] Unhandled render case!");
- case FIRST_PERSON_MAP:
- return false;
- }
- }
-
- @Override
- public boolean shouldUseRenderHelper (ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- return handleRenderType(item, type) & helper.ordinal() < ItemRendererHelper.EQUIPPED_BLOCK.ordinal();
- }
-
- private static final int toolIcons = 10;
-
- @Override
- public void renderItem (ItemRenderType type, ItemStack item, Object... data)
- {
- ToolCore tool = (ToolCore) item.getItem();
-
- boolean isInventory = type == ItemRenderType.INVENTORY;
- Entity ent = null;
- if (data.length > 1)
- ent = (Entity) data[1];
-
- int iconParts = toolIcons;//tool.getRenderPasses(item.getItemDamage());
-
- Icon[] tempParts = new Icon[iconParts];
- label:
- {
- if (!isInventory && ent instanceof EntityPlayer)
- {
- EntityPlayer player = (EntityPlayer) ent;
- ItemStack itemInUse = player.getItemInUse();
- if (itemInUse != null)
- {
- int useCount = player.getItemInUseCount();
- for (int i = iconParts; i-- > 0;)
- tempParts[i] = tool.getIcon(item, i, player, itemInUse, useCount);
- break label;
- }
- }
- for (int i = iconParts; i-- > 0;)
- tempParts[i] = tool.getIcon(item, i);
- }
-
- int count = 0;
- Icon[] parts = new Icon[iconParts];
- for (int i = 0; i < iconParts; ++i)
- {
- Icon part = tempParts[i];
- if (part == null)// || part == ToolCore.blankSprite | part == ToolCore.emptyIcon)
- ++count;
- else
- parts[i - count] = part;
- }
- iconParts -= count;
-
- if (iconParts <= 0)
- {
- iconParts = 1;
- // TODO: assign default sprite
- // parts = new Icon[]{ defaultSprite };
- }
-
- Tessellator tess = Tessellator.instance;
- float[] xMax = new float[iconParts];
- float[] yMin = new float[iconParts];
- float[] xMin = new float[iconParts];
- float[] yMax = new float[iconParts];
- int[] sheetWidth = new int[iconParts];
- int[] sheetHeight = new int[iconParts];
- float depth = 1f / 16f;
-
- float[] width = new float[iconParts];
- float[] height = new float[iconParts];
- float[] xDiff = new float[iconParts];
- float[] yDiff = new float[iconParts];
- float[] xSub = new float[iconParts];
- float[] ySub = new float[iconParts];
- for (int i = 0; i < iconParts; ++i)
- {
- Icon icon = parts[i];
- xMin[i] = icon.getMinU();
- xMax[i] = icon.getMaxU();
- yMin[i] = icon.getMinV();
- yMax[i] = icon.getMaxV();
- sheetWidth[i] = icon.getIconWidth();
- sheetHeight[i] = icon.getIconHeight();
- xDiff[i] = xMin[i] - xMax[i];
- yDiff[i] = yMin[i] - yMax[i];
- width[i] = sheetWidth[i] * xDiff[i];
- height[i] = sheetHeight[i] * yDiff[i];
- xSub[i] = 0.5f * (xMax[i] - xMin[i]) / sheetWidth[i];
- ySub[i] = 0.5f * (yMax[i] - yMin[i]) / sheetHeight[i];
- }
- GL11.glPushMatrix();
-
- if (type == ItemRenderType.INVENTORY)
- {
- GL11.glDisable(GL11.GL_LIGHTING);
- tess.startDrawingQuads();
- for (int i = 0; i < iconParts; ++i)
- {
- tess.addVertexWithUV(0, 16, 0, xMin[i], yMax[i]);
- tess.addVertexWithUV(16, 16, 0, xMax[i], yMax[i]);
- tess.addVertexWithUV(16, 0, 0, xMax[i], yMin[i]);
- tess.addVertexWithUV(0, 0, 0, xMin[i], yMin[i]);
- }
- tess.draw();
- GL11.glEnable(GL11.GL_LIGHTING);
- }
- else
- {
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
-
- switch (type)
- {
- case EQUIPPED_FIRST_PERSON:
- break;
- case EQUIPPED:
- GL11.glTranslatef(0, -4 / 16f, 0);
- break;
- case ENTITY:
- GL11.glTranslatef(0, 4 / 16f, 0);
- break;
- default:
- }
-
- tess.startDrawingQuads();
- tess.setNormal(0, 0, 1);
- for (int i = 0; i < iconParts; ++i)
- {
- tess.addVertexWithUV(0, 0, 0, xMax[i], yMax[i]);
- tess.addVertexWithUV(1, 0, 0, xMin[i], yMax[i]);
- tess.addVertexWithUV(1, 1, 0, xMin[i], yMin[i]);
- tess.addVertexWithUV(0, 1, 0, xMax[i], yMin[i]);
- }
- tess.draw();
- tess.startDrawingQuads();
- tess.setNormal(0, 0, -1);
- for (int i = 0; i < iconParts; ++i)
- {
- tess.addVertexWithUV(0, 1, -depth, xMax[i], yMin[i]);
- tess.addVertexWithUV(1, 1, -depth, xMin[i], yMin[i]);
- tess.addVertexWithUV(1, 0, -depth, xMin[i], yMax[i]);
- tess.addVertexWithUV(0, 0, -depth, xMax[i], yMax[i]);
- }
- tess.draw();
- tess.startDrawingQuads();
- tess.setNormal(-1, 0, 0);
- int k;
- float pos;
- float iconPos;
-
- for (int i = 0; i < iconParts; ++i)
- {
- for (k = 0; k < width[i]; ++k)
- {
- pos = k / width[i];
- iconPos = xMax[i] + xDiff[i] * pos - xSub[i];
- tess.addVertexWithUV(pos, 0, -depth, iconPos, yMax[i]);
- tess.addVertexWithUV(pos, 0, 0, iconPos, yMax[i]);
- tess.addVertexWithUV(pos, 1, 0, iconPos, yMin[i]);
- tess.addVertexWithUV(pos, 1, -depth, iconPos, yMin[i]);
- }
- }
-
- tess.draw();
- tess.startDrawingQuads();
- tess.setNormal(1, 0, 0);
- float posEnd;
-
- for (int i = 0; i < iconParts; ++i)
- {
- for (k = 0; k < width[i]; ++k)
- {
- pos = k / width[i];
- iconPos = xMax[i] + xDiff[i] * pos - xSub[i];
- posEnd = pos + 1 / width[i];
- tess.addVertexWithUV(posEnd, 1, -depth, iconPos, yMin[i]);
- tess.addVertexWithUV(posEnd, 1, 0, iconPos, yMin[i]);
- tess.addVertexWithUV(posEnd, 0, 0, iconPos, yMax[i]);
- tess.addVertexWithUV(posEnd, 0, -depth, iconPos, yMax[i]);
- }
- }
-
- tess.draw();
- tess.startDrawingQuads();
- tess.setNormal(0, 1, 0);
-
- for (int i = 0; i < iconParts; ++i)
- {
- for (k = 0; k < height[i]; ++k)
- {
- pos = k / height[i];
- iconPos = yMax[i] + yDiff[i] * pos - ySub[i];
- posEnd = pos + 1 / height[i];
- tess.addVertexWithUV(0, posEnd, 0, xMax[i], iconPos);
- tess.addVertexWithUV(1, posEnd, 0, xMin[i], iconPos);
- tess.addVertexWithUV(1, posEnd, -depth, xMin[i], iconPos);
- tess.addVertexWithUV(0, posEnd, -depth, xMax[i], iconPos);
- }
- }
-
- tess.draw();
- tess.startDrawingQuads();
- tess.setNormal(0, -1, 0);
-
- for (int i = 0; i < iconParts; ++i)
- {
- for (k = 0; k < height[i]; ++k)
- {
- pos = k / height[i];
- iconPos = yMax[i] + yDiff[i] * pos - ySub[i];
- tess.addVertexWithUV(1, pos, 0, xMin[i], iconPos);
- tess.addVertexWithUV(0, pos, 0, xMax[i], iconPos);
- tess.addVertexWithUV(0, pos, -depth, xMax[i], iconPos);
- tess.addVertexWithUV(1, pos, -depth, xMin[i], iconPos);
- }
- }
-
- tess.draw();
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- }
-
- GL11.glPopMatrix();
- }
-}
diff --git a/src/main/java/tconstruct/client/armor/RenderArmorCast.java b/src/main/java/tconstruct/client/armor/RenderArmorCast.java
deleted file mode 100644
index 8eeefe65..00000000
--- a/src/main/java/tconstruct/client/armor/RenderArmorCast.java
+++ /dev/null
@@ -1,246 +0,0 @@
-package tconstruct.client.armor;
-
-import java.util.*;
-
-import org.lwjgl.opengl.*;
-
-import tconstruct.items.ArmorPattern;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.*;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.common.ForgeDirection;
-
-public class RenderArmorCast implements IItemRenderer
-{
-
- @Override
- public boolean handleRenderType (ItemStack item, ItemRenderType type)
- {
- return type != ItemRenderType.FIRST_PERSON_MAP;
- }
-
- @Override
- public boolean shouldUseRenderHelper (ItemRenderType type, ItemStack item, ItemRendererHelper helper)
- {
- switch (helper)
- {
- case BLOCK_3D:
- return true;
- case ENTITY_BOBBING:
- return true;
- case ENTITY_ROTATION:
- return true;
- case EQUIPPED_BLOCK:
- return true;
- case INVENTORY_BLOCK:
- return true;
- default:
- return false;
- }
- }
-
- @Override
- public void renderItem (ItemRenderType type, ItemStack item, Object... data)
- {
- RenderBlocks renderer = Minecraft.getMinecraft().renderGlobal.globalRenderBlocks;
- Tessellator tessellator = Tessellator.instance;
- Icon baseIcon = item.getItem() instanceof ArmorPattern ? ((ArmorPattern) item.getItem()).getBaseIcon() : item.getIconIndex();
- GL11.glPushMatrix();
- switch (type)
- {
- case ENTITY:
- GL11.glScalef(0.8F, 0.33F, 0.8F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- break;
- case INVENTORY:
- GL11.glScalef(1F, 0.6F, 1F);
- GL11.glTranslatef(0F, -0.1F, 0F);
- break;
- case EQUIPPED:
- GL11.glScalef(1F, 0.6F, 1F);
- break;
- case EQUIPPED_FIRST_PERSON:
- GL11.glScalef(1F, 0.6F, 1F);
- break;
- default:
- break;
- }
- renderer.setRenderBounds(0.1F, 0.1F, 0.1F, 0.9F, 0.83F, 0.9F);
- renderCube(tessellator, renderer, baseIcon);
- renderer.setRenderBounds(0.1F, 0.1F, 0.1F, 0.9F, 1.0F, 0.9F);
- ArrayList sides = new ArrayList();
- sides.add(ForgeDirection.NORTH);
- sides.add(ForgeDirection.SOUTH);
- sides.add(ForgeDirection.EAST);
- sides.add(ForgeDirection.WEST);
- renderSelectedCube(tessellator, renderer, baseIcon, sides);
- renderCastTop(item, type);
-
- GL11.glPopMatrix();
- }
-
- public void renderCube (Tessellator tessellator, RenderBlocks renderer, Icon icon)
- {
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1F, 0F, 0F);
- renderer.renderFaceXNeg((Block) null, 0F, 0F, 0F, icon);
- tessellator.setNormal(1F, 0F, 0F);
- renderer.renderFaceXPos((Block) null, 0F, 0F, 0F, icon);
- tessellator.setNormal(0F, -1F, 0F);
- renderer.renderFaceYNeg((Block) null, 0F, 0F, 0F, icon);
- tessellator.setNormal(0F, 1F, 0F);
- renderer.renderFaceYPos((Block) null, 0F, 0F, 0F, icon);
- tessellator.setNormal(0F, 0F, -1F);
- renderer.renderFaceZNeg((Block) null, 0F, 0F, 0F, icon);
- tessellator.setNormal(0F, 0F, 1F);
- renderer.renderFaceZPos((Block) null, 0F, 0F, 0F, icon);
- tessellator.draw();
- }
-
- public void renderSelectedCube (Tessellator tessellator, RenderBlocks renderer, Icon icon, List sidesToRender)
- {
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1F, 0F, 0F);
- if (sidesToRender.contains(ForgeDirection.WEST))
- renderer.renderFaceXNeg((Block) null, 0F, 0F, 0F, icon);
- tessellator.setNormal(1F, 0F, 0F);
- if (sidesToRender.contains(ForgeDirection.EAST))
- renderer.renderFaceXPos((Block) null, 0F, 0F, 0F, icon);
- tessellator.setNormal(0F, -1F, 0F);
- if (sidesToRender.contains(ForgeDirection.DOWN))
- renderer.renderFaceYNeg((Block) null, 0F, 0F, 0F, icon);
- tessellator.setNormal(0F, 1F, 0F);
- if (sidesToRender.contains(ForgeDirection.UP))
- renderer.renderFaceYPos((Block) null, 0F, 0F, 0F, icon);
- tessellator.setNormal(0F, 0F, -1F);
- if (sidesToRender.contains(ForgeDirection.SOUTH))
- renderer.renderFaceZNeg((Block) null, 0F, 0F, 0F, icon);
- tessellator.setNormal(0F, 0F, 1F);
- if (sidesToRender.contains(ForgeDirection.NORTH))
- renderer.renderFaceZPos((Block) null, 0F, 0F, 0F, icon);
- tessellator.draw();
- }
-
- public void renderCastTop (ItemStack par1ItemStack, ItemRenderType type)
- {
- GL11.glPushMatrix();
- Icon icon = par1ItemStack.getIconIndex();
-
- if (icon == null)
- {
- GL11.glPopMatrix();
- return;
- }
- TextureManager texturemanager = Minecraft.getMinecraft().renderEngine;
- texturemanager.bindTexture(texturemanager.getResourceLocation(par1ItemStack.getItemSpriteNumber()));
- Tessellator tessellator = Tessellator.instance;
- float f = icon.getMinU();
- float f1 = icon.getMaxU();
- float f2 = icon.getMinV();
- float f3 = icon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glTranslatef(-f4, -f5, 0.0F);
- float f6 = 1.5F;
- GL11.glRotatef(90F, 90F, 0F, 0F);
- GL11.glScalef(0.9F, 0.9F, 2F);
- GL11.glTranslatef(0.05F, 0.05F, -0.6F);
- renderItemIn2D(tessellator, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
- GL11.glScalef(0.8F, 0.8F, 0.9F);
- GL11.glTranslatef(0.125F, 0.125F, 0.05F);
- renderItemIn2D(tessellator, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
- GL11.glScalef(0.6F, 0.6F, 0.6F);
- GL11.glTranslatef(0.335F, 0.335F, 0.05F);
- renderItemIn2D(tessellator, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
-
- GL11.glPopMatrix();
- }
-
- public static void renderItemIn2D (Tessellator par0Tessellator, float par1, float par2, float par3, float par4, float par5, float par6, float par7)
- {
- par0Tessellator.startDrawingQuads();
- par0Tessellator.setNormal(0.0F, 0.0F, 1.0F);
- par0Tessellator.addVertexWithUV(0.0D, 0.0D, 0.0D, (double) par1, (double) par4);
- par0Tessellator.addVertexWithUV(1.0D, 0.0D, 0.0D, (double) par3, (double) par4);
- par0Tessellator.addVertexWithUV(1.0D, 1.0D, 0.0D, (double) par3, (double) par2);
- par0Tessellator.addVertexWithUV(0.0D, 1.0D, 0.0D, (double) par1, (double) par2);
- par0Tessellator.draw();
- par0Tessellator.startDrawingQuads();
- par0Tessellator.setNormal(0.0F, 0.0F, -1.0F);
- par0Tessellator.addVertexWithUV(0.0D, 1.0D, (double) (0.0F - par7), (double) par1, (double) par2);
- par0Tessellator.addVertexWithUV(1.0D, 1.0D, (double) (0.0F - par7), (double) par3, (double) par2);
- par0Tessellator.addVertexWithUV(1.0D, 0.0D, (double) (0.0F - par7), (double) par3, (double) par4);
- par0Tessellator.addVertexWithUV(0.0D, 0.0D, (double) (0.0F - par7), (double) par1, (double) par4);
- par0Tessellator.draw();
- float f5 = 0.5F * (par1 - par3) / (float) par5;
- float f6 = 0.5F * (par4 - par2) / (float) par6;
- par0Tessellator.startDrawingQuads();
- par0Tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- int k;
- float f7;
- float f8;
-
- for (k = 0; k < par5; ++k)
- {
- f7 = (float) k / (float) par5;
- f8 = par1 + (par3 - par1) * f7 - f5;
- par0Tessellator.addVertexWithUV((double) f7, 0.0D, (double) (0.0F - par7), (double) f8, (double) par4);
- par0Tessellator.addVertexWithUV((double) f7, 0.0D, 0.0D, (double) f8, (double) par4);
- par0Tessellator.addVertexWithUV((double) f7, 1.0D, 0.0D, (double) f8, (double) par2);
- par0Tessellator.addVertexWithUV((double) f7, 1.0D, (double) (0.0F - par7), (double) f8, (double) par2);
- }
-
- par0Tessellator.draw();
- par0Tessellator.startDrawingQuads();
- par0Tessellator.setNormal(1.0F, 0.0F, 0.0F);
- float f9;
-
- for (k = 0; k < par5; ++k)
- {
- f7 = (float) k / (float) par5;
- f8 = par1 + (par3 - par1) * f7 - f5;
- f9 = f7 + 1.0F / (float) par5;
- par0Tessellator.addVertexWithUV((double) f9, 1.0D, (double) (0.0F - par7), (double) f8, (double) par2);
- par0Tessellator.addVertexWithUV((double) f9, 1.0D, 0.0D, (double) f8, (double) par2);
- par0Tessellator.addVertexWithUV((double) f9, 0.0D, 0.0D, (double) f8, (double) par4);
- par0Tessellator.addVertexWithUV((double) f9, 0.0D, (double) (0.0F - par7), (double) f8, (double) par4);
- }
-
- par0Tessellator.draw();
- par0Tessellator.startDrawingQuads();
- par0Tessellator.setNormal(0.0F, 1.0F, 0.0F);
-
- for (k = 0; k < par6; ++k)
- {
- f7 = (float) k / (float) par6;
- f8 = par4 + (par2 - par4) * f7 - f6;
- f9 = f7 + 1.0F / (float) par6;
- par0Tessellator.addVertexWithUV(0.0D, (double) f9, 0.0D, (double) par1, (double) f8);
- par0Tessellator.addVertexWithUV(1.0D, (double) f9, 0.0D, (double) par3, (double) f8);
- par0Tessellator.addVertexWithUV(1.0D, (double) f9, (double) (0.0F - par7), (double) par3, (double) f8);
- par0Tessellator.addVertexWithUV(0.0D, (double) f9, (double) (0.0F - par7), (double) par1, (double) f8);
- }
-
- par0Tessellator.draw();
- par0Tessellator.startDrawingQuads();
- par0Tessellator.setNormal(0.0F, -1.0F, 0.0F);
-
- for (k = 0; k < par6; ++k)
- {
- f7 = (float) k / (float) par6;
- f8 = par4 + (par2 - par4) * f7 - f6;
- par0Tessellator.addVertexWithUV(1.0D, (double) f7, 0.0D, (double) par3, (double) f8);
- par0Tessellator.addVertexWithUV(0.0D, (double) f7, 0.0D, (double) par1, (double) f8);
- par0Tessellator.addVertexWithUV(0.0D, (double) f7, (double) (0.0F - par7), (double) par1, (double) f8);
- par0Tessellator.addVertexWithUV(1.0D, (double) f7, (double) (0.0F - par7), (double) par3, (double) f8);
- }
-
- par0Tessellator.draw();
- }
-
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/client/armor/WingModel.java b/src/main/java/tconstruct/client/armor/WingModel.java
deleted file mode 100644
index dc2f51d6..00000000
--- a/src/main/java/tconstruct/client/armor/WingModel.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package tconstruct.client.armor;
-
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
-
-public class WingModel extends ModelBase
-{
- ModelRenderer WingBaseRight;
- ModelRenderer WingEdgeRight;
- ModelRenderer WingInsetRight;
- ModelRenderer WingCenterRight;
- ModelRenderer WingFlangeRight;
- ModelRenderer WingAuxRight;
- ModelRenderer WingBaseLeft;
- ModelRenderer WingEdgeLeft;
- ModelRenderer WingInsetLeft;
- ModelRenderer WingCenterLeft;
- ModelRenderer WingFlangeLeft;
- ModelRenderer WingAuxLeft;
-
- public WingModel()
- {
- textureWidth = 64;
- textureHeight = 64;
-
- //Right Wing
- WingBaseRight = new ModelRenderer(this, 0, 41);
- WingBaseRight.addBox(-0.5F, -1F, 0F, 1, 2, 10);
- WingBaseRight.setRotationPoint(-1F, 1F, 0F);
- setRotation(WingBaseRight, 0.5235988F, -0.5235988F, 0F);
-
- WingEdgeRight = new ModelRenderer(this, 0, 53); //Texture position
- WingEdgeRight.addBox(0F, 0F, -2F, 1, 9, 2); //Offset, Size
- WingEdgeRight.setRotationPoint(-0.502F, -1F, 10F); //Negative x, y - 1, Position
- setRotation(WingEdgeRight, 0.5235988F, 0F, 0F); //Angle in radians
-
- WingInsetRight = new ModelRenderer(this, 6, 53);
- WingInsetRight.addBox(0F, 0F, -1F, 1, 9, 2);
- WingInsetRight.setRotationPoint(-0.504F, 0F, 7.8F);
- setRotation(WingInsetRight, 0.3490659F, 0F, 0F);
-
- WingCenterRight = new ModelRenderer(this, 12, 53);
- WingCenterRight.addBox(0F, 0F, -1F, 1, 9, 2);
- WingCenterRight.setRotationPoint(-0.506F, 0.3F, 6.3F);
- setRotation(WingCenterRight, 0.1745329F, 0F, 0F);
-
- WingFlangeRight = new ModelRenderer(this, 18, 53);
- WingFlangeRight.addBox(0F, 0F, -1F, 1, 8, 2);
- WingFlangeRight.setRotationPoint(-0.508F, 0.3F, 5.1F);
- setRotation(WingFlangeRight, 0F, 0F, 0F);
-
- WingAuxRight = new ModelRenderer(this, 24, 53);
- WingAuxRight.addBox(0F, 0F, -1F, 1, 7, 2);
- WingAuxRight.setRotationPoint(-0.51F, 0.1F, 4F);
- setRotation(WingAuxRight, -0.1745329F, 0F, 0F);
-
- WingBaseRight.addChild(WingEdgeRight);
- WingBaseRight.addChild(WingInsetRight);
- WingBaseRight.addChild(WingCenterRight);
- WingBaseRight.addChild(WingFlangeRight);
- WingBaseRight.addChild(WingAuxRight);
-
- //Left Wing
- WingBaseLeft = new ModelRenderer(this, 42, 41);
- WingBaseLeft.addBox(-0.5F, -1F, 0F, 1, 2, 10);
- WingBaseLeft.setRotationPoint(1F, 1F, 0F);
- setRotation(WingBaseLeft, 0.5235988F, 0.5235988F, 0F);
-
- WingEdgeLeft = new ModelRenderer(this, 58, 53);
- WingEdgeLeft.addBox(0F, 0F, -2F, 1, 9, 2);
- WingEdgeLeft.setRotationPoint(-0.502F, -1F, 10F);
- setRotation(WingEdgeLeft, 0.5235988F, 0F, 0F);
-
- WingInsetLeft = new ModelRenderer(this, 52, 53);
- WingInsetLeft.addBox(0F, 0F, -1F, 1, 9, 2);
- WingInsetLeft.setRotationPoint(-0.504F, 0F, 7.8F);
- setRotation(WingInsetLeft, 0.3490659F, 0F, 0F);
-
- WingCenterLeft = new ModelRenderer(this, 46, 53);
- WingCenterLeft.addBox(0F, 0F, -1F, 1, 9, 2);
- WingCenterLeft.setRotationPoint(-0.506F, 0.3F, 6.3F);
- setRotation(WingCenterLeft, 0.1745329F, 0F, 0F);
-
- WingFlangeLeft = new ModelRenderer(this, 40, 53);
- WingFlangeLeft.addBox(0F, 0F, -1F, 1, 8, 2);
- WingFlangeLeft.setRotationPoint(-0.508F, 0.3F, 5.1F);
- setRotation(WingFlangeLeft, 0F, 0F, 0F);
-
- WingAuxLeft = new ModelRenderer(this, 34, 53);
- WingAuxLeft.addBox(0F, 0F, -1F, 1, 7, 2);
- WingAuxLeft.setRotationPoint(-0.51F, 0.1F, 4F);
- setRotation(WingAuxLeft, -0.1745329F, 0F, 0F);
-
- WingBaseLeft.addChild(WingEdgeLeft);
- WingBaseLeft.addChild(WingInsetLeft);
- WingBaseLeft.addChild(WingCenterLeft);
- WingBaseLeft.addChild(WingFlangeLeft);
- WingBaseLeft.addChild(WingAuxLeft);
- }
-
- 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);
- WingBaseRight.render(f5);
- WingBaseLeft.render(f5);
- }
-
- private void setRotation (ModelRenderer model, float x, float y, float z)
- {
- model.rotateAngleX = x;
- model.rotateAngleY = y;
- model.rotateAngleZ = z;
- }
-
- public void setRotationAngles (float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
- {
- super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
- }
-
-}
diff --git a/src/main/java/tconstruct/client/block/BarricadeRender.java b/src/main/java/tconstruct/client/block/BarricadeRender.java
deleted file mode 100644
index cdccefb0..00000000
--- a/src/main/java/tconstruct/client/block/BarricadeRender.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.world.IBlockAccess;
-import tconstruct.client.TProxyClient;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class BarricadeRender implements ISimpleBlockRenderingHandler
-{
- public static int model;
-
- public BarricadeRender()
- {
- model = RenderingRegistry.getNextAvailableRenderId();
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block barricade, int modelId, RenderBlocks renderer)
- {
- if (modelId == model)
- {
- int meta = world.getBlockMetadata(x, y, z);
- int type = meta % 4;
-
- if (meta / 4 == 0)
- {
- //if (type >= 0)
- renderer.setRenderBounds(0.125, 0.0, 0.5, 0.375, 1.0, 0.75);
- renderer.renderStandardBlock(barricade, x, y, z);
-
- if (type >= 1)
- {
- renderer.setRenderBounds(0.625, 0.0, 0.5, 0.875, 1.0, 0.75);
- renderer.renderStandardBlock(barricade, x, y, z);
- }
-
- if (type >= 2)
- {
- renderer.setRenderBounds(0.0, 0.125, 0.25, 1.0, 0.375, 0.5);
- renderer.renderStandardBlock(barricade, x, y, z);
- }
-
- if (type >= 3)
- {
- renderer.setRenderBounds(0.0, 0.625, 0.25, 1.0, 0.875, 0.5);
- renderer.renderStandardBlock(barricade, x, y, z);
- }
- }
-
- if (meta / 4 == 1)
- {
- //if (type >= 0)
- renderer.setRenderBounds(0.25, 0.0, 0.125, 0.5, 1.0, 0.375);
- renderer.renderStandardBlock(barricade, x, y, z);
-
- if (type >= 1)
- {
- renderer.setRenderBounds(0.25, 0.0, 0.625, 0.5, 1.0, 0.875);
- renderer.renderStandardBlock(barricade, x, y, z);
- }
-
- if (type >= 2)
- {
- renderer.setRenderBounds(0.5, 0.125, 0.0, 0.75, 0.375, 1.0);
- renderer.renderStandardBlock(barricade, x, y, z);
- }
-
- if (type >= 3)
- {
- renderer.setRenderBounds(0.5, 0.625, 0.0, 0.75, 0.875, 1.0);
- renderer.renderStandardBlock(barricade, x, y, z);
- }
- }
-
- if (meta / 4 == 2)
- {
- //if (type >= 0)
- renderer.setRenderBounds(0.125, 0.0, 0.25, 0.375, 1.0, 0.5);
- renderer.renderStandardBlock(barricade, x, y, z);
-
- if (type >= 1)
- {
- renderer.setRenderBounds(0.625, 0.0, 0.25, 0.875, 1.0, 0.5);
- renderer.renderStandardBlock(barricade, x, y, z);
- }
-
- if (type >= 2)
- {
- renderer.setRenderBounds(0.0, 0.125, 0.5, 1.0, 0.375, 0.75);
- renderer.renderStandardBlock(barricade, x, y, z);
- }
-
- if (type >= 3)
- {
- renderer.setRenderBounds(0.0, 0.625, 0.5, 1.0, 0.875, 0.75);
- renderer.renderStandardBlock(barricade, x, y, z);
- }
- }
-
- if (meta / 4 == 3)
- {
- //if (type >= 0)
- renderer.setRenderBounds(0.5, 0.0, 0.125, 0.75, 1.0, 0.375);
- renderer.renderStandardBlock(barricade, x, y, z);
-
- if (type >= 1)
- {
- renderer.setRenderBounds(0.5, 0.0, 0.625, 0.75, 1.0, 0.875);
- renderer.renderStandardBlock(barricade, x, y, z);
- }
-
- if (type >= 2)
- {
- renderer.setRenderBounds(0.25, 0.125, 0.0, 0.5, 0.375, 1.0);
- renderer.renderStandardBlock(barricade, x, y, z);
- }
-
- if (type >= 3)
- {
- renderer.setRenderBounds(0.25, 0.625, 0.0, 0.5, 0.875, 1.0);
- renderer.renderStandardBlock(barricade, x, y, z);
- }
- }
-
- return true;
- }
- return false;
- }
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
- renderer.setRenderBounds(0.375F, 0.0F, 0.375F, 0.625F, 1.0F, 0.625F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.375F, 0.375F, 0.0F, 0.625F, 0.625F, 1.0F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- }
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return model;
- }
-}
diff --git a/src/main/java/tconstruct/client/block/BlockRenderCastingChannel.java b/src/main/java/tconstruct/client/block/BlockRenderCastingChannel.java
deleted file mode 100644
index e38be3fe..00000000
--- a/src/main/java/tconstruct/client/block/BlockRenderCastingChannel.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package tconstruct.client.block;
-
-import java.util.Set;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.world.IBlockAccess;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTankInfo;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.blocks.logic.CastingChannelLogic;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-/**
- * @author BluSunrize
- */
-
-public class BlockRenderCastingChannel implements ISimpleBlockRenderingHandler
-{
- public static int renderID = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- //Floor
- renderer.setRenderBounds(0.3125D, 0.375D, 0.3125D, 0.6875D, 0.5D, 0.6875D);
- this.renderStandardBlock(block, metadata, renderer);
- //Channel Z-
- renderer.setRenderBounds(0.3125D, 0.375D, 0D, 0.6875D, 0.5D, 0.3125D);
- this.renderStandardBlock(block, metadata, renderer);
- renderer.setRenderBounds(0.3125D, 0.5D, 0D, 0.375D, 0.625D, 0.3125D);
- this.renderStandardBlock(block, metadata, renderer);
- renderer.setRenderBounds(0.625D, 0.5D, 0D, 0.6875D, 0.625D, 0.3125D);
- this.renderStandardBlock(block, metadata, renderer);
- //Channel Z+
- renderer.setRenderBounds(0.3125D, 0.375D, 0.6875D, 0.6875D, 0.5D, 1D);
- this.renderStandardBlock(block, metadata, renderer);
- renderer.setRenderBounds(0.3125D, 0.5D, 0.6875D, 0.375D, 0.625D, 1D);
- this.renderStandardBlock(block, metadata, renderer);
- renderer.setRenderBounds(0.625D, 0.5D, 0.6875D, 0.6875D, 0.625D, 1D);
- this.renderStandardBlock(block, metadata, renderer);
- //Wall X-
- renderer.setRenderBounds(0.3125D, 0.375D, 0.3125D, 0.375D, 0.625D, 0.6875D);
- this.renderStandardBlock(block, metadata, renderer);
- //Wall X+
- renderer.setRenderBounds(0.625D, 0.375D, 0.3125D, 0.6875D, 0.625D, 0.6875D);
- this.renderStandardBlock(block, metadata, renderer);
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
- {
- if (modelID == renderID)
- {
- CastingChannelLogic tile = (CastingChannelLogic) world.getBlockTileEntity(x, y, z);
-
- Set outputs = tile.getOutputs().keySet();
-
- if (!outputs.contains(ForgeDirection.DOWN))//CentrePiece, floor is removed if tank below is found
- {
- renderer.setRenderBounds(0.3125D, 0.375D, 0.3125D, 0.6875D, 0.5D, 0.6875D);
- renderer.renderStandardBlock(block, x, y, z);
- }
- else
- //"Guiding Borders" when tank below is found
- {
- renderer.setRenderBounds(0.375D, 0.125D, 0.3125D, 0.625D, 0.5D, 0.375D);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.375D, 0.125D, 0.625D, 0.625D, 0.5D, 0.6875D);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.3125D, 0.125D, 0.3125D, 0.375D, 0.5D, 0.6875D);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.625D, 0.125D, 0.3125D, 0.6875D, 0.5D, 0.6875D);
- renderer.renderStandardBlock(block, x, y, z);
- }
- if (outputs.contains(ForgeDirection.NORTH))//Channel to Z-
- {
- renderer.setRenderBounds(0.3125D, 0.375D, 0D, 0.6875D, 0.5D, 0.3125D);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.3125D, 0.5D, 0D, 0.375D, 0.625D, 0.3125D);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.625D, 0.5D, 0D, 0.6875D, 0.625D, 0.3125D);
- renderer.renderStandardBlock(block, x, y, z);
- }
- else
- //Wall to Z-
- {
- renderer.setRenderBounds(0.375D, 0.5D, 0.3125D, 0.625D, 0.625D, 0.375D);
- renderer.renderStandardBlock(block, x, y, z);
- }
-
- if (outputs.contains(ForgeDirection.SOUTH))//Channel to Z+
- {
- renderer.setRenderBounds(0.3125D, 0.375D, 0.6875D, 0.6875D, 0.5D, 1D);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.3125D, 0.5D, 0.6875D, 0.375D, 0.625D, 1D);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.625D, 0.5D, 0.6875D, 0.6875D, 0.625D, 1D);
- renderer.renderStandardBlock(block, x, y, z);
- }
- else
- //Wall to Z+
- {
- renderer.setRenderBounds(0.375D, 0.5D, 0.625D, 0.625D, 0.625D, 0.6875D);
- renderer.renderStandardBlock(block, x, y, z);
- }
-
- if (outputs.contains(ForgeDirection.WEST))//Channel to X-
- {
- renderer.setRenderBounds(0D, 0.375D, 0.3125D, 0.3125D, 0.5D, 0.6875D);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0D, 0.5D, 0.3125D, 0.375D, 0.625D, 0.375D);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0D, 0.5D, 0.625D, 0.375D, 0.625D, 0.6875D);
- renderer.renderStandardBlock(block, x, y, z);
- }
- else
- //Wall to X-
- {
- renderer.setRenderBounds(0.3125D, 0.5D, 0.3125D, 0.375D, 0.625D, 0.6875D);
- renderer.renderStandardBlock(block, x, y, z);
- }
-
- if (outputs.contains(ForgeDirection.EAST))//Channel to X+
- {
- renderer.setRenderBounds(0.6875D, 0.375D, 0.3125D, 1D, 0.5D, 0.6875D);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.625D, 0.5D, 0.3125D, 1D, 0.625D, 0.375D);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.625D, 0.5D, 0.625D, 1D, 0.625D, 0.6875D);
- renderer.renderStandardBlock(block, x, y, z);
- }
- else
- //Wall to X+
- {
- renderer.setRenderBounds(0.625D, 0.5D, 0.3125D, 0.6875D, 0.625D, 0.6875D);
- renderer.renderStandardBlock(block, x, y, z);
- }
- FluidTankInfo tankMain = tile.getTankInfo(null)[0];
- if (tankMain.fluid != null)
- {
- float liquidAmount = (float)tankMain.fluid.amount / (float)tankMain.capacity * 0.125f;
- double startY = tile.tankBelow();
- renderer.setRenderBounds(0.375D, startY, 0.375D, 0.625D, 0.5 + liquidAmount, 0.625D); //Center
- renderLiquidPart(world, x, y, z, block, renderer, tankMain.fluid, false);
- }
- for(ForgeDirection dir: outputs)
- {
- double[] bounds = getRenderboundsForLiquid(dir);
- if(bounds == null)
- break;
- FluidTankInfo tankSub = tile.getTankInfo(dir)[0];
- if(tankSub == null || tankSub.fluid == null)
- break;
- float liquidAmount = (float)tankSub.fluid.amount / (float)tankSub.capacity * 0.125f / 2;
- renderer.setRenderBounds(bounds[0], 0.5, bounds[1], bounds[2], 0.5 + liquidAmount, bounds[3]);
- renderLiquidPart(world, x, y, z, block, renderer, tankSub.fluid, true);
- }
- }
- return true;
- }
-
- private double[] getRenderboundsForLiquid(ForgeDirection dir)
- {
- switch(dir)
- {
- case NORTH:
- return new double[]{0.375,0,0.625,0.375};
- case SOUTH:
- return new double[]{0.375,0.625,0.625,1};
- case WEST:
- return new double[]{0,0.375,0.375,0.625};
- case EAST:
- return new double[]{0.625,0.375,1,0.625};
- default:
- return null;
- }
- }
-
- private void renderLiquidPart (IBlockAccess world, int x, int y, int z, Block block, RenderBlocks renderer, FluidStack fluidStack, boolean useFlowingTexture)
- {
- int color = block.colorMultiplier(world, x, y, z);
- float red = (color >> 16 & 0xFF) / 255.0F;
- float green = (color >> 8 & 0xFF) / 255.0F;
- float blue = (color & 0xFF) / 255.0F;
- Fluid fluid = fluidStack.getFluid();
- if (fluid.canBePlacedInWorld() && !useFlowingTexture)
- BlockSkinRenderHelper.renderMetadataBlock(Block.blocksList[fluid.getBlockID()], 0, x, y, z, renderer, world);
- else
- if(useFlowingTexture)
- BlockSkinRenderHelper.renderLiquidBlock(fluid.getFlowingIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world);
- else
- BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world);
- }
-
- private void renderStandardBlock (Block block, int meta, RenderBlocks renderer)
- {
- Tessellator tessellator = Tessellator.instance;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1.0F, 0.0F);
- renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1.0F);
- renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1.0F, 0.0F, 0.0F);
- renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return renderID;
- }
-}
diff --git a/src/main/java/tconstruct/client/block/BlockSkinRenderHelper.java b/src/main/java/tconstruct/client/block/BlockSkinRenderHelper.java
deleted file mode 100644
index eccec619..00000000
--- a/src/main/java/tconstruct/client/block/BlockSkinRenderHelper.java
+++ /dev/null
@@ -1,1687 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.EntityRenderer;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-
-public class BlockSkinRenderHelper
-{
- public static boolean renderMetadataBlock (Block block, int metadata, int x, int y, int z, RenderBlocks renderer, IBlockAccess world)
- {
- int var5 = block.colorMultiplier(world, x, y, z);
- float var6 = (float) (var5 >> 16 & 255) / 255.0F;
- float var7 = (float) (var5 >> 8 & 255) / 255.0F;
- float var8 = (float) (var5 & 255) / 255.0F;
-
- if (EntityRenderer.anaglyphEnable)
- {
- float var9 = (var6 * 30.0F + var7 * 59.0F + var8 * 11.0F) / 100.0F;
- float var10 = (var6 * 30.0F + var7 * 70.0F) / 100.0F;
- float var11 = (var6 * 30.0F + var8 * 70.0F) / 100.0F;
- var6 = var9;
- var7 = var10;
- var8 = var11;
- }
-
- return Minecraft.isAmbientOcclusionEnabled() && Block.lightValue[block.blockID] == 0 ? renderMetadataBlockWithAmbientOcclusion(block, metadata, x, y, z, var6, var7, var8, renderer, world)
- : renderMetadataBlockWithColorMultiplier(block, metadata, x, y, z, var6, var7, var8, renderer, world);
- }
-
- static boolean renderMetadataBlockWithAmbientOcclusion (Block block, int metadata, int xPos, int yPos, int zPos, float colorRed, float colorGreen, float colorBlue, RenderBlocks render,
- IBlockAccess world)
- {
- render.enableAO = true;
- boolean flag = false;
- float f3 = 0.0F;
- float f4 = 0.0F;
- float f5 = 0.0F;
- float f6 = 0.0F;
- boolean flag1 = true;
- int l = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos);
- Tessellator tessellator = Tessellator.instance;
- tessellator.setBrightness(983055);
-
- if (render.getBlockIcon(block).getIconName().equals("grass_top"))
- {
- flag1 = false;
- }
- else if (render.hasOverrideBlockTexture())
- {
- flag1 = false;
- }
-
- boolean flag2;
- boolean flag3;
- boolean flag4;
- boolean flag5;
- float f7;
- int i1;
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos - 1, zPos, 0))
- {
- if (render.renderMinY <= 0.0D)
- {
- --yPos;
- }
-
- render.aoBrightnessXYNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessYZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessYZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoBrightnessXYPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoLightValueScratchXYNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchYZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchYZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos - 1, zPos)];
- flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos - 1, zPos)];
- flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos + 1)];
- flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos - 1)];
-
- if (!flag4 && !flag2)
- {
- render.aoLightValueScratchXYZNNN = render.aoLightValueScratchXYNN;
- render.aoBrightnessXYZNNN = render.aoBrightnessXYNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos - 1);
- render.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos - 1);
- }
-
- if (!flag5 && !flag2)
- {
- render.aoLightValueScratchXYZNNP = render.aoLightValueScratchXYNN;
- render.aoBrightnessXYZNNP = render.aoBrightnessXYNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos + 1);
- render.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos + 1);
- }
-
- if (!flag4 && !flag3)
- {
- render.aoLightValueScratchXYZPNN = render.aoLightValueScratchXYPN;
- render.aoBrightnessXYZPNN = render.aoBrightnessXYPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos - 1);
- render.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos - 1);
- }
-
- if (!flag5 && !flag3)
- {
- render.aoLightValueScratchXYZPNP = render.aoLightValueScratchXYPN;
- render.aoBrightnessXYZPNP = render.aoBrightnessXYPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos + 1);
- render.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos + 1);
- }
-
- if (render.renderMinY <= 0.0D)
- {
- ++yPos;
- }
-
- i1 = l;
-
- if (render.renderMinY <= 0.0D || !render.blockAccess.isBlockOpaqueCube(xPos, yPos - 1, zPos))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- }
-
- f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- f3 = (render.aoLightValueScratchXYZNNP + render.aoLightValueScratchXYNN + render.aoLightValueScratchYZNP + f7) / 4.0F;
- f6 = (render.aoLightValueScratchYZNP + f7 + render.aoLightValueScratchXYZPNP + render.aoLightValueScratchXYPN) / 4.0F;
- f5 = (f7 + render.aoLightValueScratchYZNN + render.aoLightValueScratchXYPN + render.aoLightValueScratchXYZPNN) / 4.0F;
- f4 = (render.aoLightValueScratchXYNN + render.aoLightValueScratchXYZNNN + f7 + render.aoLightValueScratchYZNN) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXYZNNP, render.aoBrightnessXYNN, render.aoBrightnessYZNP, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessYZNP, render.aoBrightnessXYZPNP, render.aoBrightnessXYPN, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessYZNN, render.aoBrightnessXYPN, render.aoBrightnessXYZPNN, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXYNN, render.aoBrightnessXYZNNN, render.aoBrightnessYZNN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.5F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.5F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.5F;
- }
- else
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.5F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.5F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.5F;
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceYNeg(block, (double) xPos, (double) yPos, (double) zPos, block.getIcon(0, metadata));
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos + 1, zPos, 1))
- {
- if (render.renderMaxY >= 1.0D)
- {
- ++yPos;
- }
-
- render.aoBrightnessXYNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessXYPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoBrightnessYZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessYZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchXYPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoLightValueScratchYZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchYZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos + 1, zPos)];
- flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos + 1, zPos)];
- flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos + 1)];
- flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos - 1)];
-
- if (!flag4 && !flag2)
- {
- render.aoLightValueScratchXYZNPN = render.aoLightValueScratchXYNP;
- render.aoBrightnessXYZNPN = render.aoBrightnessXYNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos - 1);
- render.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos - 1);
- }
-
- if (!flag4 && !flag3)
- {
- render.aoLightValueScratchXYZPPN = render.aoLightValueScratchXYPP;
- render.aoBrightnessXYZPPN = render.aoBrightnessXYPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos - 1);
- render.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos - 1);
- }
-
- if (!flag5 && !flag2)
- {
- render.aoLightValueScratchXYZNPP = render.aoLightValueScratchXYNP;
- render.aoBrightnessXYZNPP = render.aoBrightnessXYNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos + 1);
- render.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos + 1);
- }
-
- if (!flag5 && !flag3)
- {
- render.aoLightValueScratchXYZPPP = render.aoLightValueScratchXYPP;
- render.aoBrightnessXYZPPP = render.aoBrightnessXYPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos + 1);
- render.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos + 1);
- }
-
- if (render.renderMaxY >= 1.0D)
- {
- --yPos;
- }
-
- i1 = l;
-
- if (render.renderMaxY >= 1.0D || !render.blockAccess.isBlockOpaqueCube(xPos, yPos + 1, zPos))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- }
-
- f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- f6 = (render.aoLightValueScratchXYZNPP + render.aoLightValueScratchXYNP + render.aoLightValueScratchYZPP + f7) / 4.0F;
- f3 = (render.aoLightValueScratchYZPP + f7 + render.aoLightValueScratchXYZPPP + render.aoLightValueScratchXYPP) / 4.0F;
- f4 = (f7 + render.aoLightValueScratchYZPN + render.aoLightValueScratchXYPP + render.aoLightValueScratchXYZPPN) / 4.0F;
- f5 = (render.aoLightValueScratchXYNP + render.aoLightValueScratchXYZNPN + f7 + render.aoLightValueScratchYZPN) / 4.0F;
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXYZNPP, render.aoBrightnessXYNP, render.aoBrightnessYZPP, i1);
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessYZPP, render.aoBrightnessXYZPPP, render.aoBrightnessXYPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessYZPN, render.aoBrightnessXYPP, render.aoBrightnessXYZPPN, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessXYNP, render.aoBrightnessXYZNPN, render.aoBrightnessYZPN, i1);
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue;
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceYPos(block, (double) xPos, (double) yPos, (double) zPos, block.getIcon(1, metadata));
- flag = true;
- }
-
- Icon icon;
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos - 1, 2))
- {
- if (render.renderMinZ <= 0.0D)
- {
- --zPos;
- }
-
- render.aoLightValueScratchXZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchYZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchYZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoLightValueScratchXZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoBrightnessXZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessYZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessYZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos - 1)];
- flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos - 1)];
- flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos - 1)];
- flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos - 1)];
-
- if (!flag2 && !flag4)
- {
- render.aoLightValueScratchXYZNNN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNNN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos - 1, zPos);
- render.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos - 1, zPos);
- }
-
- if (!flag2 && !flag5)
- {
- render.aoLightValueScratchXYZNPN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNPN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos + 1, zPos);
- render.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos + 1, zPos);
- }
-
- if (!flag3 && !flag4)
- {
- render.aoLightValueScratchXYZPNN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPNN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos - 1, zPos);
- render.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos - 1, zPos);
- }
-
- if (!flag3 && !flag5)
- {
- render.aoLightValueScratchXYZPPN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPPN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos + 1, zPos);
- render.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos + 1, zPos);
- }
-
- if (render.renderMinZ <= 0.0D)
- {
- ++zPos;
- }
-
- i1 = l;
-
- if (render.renderMinZ <= 0.0D || !render.blockAccess.isBlockOpaqueCube(xPos, yPos, zPos - 1))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- }
-
- f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- f3 = (render.aoLightValueScratchXZNN + render.aoLightValueScratchXYZNPN + f7 + render.aoLightValueScratchYZPN) / 4.0F;
- f4 = (f7 + render.aoLightValueScratchYZPN + render.aoLightValueScratchXZPN + render.aoLightValueScratchXYZPPN) / 4.0F;
- f5 = (render.aoLightValueScratchYZNN + f7 + render.aoLightValueScratchXYZPNN + render.aoLightValueScratchXZPN) / 4.0F;
- f6 = (render.aoLightValueScratchXYZNNN + render.aoLightValueScratchXZNN + render.aoLightValueScratchYZNN + f7) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXZNN, render.aoBrightnessXYZNPN, render.aoBrightnessYZPN, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessYZPN, render.aoBrightnessXZPN, render.aoBrightnessXYZPPN, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessYZNN, render.aoBrightnessXYZPNN, render.aoBrightnessXZPN, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXYZNNN, render.aoBrightnessXZNN, render.aoBrightnessYZNN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.8F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.8F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.8F;
- }
- else
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.8F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.8F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.8F;
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- icon = block.getIcon(2, metadata);
- render.renderFaceZNeg(block, (double) xPos, (double) yPos, (double) zPos, icon);
-
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos + 1, 3))
- {
- if (render.renderMaxZ >= 1.0D)
- {
- ++zPos;
- }
-
- render.aoLightValueScratchXZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchXZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoLightValueScratchYZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchYZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessXZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoBrightnessYZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessYZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos + 1)];
- flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos + 1)];
- flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos + 1)];
- flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos + 1)];
-
- if (!flag2 && !flag4)
- {
- render.aoLightValueScratchXYZNNP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNNP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos - 1, zPos);
- render.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos - 1, zPos);
- }
-
- if (!flag2 && !flag5)
- {
- render.aoLightValueScratchXYZNPP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNPP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos + 1, zPos);
- render.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos + 1, zPos);
- }
-
- if (!flag3 && !flag4)
- {
- render.aoLightValueScratchXYZPNP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPNP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos - 1, zPos);
- render.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos - 1, zPos);
- }
-
- if (!flag3 && !flag5)
- {
- render.aoLightValueScratchXYZPPP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPPP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos + 1, zPos);
- render.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos + 1, zPos);
- }
-
- if (render.renderMaxZ >= 1.0D)
- {
- --zPos;
- }
-
- i1 = l;
-
- if (render.renderMaxZ >= 1.0D || !render.blockAccess.isBlockOpaqueCube(xPos, yPos, zPos + 1))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- }
-
- f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- f3 = (render.aoLightValueScratchXZNP + render.aoLightValueScratchXYZNPP + f7 + render.aoLightValueScratchYZPP) / 4.0F;
- f6 = (f7 + render.aoLightValueScratchYZPP + render.aoLightValueScratchXZPP + render.aoLightValueScratchXYZPPP) / 4.0F;
- f5 = (render.aoLightValueScratchYZNP + f7 + render.aoLightValueScratchXYZPNP + render.aoLightValueScratchXZPP) / 4.0F;
- f4 = (render.aoLightValueScratchXYZNNP + render.aoLightValueScratchXZNP + render.aoLightValueScratchYZNP + f7) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXZNP, render.aoBrightnessXYZNPP, render.aoBrightnessYZPP, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessYZPP, render.aoBrightnessXZPP, render.aoBrightnessXYZPPP, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessYZNP, render.aoBrightnessXYZPNP, render.aoBrightnessXZPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXYZNNP, render.aoBrightnessXZNP, render.aoBrightnessYZNP, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.8F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.8F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.8F;
- }
- else
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.8F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.8F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.8F;
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- icon = block.getIcon(3, metadata);
- render.renderFaceZPos(block, (double) xPos, (double) yPos, (double) zPos, icon);
-
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos - 1, yPos, zPos, 4))
- {
- if (render.renderMinX <= 0.0D)
- {
- --xPos;
- }
-
- render.aoLightValueScratchXYNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchXZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchXZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXYNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessXZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessXZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoBrightnessXYNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos + 1, zPos)];
- flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos - 1, zPos)];
- flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos - 1)];
- flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos + 1)];
-
- if (!flag5 && !flag2)
- {
- render.aoLightValueScratchXYZNNN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNNN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos - 1);
- render.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos - 1);
- }
-
- if (!flag4 && !flag2)
- {
- render.aoLightValueScratchXYZNNP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNNP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos + 1);
- render.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos + 1);
- }
-
- if (!flag5 && !flag3)
- {
- render.aoLightValueScratchXYZNPN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNPN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos - 1);
- render.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos - 1);
- }
-
- if (!flag4 && !flag3)
- {
- render.aoLightValueScratchXYZNPP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNPP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos + 1);
- render.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos + 1);
- }
-
- if (render.renderMinX <= 0.0D)
- {
- ++xPos;
- }
-
- i1 = l;
-
- if (render.renderMinX <= 0.0D || !render.blockAccess.isBlockOpaqueCube(xPos - 1, yPos, zPos))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- }
-
- f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- f6 = (render.aoLightValueScratchXYNN + render.aoLightValueScratchXYZNNP + f7 + render.aoLightValueScratchXZNP) / 4.0F;
- f3 = (f7 + render.aoLightValueScratchXZNP + render.aoLightValueScratchXYNP + render.aoLightValueScratchXYZNPP) / 4.0F;
- f4 = (render.aoLightValueScratchXZNN + f7 + render.aoLightValueScratchXYZNPN + render.aoLightValueScratchXYNP) / 4.0F;
- f5 = (render.aoLightValueScratchXYZNNN + render.aoLightValueScratchXYNN + render.aoLightValueScratchXZNN + f7) / 4.0F;
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXYNN, render.aoBrightnessXYZNNP, render.aoBrightnessXZNP, i1);
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXZNP, render.aoBrightnessXYNP, render.aoBrightnessXYZNPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXZNN, render.aoBrightnessXYZNPN, render.aoBrightnessXYNP, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessXYZNNN, render.aoBrightnessXYNN, render.aoBrightnessXZNN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.6F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.6F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.6F;
- }
- else
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.6F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.6F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.6F;
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- icon = block.getIcon(4, metadata);
- render.renderFaceXNeg(block, (double) xPos, (double) yPos, (double) zPos, icon);
-
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos + 1, yPos, zPos, 5))
- {
- if (render.renderMaxX >= 1.0D)
- {
- ++xPos;
- }
-
- render.aoLightValueScratchXYPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchXZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchXZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXYPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessXZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessXZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoBrightnessXYPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos + 1, zPos)];
- flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos - 1, zPos)];
- flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos + 1)];
- flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos - 1)];
-
- if (!flag2 && !flag4)
- {
- render.aoLightValueScratchXYZPNN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPNN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos - 1);
- render.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos - 1);
- }
-
- if (!flag2 && !flag5)
- {
- render.aoLightValueScratchXYZPNP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPNP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos + 1);
- render.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos + 1);
- }
-
- if (!flag3 && !flag4)
- {
- render.aoLightValueScratchXYZPPN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPPN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos - 1);
- render.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos - 1);
- }
-
- if (!flag3 && !flag5)
- {
- render.aoLightValueScratchXYZPPP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPPP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos + 1);
- render.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos + 1);
- }
-
- if (render.renderMaxX >= 1.0D)
- {
- --xPos;
- }
-
- i1 = l;
-
- if (render.renderMaxX >= 1.0D || !render.blockAccess.isBlockOpaqueCube(xPos + 1, yPos, zPos))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- }
-
- f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- f3 = (render.aoLightValueScratchXYPN + render.aoLightValueScratchXYZPNP + f7 + render.aoLightValueScratchXZPP) / 4.0F;
- f4 = (render.aoLightValueScratchXYZPNN + render.aoLightValueScratchXYPN + render.aoLightValueScratchXZPN + f7) / 4.0F;
- f5 = (render.aoLightValueScratchXZPN + f7 + render.aoLightValueScratchXYZPPN + render.aoLightValueScratchXYPP) / 4.0F;
- f6 = (f7 + render.aoLightValueScratchXZPP + render.aoLightValueScratchXYPP + render.aoLightValueScratchXYZPPP) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXYPN, render.aoBrightnessXYZPNP, render.aoBrightnessXZPP, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXZPP, render.aoBrightnessXYPP, render.aoBrightnessXYZPPP, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessXZPN, render.aoBrightnessXYZPPN, render.aoBrightnessXYPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXYZPNN, render.aoBrightnessXYPN, render.aoBrightnessXZPN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.6F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.6F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.6F;
- }
- else
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.6F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.6F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.6F;
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- icon = block.getIcon(5, metadata);
- render.renderFaceXPos(block, (double) xPos, (double) yPos, (double) zPos, icon);
-
- flag = true;
- }
-
- render.enableAO = false;
- return flag;
- }
-
- static boolean renderMetadataBlockWithColorMultiplier (Block block, int metadata, int xPos, int yPos, int zPos, float colorRed, float colorGreen, float colorBlue, RenderBlocks render,
- IBlockAccess world)
- {
- render.enableAO = false;
- Tessellator tessellator = Tessellator.instance;
- boolean flag = false;
- float f3 = 0.5F;
- float f4 = 1.0F;
- float f5 = 0.8F;
- float f6 = 0.6F;
- float f7 = f4 * colorRed;
- float f8 = f4 * colorGreen;
- float f9 = f4 * colorBlue;
- float f10 = f3;
- float f11 = f5;
- float f12 = f6;
- float f13 = f3;
- float f14 = f5;
- float f15 = f6;
- float f16 = f3;
- float f17 = f5;
- float f18 = f6;
-
- if (block != Block.grass)
- {
- f10 = f3 * colorRed;
- f11 = f5 * colorRed;
- f12 = f6 * colorRed;
- f13 = f3 * colorGreen;
- f14 = f5 * colorGreen;
- f15 = f6 * colorGreen;
- f16 = f3 * colorBlue;
- f17 = f5 * colorBlue;
- f18 = f6 * colorBlue;
- }
-
- int l = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos);
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos - 1, zPos, 0))
- {
- tessellator.setBrightness(render.renderMinY > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos));
- tessellator.setColorOpaque_F(f10, f13, f16);
- render.renderFaceYNeg(block, (double) xPos, (double) yPos, (double) zPos, block.getIcon(0, metadata));
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos + 1, zPos, 1))
- {
- tessellator.setBrightness(render.renderMaxY < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos));
- tessellator.setColorOpaque_F(f7, f8, f9);
- render.renderFaceYPos(block, (double) xPos, (double) yPos, (double) zPos, block.getIcon(1, metadata));
- flag = true;
- }
-
- Icon icon;
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos - 1, 2))
- {
- tessellator.setBrightness(render.renderMinZ > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1));
- tessellator.setColorOpaque_F(f11, f14, f17);
- render.renderFaceZNeg(block, (double) xPos, (double) yPos, (double) zPos, block.getIcon(2, metadata));
-
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos + 1, 3))
- {
- tessellator.setBrightness(render.renderMaxZ < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1));
- tessellator.setColorOpaque_F(f11, f14, f17);
- render.renderFaceZPos(block, (double) xPos, (double) yPos, (double) zPos, block.getIcon(3, metadata));
-
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos - 1, yPos, zPos, 4))
- {
- tessellator.setBrightness(render.renderMinX > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos));
- tessellator.setColorOpaque_F(f12, f15, f18);
- render.renderFaceXNeg(block, (double) xPos, (double) yPos, (double) zPos, block.getIcon(4, metadata));
-
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos + 1, yPos, zPos, 5))
- {
- tessellator.setBrightness(render.renderMaxX < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos));
- tessellator.setColorOpaque_F(f12, f15, f18);
- render.renderFaceXPos(block, (double) xPos, (double) yPos, (double) zPos, block.getIcon(5, metadata));
-
- flag = true;
- }
-
- return flag;
- }
-
- public static boolean renderLiquidBlock (Icon stillIcon, Icon flowingIcon, int x, int y, int z, RenderBlocks renderer, IBlockAccess world)
- {
- Block block = Block.stone;
- int var5 = block.colorMultiplier(world, x, y, z);
- float var6 = (float) (var5 >> 16 & 255) / 255.0F;
- float var7 = (float) (var5 >> 8 & 255) / 255.0F;
- float var8 = (float) (var5 & 255) / 255.0F;
-
- if (EntityRenderer.anaglyphEnable)
- {
- float var9 = (var6 * 30.0F + var7 * 59.0F + var8 * 11.0F) / 100.0F;
- float var10 = (var6 * 30.0F + var7 * 70.0F) / 100.0F;
- float var11 = (var6 * 30.0F + var8 * 70.0F) / 100.0F;
- var6 = var9;
- var7 = var10;
- var8 = var11;
- }
-
- return Minecraft.isAmbientOcclusionEnabled() ? renderFakeBlockWithAmbientOcclusion(stillIcon, flowingIcon, x, y, z, var6, var7, var8, renderer, world) : renderFakeBlockWithColorMultiplier(
- stillIcon, flowingIcon, x, y, z, var6, var7, var8, renderer, world);
- }
-
- static boolean renderFakeBlockWithAmbientOcclusion (Icon stillIcon, Icon flowingIcon, int xPos, int yPos, int zPos, float colorRed, float colorGreen, float colorBlue, RenderBlocks render,
- IBlockAccess world)
- {
- Block block = Block.stone;
- render.enableAO = true;
- boolean flag = false;
- float f3 = 0.0F;
- float f4 = 0.0F;
- float f5 = 0.0F;
- float f6 = 0.0F;
- boolean flag1 = true;
- int l = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos);
- Tessellator tessellator = Tessellator.instance;
- tessellator.setBrightness(983055);
-
- if (render.getBlockIcon(block).getIconName().equals("grass_top"))
- {
- flag1 = false;
- }
- else if (render.hasOverrideBlockTexture())
- {
- flag1 = false;
- }
-
- boolean flag2;
- boolean flag3;
- boolean flag4;
- boolean flag5;
- float f7;
- int i1;
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos - 1, zPos, 0))
- {
- if (render.renderMinY <= 0.0D)
- {
- --yPos;
- }
-
- render.aoBrightnessXYNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessYZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessYZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoBrightnessXYPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoLightValueScratchXYNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchYZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchYZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos - 1, zPos)];
- flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos - 1, zPos)];
- flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos + 1)];
- flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos - 1)];
-
- if (!flag4 && !flag2)
- {
- render.aoLightValueScratchXYZNNN = render.aoLightValueScratchXYNN;
- render.aoBrightnessXYZNNN = render.aoBrightnessXYNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos - 1);
- render.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos - 1);
- }
-
- if (!flag5 && !flag2)
- {
- render.aoLightValueScratchXYZNNP = render.aoLightValueScratchXYNN;
- render.aoBrightnessXYZNNP = render.aoBrightnessXYNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos + 1);
- render.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos + 1);
- }
-
- if (!flag4 && !flag3)
- {
- render.aoLightValueScratchXYZPNN = render.aoLightValueScratchXYPN;
- render.aoBrightnessXYZPNN = render.aoBrightnessXYPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos - 1);
- render.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos - 1);
- }
-
- if (!flag5 && !flag3)
- {
- render.aoLightValueScratchXYZPNP = render.aoLightValueScratchXYPN;
- render.aoBrightnessXYZPNP = render.aoBrightnessXYPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos + 1);
- render.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos + 1);
- }
-
- if (render.renderMinY <= 0.0D)
- {
- ++yPos;
- }
-
- i1 = l;
-
- if (render.renderMinY <= 0.0D || !render.blockAccess.isBlockOpaqueCube(xPos, yPos - 1, zPos))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- }
-
- f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- f3 = (render.aoLightValueScratchXYZNNP + render.aoLightValueScratchXYNN + render.aoLightValueScratchYZNP + f7) / 4.0F;
- f6 = (render.aoLightValueScratchYZNP + f7 + render.aoLightValueScratchXYZPNP + render.aoLightValueScratchXYPN) / 4.0F;
- f5 = (f7 + render.aoLightValueScratchYZNN + render.aoLightValueScratchXYPN + render.aoLightValueScratchXYZPNN) / 4.0F;
- f4 = (render.aoLightValueScratchXYNN + render.aoLightValueScratchXYZNNN + f7 + render.aoLightValueScratchYZNN) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXYZNNP, render.aoBrightnessXYNN, render.aoBrightnessYZNP, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessYZNP, render.aoBrightnessXYZPNP, render.aoBrightnessXYPN, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessYZNN, render.aoBrightnessXYPN, render.aoBrightnessXYZPNN, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXYNN, render.aoBrightnessXYZNNN, render.aoBrightnessYZNN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.5F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.5F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.5F;
- }
- else
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.5F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.5F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.5F;
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceYNeg(block, (double) xPos, (double) yPos, (double) zPos, stillIcon);
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos + 1, zPos, 1))
- {
- if (render.renderMaxY >= 1.0D)
- {
- ++yPos;
- }
-
- render.aoBrightnessXYNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessXYPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoBrightnessYZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessYZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchXYPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoLightValueScratchYZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchYZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos + 1, zPos)];
- flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos + 1, zPos)];
- flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos + 1)];
- flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos - 1)];
-
- if (!flag4 && !flag2)
- {
- render.aoLightValueScratchXYZNPN = render.aoLightValueScratchXYNP;
- render.aoBrightnessXYZNPN = render.aoBrightnessXYNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos - 1);
- render.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos - 1);
- }
-
- if (!flag4 && !flag3)
- {
- render.aoLightValueScratchXYZPPN = render.aoLightValueScratchXYPP;
- render.aoBrightnessXYZPPN = render.aoBrightnessXYPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos - 1);
- render.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos - 1);
- }
-
- if (!flag5 && !flag2)
- {
- render.aoLightValueScratchXYZNPP = render.aoLightValueScratchXYNP;
- render.aoBrightnessXYZNPP = render.aoBrightnessXYNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos + 1);
- render.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos + 1);
- }
-
- if (!flag5 && !flag3)
- {
- render.aoLightValueScratchXYZPPP = render.aoLightValueScratchXYPP;
- render.aoBrightnessXYZPPP = render.aoBrightnessXYPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos + 1);
- render.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos + 1);
- }
-
- if (render.renderMaxY >= 1.0D)
- {
- --yPos;
- }
-
- i1 = l;
-
- if (render.renderMaxY >= 1.0D || !render.blockAccess.isBlockOpaqueCube(xPos, yPos + 1, zPos))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- }
-
- f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- f6 = (render.aoLightValueScratchXYZNPP + render.aoLightValueScratchXYNP + render.aoLightValueScratchYZPP + f7) / 4.0F;
- f3 = (render.aoLightValueScratchYZPP + f7 + render.aoLightValueScratchXYZPPP + render.aoLightValueScratchXYPP) / 4.0F;
- f4 = (f7 + render.aoLightValueScratchYZPN + render.aoLightValueScratchXYPP + render.aoLightValueScratchXYZPPN) / 4.0F;
- f5 = (render.aoLightValueScratchXYNP + render.aoLightValueScratchXYZNPN + f7 + render.aoLightValueScratchYZPN) / 4.0F;
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXYZNPP, render.aoBrightnessXYNP, render.aoBrightnessYZPP, i1);
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessYZPP, render.aoBrightnessXYZPPP, render.aoBrightnessXYPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessYZPN, render.aoBrightnessXYPP, render.aoBrightnessXYZPPN, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessXYNP, render.aoBrightnessXYZNPN, render.aoBrightnessYZPN, i1);
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue;
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceYPos(block, (double) xPos, (double) yPos, (double) zPos, stillIcon);
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos - 1, 2))
- {
- if (render.renderMinZ <= 0.0D)
- {
- --zPos;
- }
-
- render.aoLightValueScratchXZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchYZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchYZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoLightValueScratchXZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoBrightnessXZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessYZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessYZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos - 1)];
- flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos - 1)];
- flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos - 1)];
- flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos - 1)];
-
- if (!flag2 && !flag4)
- {
- render.aoLightValueScratchXYZNNN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNNN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos - 1, zPos);
- render.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos - 1, zPos);
- }
-
- if (!flag2 && !flag5)
- {
- render.aoLightValueScratchXYZNPN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNPN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos + 1, zPos);
- render.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos + 1, zPos);
- }
-
- if (!flag3 && !flag4)
- {
- render.aoLightValueScratchXYZPNN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPNN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos - 1, zPos);
- render.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos - 1, zPos);
- }
-
- if (!flag3 && !flag5)
- {
- render.aoLightValueScratchXYZPPN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPPN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos + 1, zPos);
- render.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos + 1, zPos);
- }
-
- if (render.renderMinZ <= 0.0D)
- {
- ++zPos;
- }
-
- i1 = l;
-
- if (render.renderMinZ <= 0.0D || !render.blockAccess.isBlockOpaqueCube(xPos, yPos, zPos - 1))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- }
-
- f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- f3 = (render.aoLightValueScratchXZNN + render.aoLightValueScratchXYZNPN + f7 + render.aoLightValueScratchYZPN) / 4.0F;
- f4 = (f7 + render.aoLightValueScratchYZPN + render.aoLightValueScratchXZPN + render.aoLightValueScratchXYZPPN) / 4.0F;
- f5 = (render.aoLightValueScratchYZNN + f7 + render.aoLightValueScratchXYZPNN + render.aoLightValueScratchXZPN) / 4.0F;
- f6 = (render.aoLightValueScratchXYZNNN + render.aoLightValueScratchXZNN + render.aoLightValueScratchYZNN + f7) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXZNN, render.aoBrightnessXYZNPN, render.aoBrightnessYZPN, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessYZPN, render.aoBrightnessXZPN, render.aoBrightnessXYZPPN, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessYZNN, render.aoBrightnessXYZPNN, render.aoBrightnessXZPN, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXYZNNN, render.aoBrightnessXZNN, render.aoBrightnessYZNN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.8F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.8F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.8F;
- }
- else
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.8F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.8F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.8F;
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceZNeg(block, (double) xPos, (double) yPos, (double) zPos, flowingIcon);
-
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos + 1, 3))
- {
- if (render.renderMaxZ >= 1.0D)
- {
- ++zPos;
- }
-
- render.aoLightValueScratchXZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchXZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoLightValueScratchYZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchYZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessXZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoBrightnessYZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessYZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos + 1)];
- flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos + 1)];
- flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos + 1)];
- flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos + 1)];
-
- if (!flag2 && !flag4)
- {
- render.aoLightValueScratchXYZNNP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNNP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos - 1, zPos);
- render.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos - 1, zPos);
- }
-
- if (!flag2 && !flag5)
- {
- render.aoLightValueScratchXYZNPP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNPP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos + 1, zPos);
- render.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos + 1, zPos);
- }
-
- if (!flag3 && !flag4)
- {
- render.aoLightValueScratchXYZPNP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPNP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos - 1, zPos);
- render.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos - 1, zPos);
- }
-
- if (!flag3 && !flag5)
- {
- render.aoLightValueScratchXYZPPP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPPP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos + 1, zPos);
- render.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos + 1, zPos);
- }
-
- if (render.renderMaxZ >= 1.0D)
- {
- --zPos;
- }
-
- i1 = l;
-
- if (render.renderMaxZ >= 1.0D || !render.blockAccess.isBlockOpaqueCube(xPos, yPos, zPos + 1))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- }
-
- f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- f3 = (render.aoLightValueScratchXZNP + render.aoLightValueScratchXYZNPP + f7 + render.aoLightValueScratchYZPP) / 4.0F;
- f6 = (f7 + render.aoLightValueScratchYZPP + render.aoLightValueScratchXZPP + render.aoLightValueScratchXYZPPP) / 4.0F;
- f5 = (render.aoLightValueScratchYZNP + f7 + render.aoLightValueScratchXYZPNP + render.aoLightValueScratchXZPP) / 4.0F;
- f4 = (render.aoLightValueScratchXYZNNP + render.aoLightValueScratchXZNP + render.aoLightValueScratchYZNP + f7) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXZNP, render.aoBrightnessXYZNPP, render.aoBrightnessYZPP, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessYZPP, render.aoBrightnessXZPP, render.aoBrightnessXYZPPP, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessYZNP, render.aoBrightnessXYZPNP, render.aoBrightnessXZPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXYZNNP, render.aoBrightnessXZNP, render.aoBrightnessYZNP, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.8F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.8F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.8F;
- }
- else
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.8F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.8F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.8F;
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceZPos(block, (double) xPos, (double) yPos, (double) zPos, flowingIcon);
-
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos - 1, yPos, zPos, 4))
- {
- if (render.renderMinX <= 0.0D)
- {
- --xPos;
- }
-
- render.aoLightValueScratchXYNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchXZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchXZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXYNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessXZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessXZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoBrightnessXYNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos + 1, zPos)];
- flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos - 1, zPos)];
- flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos - 1)];
- flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos + 1)];
-
- if (!flag5 && !flag2)
- {
- render.aoLightValueScratchXYZNNN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNNN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos - 1);
- render.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos - 1);
- }
-
- if (!flag4 && !flag2)
- {
- render.aoLightValueScratchXYZNNP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNNP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos + 1);
- render.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos + 1);
- }
-
- if (!flag5 && !flag3)
- {
- render.aoLightValueScratchXYZNPN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNPN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos - 1);
- render.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos - 1);
- }
-
- if (!flag4 && !flag3)
- {
- render.aoLightValueScratchXYZNPP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNPP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos + 1);
- render.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos + 1);
- }
-
- if (render.renderMinX <= 0.0D)
- {
- ++xPos;
- }
-
- i1 = l;
-
- if (render.renderMinX <= 0.0D || !render.blockAccess.isBlockOpaqueCube(xPos - 1, yPos, zPos))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- }
-
- f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- f6 = (render.aoLightValueScratchXYNN + render.aoLightValueScratchXYZNNP + f7 + render.aoLightValueScratchXZNP) / 4.0F;
- f3 = (f7 + render.aoLightValueScratchXZNP + render.aoLightValueScratchXYNP + render.aoLightValueScratchXYZNPP) / 4.0F;
- f4 = (render.aoLightValueScratchXZNN + f7 + render.aoLightValueScratchXYZNPN + render.aoLightValueScratchXYNP) / 4.0F;
- f5 = (render.aoLightValueScratchXYZNNN + render.aoLightValueScratchXYNN + render.aoLightValueScratchXZNN + f7) / 4.0F;
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXYNN, render.aoBrightnessXYZNNP, render.aoBrightnessXZNP, i1);
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXZNP, render.aoBrightnessXYNP, render.aoBrightnessXYZNPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXZNN, render.aoBrightnessXYZNPN, render.aoBrightnessXYNP, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessXYZNNN, render.aoBrightnessXYNN, render.aoBrightnessXZNN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.6F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.6F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.6F;
- }
- else
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.6F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.6F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.6F;
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceXNeg(block, (double) xPos, (double) yPos, (double) zPos, flowingIcon);
-
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos + 1, yPos, zPos, 5))
- {
- if (render.renderMaxX >= 1.0D)
- {
- ++xPos;
- }
-
- render.aoLightValueScratchXYPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchXZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchXZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXYPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessXZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessXZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoBrightnessXYPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos + 1, zPos)];
- flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos - 1, zPos)];
- flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos + 1)];
- flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos - 1)];
-
- if (!flag2 && !flag4)
- {
- render.aoLightValueScratchXYZPNN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPNN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos - 1);
- render.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos - 1);
- }
-
- if (!flag2 && !flag5)
- {
- render.aoLightValueScratchXYZPNP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPNP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos + 1);
- render.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos + 1);
- }
-
- if (!flag3 && !flag4)
- {
- render.aoLightValueScratchXYZPPN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPPN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos - 1);
- render.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos - 1);
- }
-
- if (!flag3 && !flag5)
- {
- render.aoLightValueScratchXYZPPP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPPP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos + 1);
- render.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos + 1);
- }
-
- if (render.renderMaxX >= 1.0D)
- {
- --xPos;
- }
-
- i1 = l;
-
- if (render.renderMaxX >= 1.0D || !render.blockAccess.isBlockOpaqueCube(xPos + 1, yPos, zPos))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- }
-
- f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- f3 = (render.aoLightValueScratchXYPN + render.aoLightValueScratchXYZPNP + f7 + render.aoLightValueScratchXZPP) / 4.0F;
- f4 = (render.aoLightValueScratchXYZPNN + render.aoLightValueScratchXYPN + render.aoLightValueScratchXZPN + f7) / 4.0F;
- f5 = (render.aoLightValueScratchXZPN + f7 + render.aoLightValueScratchXYZPPN + render.aoLightValueScratchXYPP) / 4.0F;
- f6 = (f7 + render.aoLightValueScratchXZPP + render.aoLightValueScratchXYPP + render.aoLightValueScratchXYZPPP) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXYPN, render.aoBrightnessXYZPNP, render.aoBrightnessXZPP, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXZPP, render.aoBrightnessXYPP, render.aoBrightnessXYZPPP, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessXZPN, render.aoBrightnessXYZPPN, render.aoBrightnessXYPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXYZPNN, render.aoBrightnessXYPN, render.aoBrightnessXZPN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.6F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.6F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.6F;
- }
- else
- {
- render.colorRedTopLeft = render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.6F;
- render.colorGreenTopLeft = render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.6F;
- render.colorBlueTopLeft = render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.6F;
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceXPos(block, (double) xPos, (double) yPos, (double) zPos, flowingIcon);
-
- flag = true;
- }
-
- render.enableAO = false;
- return flag;
- }
-
- static boolean renderFakeBlockWithColorMultiplier (Icon stillIcon, Icon flowingIcon, int xPos, int yPos, int zPos, float colorRed, float colorGreen, float colorBlue, RenderBlocks render,
- IBlockAccess world)
- {
- Block block = Block.stone;
- render.enableAO = false;
- Tessellator tessellator = Tessellator.instance;
- boolean flag = false;
- float f3 = 0.5F;
- float f4 = 1.0F;
- float f5 = 0.8F;
- float f6 = 0.6F;
- float f7 = f4 * colorRed;
- float f8 = f4 * colorGreen;
- float f9 = f4 * colorBlue;
- float f10 = f3;
- float f11 = f5;
- float f12 = f6;
- float f13 = f3;
- float f14 = f5;
- float f15 = f6;
- float f16 = f3;
- float f17 = f5;
- float f18 = f6;
-
- if (block != Block.grass)
- {
- f10 = f3 * colorRed;
- f11 = f5 * colorRed;
- f12 = f6 * colorRed;
- f13 = f3 * colorGreen;
- f14 = f5 * colorGreen;
- f15 = f6 * colorGreen;
- f16 = f3 * colorBlue;
- f17 = f5 * colorBlue;
- f18 = f6 * colorBlue;
- }
-
- int l = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos);
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos - 1, zPos, 0))
- {
- tessellator.setBrightness(render.renderMinY > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos));
- tessellator.setColorOpaque_F(f10, f13, f16);
- render.renderFaceYNeg(block, (double) xPos, (double) yPos, (double) zPos, stillIcon);
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos + 1, zPos, 1))
- {
- tessellator.setBrightness(render.renderMaxY < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos));
- tessellator.setColorOpaque_F(f7, f8, f9);
- render.renderFaceYPos(block, (double) xPos, (double) yPos, (double) zPos, stillIcon);
- flag = true;
- }
-
- Icon icon;
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos - 1, 2))
- {
- tessellator.setBrightness(render.renderMinZ > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1));
- tessellator.setColorOpaque_F(f11, f14, f17);
- render.renderFaceZNeg(block, (double) xPos, (double) yPos, (double) zPos, flowingIcon);
-
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos + 1, 3))
- {
- tessellator.setBrightness(render.renderMaxZ < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1));
- tessellator.setColorOpaque_F(f11, f14, f17);
- render.renderFaceZPos(block, (double) xPos, (double) yPos, (double) zPos, flowingIcon);
-
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos - 1, yPos, zPos, 4))
- {
- tessellator.setBrightness(render.renderMinX > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos));
- tessellator.setColorOpaque_F(f12, f15, f18);
- render.renderFaceXNeg(block, (double) xPos, (double) yPos, (double) zPos, flowingIcon);
-
- flag = true;
- }
-
- if (render.renderAllFaces || block.shouldSideBeRendered(render.blockAccess, xPos + 1, yPos, zPos, 5))
- {
- tessellator.setBrightness(render.renderMaxX < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos));
- tessellator.setColorOpaque_F(f12, f15, f18);
- render.renderFaceXPos(block, (double) xPos, (double) yPos, (double) zPos, flowingIcon);
-
- flag = true;
- }
-
- return flag;
- }
-}
diff --git a/src/main/java/tconstruct/client/block/BreakingFX.java b/src/main/java/tconstruct/client/block/BreakingFX.java
deleted file mode 100644
index 52df1068..00000000
--- a/src/main/java/tconstruct/client/block/BreakingFX.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.particle.EntityFX;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.item.Item;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class BreakingFX extends EntityFX
-{
- public BreakingFX(World par1World, double par2, double par4, double par6, Item par8Item)
- {
- this(par1World, par2, par4, par6, par8Item, 0);
- }
-
- public BreakingFX(World par1World, double par2, double par4, double par6, Item par8Item, int par9)
- {
- super(par1World, par2, par4, par6, 0.0D, 0.0D, 0.0D);
- this.setParticleIcon(par8Item.getIconFromDamage(par9));
- this.particleRed = this.particleGreen = this.particleBlue = 1.0F;
- this.particleGravity = Block.blockSnow.blockParticleGravity;
- this.particleScale /= 2.0F;
- }
-
- public BreakingFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12, Item par14Item, int par15)
- {
- this(par1World, par2, par4, par6, par14Item, par15);
- this.motionX *= 0.10000000149011612D;
- this.motionY *= 0.10000000149011612D;
- this.motionZ *= 0.10000000149011612D;
- this.motionX += par8;
- this.motionY += par10;
- this.motionZ += par12;
- }
-
- public int getFXLayer ()
- {
- return 2;
- }
-
- public void renderParticle (Tessellator par1Tessellator, float par2, float par3, float par4, float par5, float par6, float par7)
- {
- float f6 = ((float) this.particleTextureIndexX + this.particleTextureJitterX / 4.0F) / 16.0F;
- float f7 = f6 + 0.015609375F;
- float f8 = ((float) this.particleTextureIndexY + this.particleTextureJitterY / 4.0F) / 16.0F;
- float f9 = f8 + 0.015609375F;
- float f10 = 0.1F * this.particleScale;
-
- if (this.particleIcon != null)
- {
- f6 = this.particleIcon.getInterpolatedU((double) (this.particleTextureJitterX / 4.0F * 16.0F));
- f7 = this.particleIcon.getInterpolatedU((double) ((this.particleTextureJitterX + 1.0F) / 4.0F * 16.0F));
- f8 = this.particleIcon.getInterpolatedV((double) (this.particleTextureJitterY / 4.0F * 16.0F));
- f9 = this.particleIcon.getInterpolatedV((double) ((this.particleTextureJitterY + 1.0F) / 4.0F * 16.0F));
- }
-
- float f11 = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double) par2 - interpPosX);
- float f12 = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double) par2 - interpPosY);
- float f13 = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double) par2 - interpPosZ);
- float f14 = 1.0F;
- par1Tessellator.setColorOpaque_F(f14 * this.particleRed, f14 * this.particleGreen, f14 * this.particleBlue);
- par1Tessellator.addVertexWithUV((double) (f11 - par3 * f10 - par6 * f10), (double) (f12 - par4 * f10), (double) (f13 - par5 * f10 - par7 * f10), (double) f6, (double) f9);
- par1Tessellator.addVertexWithUV((double) (f11 - par3 * f10 + par6 * f10), (double) (f12 + par4 * f10), (double) (f13 - par5 * f10 + par7 * f10), (double) f6, (double) f8);
- par1Tessellator.addVertexWithUV((double) (f11 + par3 * f10 + par6 * f10), (double) (f12 + par4 * f10), (double) (f13 + par5 * f10 + par7 * f10), (double) f7, (double) f8);
- par1Tessellator.addVertexWithUV((double) (f11 + par3 * f10 - par6 * f10), (double) (f12 - par4 * f10), (double) (f13 + par5 * f10 - par7 * f10), (double) f7, (double) f9);
- }
-}
diff --git a/src/main/java/tconstruct/client/block/CastingBasinSpecialRender.java b/src/main/java/tconstruct/client/block/CastingBasinSpecialRender.java
deleted file mode 100644
index f198008f..00000000
--- a/src/main/java/tconstruct/client/block/CastingBasinSpecialRender.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package tconstruct.client.block;
-
-import cpw.mods.fml.relauncher.*;
-import net.minecraft.client.renderer.entity.*;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.item.*;
-import net.minecraft.tileentity.TileEntity;
-import org.lwjgl.opengl.GL11;
-import tconstruct.blocks.logic.CastingBasinLogic;
-import tconstruct.entity.FancyEntityItem;
-import tconstruct.library.ItemBlocklike;
-
-/* Special renderer, only used for drawing tools */
-
-@SideOnly(Side.CLIENT)
-public class CastingBasinSpecialRender extends TileEntitySpecialRenderer
-{
- @Override
- public void renderTileEntityAt (TileEntity logic, double var2, double var4, double var6, float var8)
- {
- this.render((CastingBasinLogic) logic, var2, var4, var6, var8);
- }
-
- public void render (CastingBasinLogic logic, double posX, double posY, double posZ, float var8)
- {
- GL11.glPushMatrix();
- float var10 = (float) (posX - 0.5F);
- float var11 = (float) (posY - 0.5F);
- float var12 = (float) (posZ - 0.5F);
- GL11.glTranslatef(var10, var11, var12);
-
- ItemStack stack = logic.getStackInSlot(0);
- if (stack != null)
- renderItem(logic, stack);
-
- stack = logic.getStackInSlot(1);
- if (stack != null)
- renderItem(logic, stack);
-
- GL11.glPopMatrix();
- }
-
- void renderItem (CastingBasinLogic logic, ItemStack stack)
- {
- FancyEntityItem entityitem = new FancyEntityItem(logic.worldObj, 0.0D, 0.0D, 0.0D, stack);
- entityitem.getEntityItem().stackSize = 1;
- entityitem.hoverStart = 0.0F;
- GL11.glPushMatrix();
- GL11.glTranslatef(1F, 0.675F, 1.0F);
- //GL11.glRotatef(90F, 1, 0F, 0F);
- GL11.glScalef(1.75F, 1.75F, 1.75F);
- if (stack.getItem() instanceof ItemBlock)
- {
- GL11.glScalef(1.6F, 1.6F, 1.6F);
- GL11.glTranslatef(0F, 0.045F, 0.0f);
- }
- else if (!(stack.getItem() instanceof ItemBlocklike))
- {
- GL11.glRotatef(90F, 1F, 0F, 0F);
- GL11.glRotatef(90F, 0F, 0F, 1F);
- GL11.glScalef(0.75F, 0.75F, 0.75F);
- GL11.glTranslatef(0F, -0.235F, -0.36F);
- }
-
- RenderItem.renderInFrame = true;
- RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
- RenderItem.renderInFrame = false;
-
- GL11.glPopMatrix();
- }
-}
diff --git a/src/main/java/tconstruct/client/block/CastingTableSpecialRenderer.java b/src/main/java/tconstruct/client/block/CastingTableSpecialRenderer.java
deleted file mode 100644
index 5aec7d6c..00000000
--- a/src/main/java/tconstruct/client/block/CastingTableSpecialRenderer.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package tconstruct.client.block;
-
-import cpw.mods.fml.relauncher.*;
-import net.minecraft.client.renderer.entity.*;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.item.*;
-import net.minecraft.tileentity.TileEntity;
-import org.lwjgl.opengl.GL11;
-import tconstruct.blocks.logic.CastingTableLogic;
-import tconstruct.entity.FancyEntityItem;
-import tconstruct.library.ItemBlocklike;
-
-/* Special renderer, only used for drawing tools */
-
-@SideOnly(Side.CLIENT)
-public class CastingTableSpecialRenderer extends TileEntitySpecialRenderer
-{
- @Override
- public void renderTileEntityAt (TileEntity logic, double var2, double var4, double var6, float var8)
- {
- //TConstruct.logger.info("Render!!!");
- this.render((CastingTableLogic) logic, var2, var4, var6, var8);
- }
-
- public void render (CastingTableLogic logic, double posX, double posY, double posZ, float var8)
- {
- GL11.glPushMatrix();
- float var10 = (float) (posX - 0.5F);
- float var11 = (float) (posY - 0.5F);
- float var12 = (float) (posZ - 0.5F);
- GL11.glTranslatef(var10, var11, var12);
- this.func_82402_b(logic);
- GL11.glPopMatrix();
- }
-
- private void func_82402_b (CastingTableLogic logic)
- {
- ItemStack stack = logic.getStackInSlot(0);
-
- if (stack != null)
- renderItem(logic, stack);
-
- stack = logic.getStackInSlot(1);
-
- if (stack != null)
- renderItem(logic, stack);
- }
-
- void renderItem (CastingTableLogic logic, ItemStack stack)
- {
- FancyEntityItem entityitem = new FancyEntityItem(logic.worldObj, 0.0D, 0.0D, 0.0D, stack);
- entityitem.getEntityItem().stackSize = 1;
- entityitem.hoverStart = 0.0F;
- GL11.glPushMatrix();
- GL11.glTranslatef(1F, 1.48F, 0.55F);
- GL11.glRotatef(90F, 1, 0F, 0F);
- GL11.glScalef(2F, 2F, 2F);
- if (stack.getItem() instanceof ItemBlock || stack.getItem() instanceof ItemBlocklike)
- {
- GL11.glRotatef(90F, -1, 0F, 0F);
- GL11.glTranslatef(0F, -0.1F, 0.2275F);
- }
-
- RenderItem.renderInFrame = true;
- RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
- RenderItem.renderInFrame = false;
-
- GL11.glPopMatrix();
- }
-}
diff --git a/src/main/java/tconstruct/client/block/DryingRackRender.java b/src/main/java/tconstruct/client/block/DryingRackRender.java
deleted file mode 100644
index 22fa19b3..00000000
--- a/src/main/java/tconstruct/client/block/DryingRackRender.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.world.IBlockAccess;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.client.TProxyClient;
-
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class DryingRackRender implements ISimpleBlockRenderingHandler
-{
- public static int model = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
- renderer.setRenderBounds(0.375F, 0.375F, 0.0F, 0.625F, 0.625F, 1.0F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- }
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
- int metadata = world.getBlockMetadata(x, y, z);
- if (metadata == 0)
- {
- renderer.setRenderBounds(0.0F, 0.0, 0.375F, 1.0F, 0.25F, 0.625F);
- }
- if (metadata == 1)
- {
- renderer.setRenderBounds(0.375F, 0.0, 0.0f, 0.625F, 0.25F, 1F);
- }
-
- if (metadata == 2)
- {
- renderer.setRenderBounds(0.0F, 0.75F, 0.75F, 1F, 1.0F, 1F);
- }
- if (metadata == 3)
- {
- renderer.setRenderBounds(0.0F, 0.75F, 0F, 1F, 1.0F, 0.25F);
- }
- if (metadata == 4)
- {
- renderer.setRenderBounds(0.75F, 0.75F, 0.0f, 1F, 1.0F, 1F);
- }
- if (metadata == 5)
- {
- renderer.setRenderBounds(0F, 0.75F, 0.0f, 0.25F, 1.0F, 1F);
- }
- renderer.renderStandardBlock(block, x, y, z);
- }
- return true;
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return model;
- }
-
- public static void renderStandardInvBlock (RenderBlocks renderblocks, Block block, int meta)
- {
- Tessellator tessellator = Tessellator.instance;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1F, 0.0F);
- renderblocks.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderblocks.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1F);
- renderblocks.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderblocks.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1F, 0.0F, 0.0F);
- renderblocks.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderblocks.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
-}
diff --git a/src/main/java/tconstruct/client/block/DryingRackSpecialRender.java b/src/main/java/tconstruct/client/block/DryingRackSpecialRender.java
deleted file mode 100644
index da44b4e0..00000000
--- a/src/main/java/tconstruct/client/block/DryingRackSpecialRender.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.client.renderer.entity.RenderItem;
-import net.minecraft.client.renderer.entity.RenderManager;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.blocks.logic.DryingRackLogic;
-import tconstruct.entity.FancyEntityItem;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-/* Special renderer, only used for drawing tools */
-
-@SideOnly(Side.CLIENT)
-public class DryingRackSpecialRender extends TileEntitySpecialRenderer
-{
- @Override
- public void renderTileEntityAt (TileEntity logic, double var2, double var4, double var6, float var8)
- {
- //TConstruct.logger.info("Render!!!");
- this.render((DryingRackLogic) logic, var2, var4, var6, var8);
- }
-
- public void render (DryingRackLogic logic, double posX, double posY, double posZ, float var8)
- {
- GL11.glPushMatrix();
- float var10 = (float) (posX - 0.5F);
- float var11 = (float) (posY - 0.5F);
- float var12 = (float) (posZ - 0.5F);
- GL11.glTranslatef(var10, var11, var12);
- this.func_82402_b(logic);
- GL11.glPopMatrix();
- }
-
- private void func_82402_b (DryingRackLogic logic)
- {
- ItemStack stack = logic.getStackInSlot(0);
-
- if (stack != null)
- renderItem(logic, stack);
- }
-
- void renderItem (DryingRackLogic logic, ItemStack stack)
- {
- FancyEntityItem entityitem = new FancyEntityItem(logic.worldObj, 0.0D, 0.0D, 0.0D, stack);
- entityitem.getEntityItem().stackSize = 1;
- entityitem.hoverStart = 0.0F;
- GL11.glPushMatrix();
- int meta = logic.worldObj.getBlockMetadata(logic.xCoord, logic.yCoord, logic.zCoord);
- if (meta <= 1)
- GL11.glTranslatef(1F, -0.375F, 0.905F);
- else
- {
- GL11.glTranslatef(1F, 0.375F, 0.905F);
-
- if (meta / 2 == 2)
- {
- GL11.glRotatef(90F, 0F, 1F, 0F);
- GL11.glTranslatef(-0.0625F, 0F, 0F);
- }
- if (meta == 2)
- GL11.glTranslatef(0F, 0F, 0.375F);
- if (meta == 3)
- GL11.glTranslatef(0F, 0F, -0.375F);
- if (meta == 4)
- GL11.glTranslatef(0F, 0F, 0.2875F);
- if (meta == 5)
- GL11.glTranslatef(0F, 0F, -0.5F);
- }
- GL11.glScalef(2F, 2F, 2F);
- if (stack.getItem() instanceof ItemBlock)
- {
- //GL11.glRotatef(90F, -1, 0F, 0F);
- GL11.glTranslatef(0F, 0.2125F, 0.0375F);
- }
-
- RenderItem.renderInFrame = true;
- RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
- RenderItem.renderInFrame = false;
-
- GL11.glPopMatrix();
- }
-}
diff --git a/src/main/java/tconstruct/client/block/FrypanRender.java b/src/main/java/tconstruct/client/block/FrypanRender.java
deleted file mode 100644
index a5659661..00000000
--- a/src/main/java/tconstruct/client/block/FrypanRender.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.world.IBlockAccess;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class FrypanRender implements ISimpleBlockRenderingHandler
-{
- public static int frypanModelID = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- //Inventory should be an item. This is not here!
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
- {
- renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0F, 0.125F, 0.0F, 0.125F, 0.25F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.125F, 0.125F, 0.875F, 0.875F, 0.25F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.875F, 0.125F, 0.0F, 1.0F, 0.25F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.125F, 0.125F, 0.0F, 0.875F, 0.25F, 0.125F);
- renderer.renderStandardBlock(block, x, y, z);
- // renderer.setRenderBounds(1F, 0.0F, 0.4375F, 2F, 0.125F, 0.5625F);
- // renderer.renderStandardBlock(block, x, y, z);
- renderHandle(world, x, y, z, block, renderer);
- return true;
- }
-
- public void renderHandle (IBlockAccess world, int x, int y, int z, Block block, RenderBlocks renderer)
- {
- switch (world.getBlockMetadata(x, y, z))
- {
- case 0:
- renderer.setRenderBounds(1F, 0.0F, 0.4375F, 2F, 0.125F, 0.5625F);
- break;
- case 1:
- renderer.setRenderBounds(-1F, 0.0F, 0.4375F, 0F, 0.125F, 0.5625F);
- break;
- case 2:
- renderer.setRenderBounds(0.4375F, 0.0F, -1F, 0.5625F, 0.125F, 0F);
- break;
- case 3:
- renderer.setRenderBounds(0.4375F, 0.0F, 1F, 0.5625F, 0.125F, 2F);
- break;
- }
-
- renderer.renderStandardBlock(block, x, y, z);
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return frypanModelID;
- }
-}
diff --git a/src/main/java/tconstruct/client/block/GolemCoreRender.java b/src/main/java/tconstruct/client/block/GolemCoreRender.java
deleted file mode 100644
index 45971521..00000000
--- a/src/main/java/tconstruct/client/block/GolemCoreRender.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package tconstruct.client.block;
-
-import tconstruct.client.TProxyClient;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.world.IBlockAccess;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class GolemCoreRender implements ISimpleBlockRenderingHandler
-{
- public static int model = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- renderer.setRenderBounds(0.0F, 0F, 0.0F, 1.0F, 0.1875F, 1.0F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.0F, 0.8125F, 0.0F, 1.0F, 1.0F, 1.0F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.0F, 0.1875F, 0.0F, 0.1875F, 0.8125F, 0.1875F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.8175, 0.1875F, 0.0F, 1f, 0.8125F, 0.1875F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.0F, 0.1875F, 0.8175, 0.1875F, 0.8125F, 1f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.8175F, 0.1875F, 0.8175, 1f, 0.8125F, 1f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
- {
- renderer.setRenderBounds(0.0F, 0F, 0.0F, 1.0F, 0.1875F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0F, 0.8125F, 0.0F, 1.0F, 1.0F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0F, 0.1875F, 0.0F, 0.1875F, 0.8125F, 0.1875F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.8175, 0.1875F, 0.0F, 1f, 0.8125F, 0.1875F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0F, 0.1875F, 0.8175, 0.1875F, 0.8125F, 1f);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.8175F, 0.1875F, 0.8175, 1f, 0.8125F, 1f);
- renderer.renderStandardBlock(block, x, y, z);
- return true;
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return model;
- }
-}
diff --git a/src/main/java/tconstruct/client/block/GolemCoreSpecialRender.java b/src/main/java/tconstruct/client/block/GolemCoreSpecialRender.java
deleted file mode 100644
index e5c1b884..00000000
--- a/src/main/java/tconstruct/client/block/GolemCoreSpecialRender.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.client.renderer.entity.RenderItem;
-import net.minecraft.client.renderer.entity.RenderManager;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.blocks.logic.GolemCoreLogic;
-import tconstruct.entity.FancyEntityItem;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-/* Special renderer, only used for drawing tools */
-
-@SideOnly(Side.CLIENT)
-public class GolemCoreSpecialRender extends TileEntitySpecialRenderer
-{
- @Override
- public void renderTileEntityAt (TileEntity logic, double var2, double var4, double var6, float var8)
- {
- this.render((GolemCoreLogic) logic, var2, var4, var6, var8);
- }
-
- public void render (GolemCoreLogic logic, double posX, double posY, double posZ, float var8)
- {
- GL11.glPushMatrix();
- float var10 = (float) (posX - 0.5F);
- float var11 = (float) (posY - 0.5F);
- float var12 = (float) (posZ - 0.5F);
- GL11.glTranslatef(var10, var11, var12);
-
- ItemStack stack = logic.getStackInSlot(0);
- if (stack != null)
- renderItem(logic, stack);
-
- GL11.glPopMatrix();
- }
-
- void renderItem (GolemCoreLogic logic, ItemStack stack)
- {
- FancyEntityItem entityitem = new FancyEntityItem(logic.worldObj, 0.0D, 0.0D, 0.0D, stack);
- entityitem.getEntityItem().stackSize = 1;
- entityitem.hoverStart = 0.0F;
- GL11.glPushMatrix();
- GL11.glTranslatef(1F, 0.675F, 1.0F);
- //GL11.glRotatef(90F, 1, 0F, 0F);
- GL11.glScalef(1.4F, 1.4F, 1.4F);
- if (stack.getItem() instanceof ItemBlock)
- {
- GL11.glScalef(1.6F, 1.6F, 1.6F);
- GL11.glTranslatef(0F, 0.045F, 0.0f);
- }
-
- RenderItem.renderInFrame = true;
- RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
- RenderItem.renderInFrame = false;
-
- GL11.glPopMatrix();
- }
-}
diff --git a/src/main/java/tconstruct/client/block/OreberryRender.java b/src/main/java/tconstruct/client/block/OreberryRender.java
deleted file mode 100644
index 520185fb..00000000
--- a/src/main/java/tconstruct/client/block/OreberryRender.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package tconstruct.client.block;
-
-import tconstruct.client.TProxyClient;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.world.IBlockAccess;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class OreberryRender implements ISimpleBlockRenderingHandler
-{
- public static int model = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
- {
-
- if (modelId == model)
- {
- int md = world.getBlockMetadata(x, y, z);
- if (md < 4)
- {
- renderer.setRenderBounds(0.25F, 0.0F, 0.25F, 0.75F, 0.5F, 0.75F);
- renderer.renderStandardBlock(block, x, y, z);
- }
- else if (md < 8)
- {
- renderer.setRenderBounds(0.125F, 0.0F, 0.125F, 0.875F, 0.75F, 0.875F);
- renderer.renderStandardBlock(block, x, y, z);
- }
- else
- {
- renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- }
- }
- return true;
- }
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
- renderer.setRenderBounds(0.125F, 0.0F, 0.125F, 0.875F, 0.75F, 0.875F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- }
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return model;
- }
-}
diff --git a/src/main/java/tconstruct/client/block/PaneConnectedRender.java b/src/main/java/tconstruct/client/block/PaneConnectedRender.java
deleted file mode 100644
index 737595cb..00000000
--- a/src/main/java/tconstruct/client/block/PaneConnectedRender.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package tconstruct.client.block;
-
-import static net.minecraftforge.common.ForgeDirection.EAST;
-import static net.minecraftforge.common.ForgeDirection.NORTH;
-import static net.minecraftforge.common.ForgeDirection.SOUTH;
-import static net.minecraftforge.common.ForgeDirection.WEST;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.EntityRenderer;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import tconstruct.blocks.GlassPaneConnected;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class PaneConnectedRender implements ISimpleBlockRenderingHandler
-{
-
- public static int model = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
-
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
- {
- boolean temp = renderer.renderAllFaces;
- renderer.renderAllFaces = true;
-
- GlassPaneConnected pane = (GlassPaneConnected) block;
-
- boolean flag = pane.canPaneConnectTo(world, x, y, z, EAST);
- boolean flag1 = pane.canPaneConnectTo(world, x, y, z, WEST);
- boolean flag2 = pane.canPaneConnectTo(world, x, y, z, SOUTH);
- boolean flag3 = pane.canPaneConnectTo(world, x, y, z, NORTH);
-
- Icon sideTexture = pane.getSideTextureIndex();
-
- if (!flag && !flag1 && !flag2 && !flag3)
- {
- renderer.setRenderBounds(0D, 0D, 0.45D, 1D, 1D, 0.55D);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.45D, 0D, 0D, 0.55D, 1D, 1D);
- renderer.renderStandardBlock(block, x, y, z);
- }
- else
- {
- // renderer.setRenderBounds(0.45D, 0D, 0.45D, 0.55D, 1D, 0.55D);
- // renderer.renderStandardBlock(block, x, y, z);
- }
-
- // renderer.setOverrideBlockTexture(sideTexture);
-
- if (flag)
- {
- renderer.setRenderBounds(0.45D, 0D, 0.45D, 1D, 1D, 0.55D);
- renderer.renderStandardBlock(block, x, y, z);
- }
-
- if (flag1)
- {
- renderer.setRenderBounds(0D, 0D, 0.45D, 0.45D, 1D, 0.55D);
- renderer.renderStandardBlock(block, x, y, z);
- }
-
- if (flag2)
- {
- renderer.setRenderBounds(0.45D, 0D, 0.45D, 0.55D, 1D, 1D);
- renderer.renderStandardBlock(block, x, y, z);
- }
-
- if (flag3)
- {
- renderer.setRenderBounds(0.45D, 0D, 0D, 0.55D, 1D, 0.45D);
- renderer.renderStandardBlock(block, x, y, z);
- }
-
- renderer.clearOverrideBlockTexture();
-
- renderer.renderAllFaces = false;
- return true;
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return false;
- }
-
- @Override
- public int getRenderId ()
- {
- return model;
- }
-
-}
diff --git a/src/main/java/tconstruct/client/block/PaneRender.java b/src/main/java/tconstruct/client/block/PaneRender.java
deleted file mode 100644
index 430b4e14..00000000
--- a/src/main/java/tconstruct/client/block/PaneRender.java
+++ /dev/null
@@ -1,394 +0,0 @@
-package tconstruct.client.block;
-
-import tconstruct.blocks.PaneBase;
-import tconstruct.client.TProxyClient;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.EntityRenderer;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class PaneRender implements ISimpleBlockRenderingHandler
-{
- public static int model = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
- renderer.setRenderBounds(0.0F, 0.0F, 0.4375F, 1.0F, 1.0F, 0.5625F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- }
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
- return renderPaneInWorld(renderer, world, x, y, z, (PaneBase) block);
- }
-
- else
- {
- return false;
- }
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return model;
- }
-
- public static boolean renderPaneInWorld (RenderBlocks renderblocks, IBlockAccess iblockaccess, int x, int y, int z, PaneBase pane)
- {
- int l = iblockaccess.getHeight();
- Tessellator tessellator = Tessellator.instance;
- tessellator.setBrightness(pane.getMixedBrightnessForBlock(iblockaccess, x, y, z));
- float f = 1.0F;
- int i1 = pane.colorMultiplier(iblockaccess, x, y, z);
- float f1 = (float) (i1 >> 16 & 0xff) / 255F;
- float f2 = (float) (i1 >> 8 & 0xff) / 255F;
- float f3 = (float) (i1 & 0xff) / 255F;
- if (EntityRenderer.anaglyphEnable)
- {
- float f4 = (f1 * 30F + f2 * 59F + f3 * 11F) / 100F;
- float f5 = (f1 * 30F + f2 * 70F) / 100F;
- float f6 = (f1 * 30F + f3 * 70F) / 100F;
- f1 = f4;
- f2 = f5;
- f3 = f6;
- }
- tessellator.setColorOpaque_F(f * f1, f * f2, f * f3);
- boolean flag = false;
- boolean flag1 = false;
- Icon icon;
- Icon icon1;
- int meta = iblockaccess.getBlockMetadata(x, y, z);
- icon = renderblocks.getBlockIconFromSideAndMetadata(pane, 0, meta);
- icon1 = pane.getSideTextureIndex(meta);
-
- meta = icon.getIconWidth();
- int k1 = icon.getIconHeight();
- double d = (double) icon.getMinU();
- double d1 = (double) icon.getInterpolatedU(8.0D);
- double d2 = (double) icon.getMaxU();
- double d3 = (double) icon.getMinV();
- double d4 = (double) icon.getMaxV();
- int l1 = icon1.getIconWidth();
- int i2 = icon1.getIconHeight();
- double d5 = (double) icon1.getInterpolatedU(7.0D);
- double d6 = (double) icon1.getInterpolatedU(9.0D);
- double d7 = (double) icon1.getMinV();
- double d8 = (double) icon1.getInterpolatedV(8.0D);
- double d9 = (double) icon1.getMaxV();
-
- /*int blockTextureIndex;
- int blockSideIndex;
-
- int j1 = iblockaccess.getBlockMetadata(x, y, z);
- blockTextureIndex = pane.getBlockTextureFromSideAndMetadata(0, j1);
- blockSideIndex = pane.getSideTextureIndex(j1);
-
- int k1 = (blockTextureIndex & 0xf) << 4;
- int j2 = blockTextureIndex & 0xf0;
- double d = (float) k1 / 256F;
- double d1 = ((float) k1 + 7.99F) / 256F;
- double d2 = ((float) k1 + 15.99F) / 256F;
- double d3 = (float) j2 / 256F;
- double d4 = ((float) j2 + 15.99F) / 256F;
- int k2 = (blockSideIndex & 0xf) << 4;
- int l2 = blockSideIndex & 0xf0;
- double d5 = (float) (k2 + 7) / 256F;
- double d6 = ((float) k2 + 8.99F) / 256F;
- double d7 = (float) l2 / 256F;
- double d8 = (float) (l2 + 8) / 256F;
- double d9 = ((float) l2 + 15.99F) / 256F;*/
-
- double xBot = x;
- double xMid = (double) x + 0.5D;
- double xTop = x + 1;
- double zBot = z;
- double zMid = (double) z + 0.5D;
- double zTop = z + 1;
- double xMidDown = ((double) x + 0.5D) - 0.0625D;
- double xMidUp = (double) x + 0.5D + 0.0625D;
- double zMidDown = ((double) z + 0.5D) - 0.0625D;
- double zMidUp = (double) z + 0.5D + 0.0625D;
- boolean west = pane.canConnectTo(iblockaccess.getBlockId(x, y, z - 1));
- boolean east = pane.canConnectTo(iblockaccess.getBlockId(x, y, z + 1));
- boolean south = pane.canConnectTo(iblockaccess.getBlockId(x - 1, y, z));
- boolean north = pane.canConnectTo(iblockaccess.getBlockId(x + 1, y, z));
- boolean renderAbove = pane.shouldSideBeRendered(iblockaccess, x, y + 1, z, 1);
- boolean renderBelow = pane.shouldSideBeRendered(iblockaccess, x, y - 1, z, 0);
- if ((!south || !north) && (south || north || west || east))
- {
- if (south && !north)
- {
- tessellator.addVertexWithUV(xBot, y + 1, zMidDown, d, d3);
- tessellator.addVertexWithUV(xBot, y + 0, zMidDown, d, d4);
- tessellator.addVertexWithUV(xMid, y + 0, zMidDown, d1, d4);
- tessellator.addVertexWithUV(xMid, y + 1, zMidDown, d1, d3);
- tessellator.addVertexWithUV(xMid, y + 1, zMidUp, d, d3);
- tessellator.addVertexWithUV(xMid, y + 0, zMidUp, d, d4);
- tessellator.addVertexWithUV(xBot, y + 0, zMidUp, d1, d4);
- tessellator.addVertexWithUV(xBot, y + 1, zMidUp, d1, d3);
- if (!east && !west)
- {
- tessellator.addVertexWithUV(xMid, y + 1, zMidUp, d5, d7);
- tessellator.addVertexWithUV(xMid, y + 0, zMidUp, d5, d9);
- tessellator.addVertexWithUV(xMid, y + 0, zMidDown, d6, d9);
- tessellator.addVertexWithUV(xMid, y + 1, zMidDown, d6, d7);
- }
- if (renderAbove || y < l - 1 && iblockaccess.isAirBlock(x - 1, y + 1, z))
- {
- tessellator.addVertexWithUV(xBot, (double) (y + 1) + 0.01D, zMidUp, d6, d8);
- tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidUp, d6, d9);
- tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidDown, d5, d9);
- tessellator.addVertexWithUV(xBot, (double) (y + 1) + 0.01D, zMidDown, d5, d8);
- }
- if (renderBelow || y > 1 && iblockaccess.isAirBlock(x - 1, y - 1, z))
- {
- tessellator.addVertexWithUV(xBot, (double) y - 0.01D, zMidUp, d6, d8);
- tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidUp, d6, d9);
- tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidDown, d5, d9);
- tessellator.addVertexWithUV(xBot, (double) y - 0.01D, zMidDown, d5, d8);
- }
- }
- else if (!south && north)
- {
- tessellator.addVertexWithUV(xMid, y + 1, zMidDown, d1, d3);
- tessellator.addVertexWithUV(xMid, y + 0, zMidDown, d1, d4);
- tessellator.addVertexWithUV(xTop, y + 0, zMidDown, d2, d4);
- tessellator.addVertexWithUV(xTop, y + 1, zMidDown, d2, d3);
- tessellator.addVertexWithUV(xTop, y + 1, zMidUp, d1, d3);
- tessellator.addVertexWithUV(xTop, y + 0, zMidUp, d1, d4);
- tessellator.addVertexWithUV(xMid, y + 0, zMidUp, d2, d4);
- tessellator.addVertexWithUV(xMid, y + 1, zMidUp, d2, d3);
- if (!east && !west)
- {
- tessellator.addVertexWithUV(xMid, y + 1, zMidDown, d5, d7);
- tessellator.addVertexWithUV(xMid, y + 0, zMidDown, d5, d9);
- tessellator.addVertexWithUV(xMid, y + 0, zMidUp, d6, d9);
- tessellator.addVertexWithUV(xMid, y + 1, zMidUp, d6, d7);
- }
- if (renderAbove || y < l - 1 && iblockaccess.isAirBlock(x + 1, y + 1, z))
- {
- tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidUp, d6, d7);
- tessellator.addVertexWithUV(xTop, (double) (y + 1) + 0.01D, zMidUp, d6, d8);
- tessellator.addVertexWithUV(xTop, (double) (y + 1) + 0.01D, zMidDown, d5, d8);
- tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidDown, d5, d7);
- }
- if (renderBelow || y > 1 && iblockaccess.isAirBlock(x + 1, y - 1, z))
- {
- tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidUp, d6, d7);
- tessellator.addVertexWithUV(xTop, (double) y - 0.01D, zMidUp, d6, d8);
- tessellator.addVertexWithUV(xTop, (double) y - 0.01D, zMidDown, d5, d8);
- tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidDown, d5, d7);
- }
- }
- }
- else
- {
- tessellator.addVertexWithUV(xBot, y + 1, zMidDown, d, d3);
- tessellator.addVertexWithUV(xBot, y + 0, zMidDown, d, d4);
- tessellator.addVertexWithUV(xTop, y + 0, zMidDown, d2, d4);
- tessellator.addVertexWithUV(xTop, y + 1, zMidDown, d2, d3);
- tessellator.addVertexWithUV(xTop, y + 1, zMidUp, d, d3);
- tessellator.addVertexWithUV(xTop, y + 0, zMidUp, d, d4);
- tessellator.addVertexWithUV(xBot, y + 0, zMidUp, d2, d4);
- tessellator.addVertexWithUV(xBot, y + 1, zMidUp, d2, d3);
- if (renderAbove)
- {
- tessellator.addVertexWithUV(xBot, (double) (y + 1) + 0.01D, zMidUp, d6, d9);
- tessellator.addVertexWithUV(xTop, (double) (y + 1) + 0.01D, zMidUp, d6, d7);
- tessellator.addVertexWithUV(xTop, (double) (y + 1) + 0.01D, zMidDown, d5, d7);
- tessellator.addVertexWithUV(xBot, (double) (y + 1) + 0.01D, zMidDown, d5, d9);
- }
- else
- {
- if (y < l - 1 && iblockaccess.isAirBlock(x - 1, y + 1, z))
- {
- tessellator.addVertexWithUV(xBot, (double) (y + 1) + 0.01D, zMidUp, d6, d8);
- tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidUp, d6, d9);
- tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidDown, d5, d9);
- tessellator.addVertexWithUV(xBot, (double) (y + 1) + 0.01D, zMidDown, d5, d8);
- }
- if (y < l - 1 && iblockaccess.isAirBlock(x + 1, y + 1, z))
- {
- tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidUp, d6, d7);
- tessellator.addVertexWithUV(xTop, (double) (y + 1) + 0.01D, zMidUp, d6, d8);
- tessellator.addVertexWithUV(xTop, (double) (y + 1) + 0.01D, zMidDown, d5, d8);
- tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidDown, d5, d7);
- }
- }
- if (renderBelow)
- {
- tessellator.addVertexWithUV(xBot, (double) y - 0.01D, zMidUp, d6, d9);
- tessellator.addVertexWithUV(xTop, (double) y - 0.01D, zMidUp, d6, d7);
- tessellator.addVertexWithUV(xTop, (double) y - 0.01D, zMidDown, d5, d7);
- tessellator.addVertexWithUV(xBot, (double) y - 0.01D, zMidDown, d5, d9);
- }
- else
- {
- if (y > 1 && iblockaccess.isAirBlock(x - 1, y - 1, z))
- {
- tessellator.addVertexWithUV(xBot, (double) y - 0.01D, zMidUp, d6, d8);
- tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidUp, d6, d9);
- tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidDown, d5, d9);
- tessellator.addVertexWithUV(xBot, (double) y - 0.01D, zMidDown, d5, d8);
- }
- if (y > 1 && iblockaccess.isAirBlock(x + 1, y - 1, z))
- {
- tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidUp, d6, d7);
- tessellator.addVertexWithUV(xTop, (double) y - 0.01D, zMidUp, d6, d8);
- tessellator.addVertexWithUV(xTop, (double) y - 0.01D, zMidDown, d5, d8);
- tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidDown, d5, d7);
- }
- }
- }
- if ((!west || !east) && (south || north || west || east))
- {
- if (west && !east)
- {
- tessellator.addVertexWithUV(xMidDown, y + 1, zBot, d, d3);
- tessellator.addVertexWithUV(xMidDown, y + 0, zBot, d, d4);
- tessellator.addVertexWithUV(xMidDown, y + 0, zMid, d1, d4);
- tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d1, d3);
- tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d, d3);
- tessellator.addVertexWithUV(xMidUp, y + 0, zMid, d, d4);
- tessellator.addVertexWithUV(xMidUp, y + 0, zBot, d1, d4);
- tessellator.addVertexWithUV(xMidUp, y + 1, zBot, d1, d3);
- if (!north && !south)
- {
- tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d5, d7);
- tessellator.addVertexWithUV(xMidDown, y + 0, zMid, d5, d9);
- tessellator.addVertexWithUV(xMidUp, y + 0, zMid, d6, d9);
- tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d6, d7);
- }
- if (renderAbove || y < l - 1 && iblockaccess.isAirBlock(x, y + 1, z - 1))
- {
- tessellator.addVertexWithUV(xMidDown, y + 1, zBot, d6, d7);
- tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d6, d8);
- tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d5, d8);
- tessellator.addVertexWithUV(xMidUp, y + 1, zBot, d5, d7);
- }
- if (renderBelow || y > 1 && iblockaccess.isAirBlock(x, y - 1, z - 1))
- {
- tessellator.addVertexWithUV(xMidDown, y, zBot, d6, d7);
- tessellator.addVertexWithUV(xMidDown, y, zMid, d6, d8);
- tessellator.addVertexWithUV(xMidUp, y, zMid, d5, d8);
- tessellator.addVertexWithUV(xMidUp, y, zBot, d5, d7);
- }
- }
- else if (!west && east)
- {
- tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d1, d3);
- tessellator.addVertexWithUV(xMidDown, y + 0, zMid, d1, d4);
- tessellator.addVertexWithUV(xMidDown, y + 0, zTop, d2, d4);
- tessellator.addVertexWithUV(xMidDown, y + 1, zTop, d2, d3);
- tessellator.addVertexWithUV(xMidUp, y + 1, zTop, d1, d3);
- tessellator.addVertexWithUV(xMidUp, y + 0, zTop, d1, d4);
- tessellator.addVertexWithUV(xMidUp, y + 0, zMid, d2, d4);
- tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d2, d3);
- if (!north && !south)
- {
- tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d5, d7);
- tessellator.addVertexWithUV(xMidUp, y + 0, zMid, d5, d9);
- tessellator.addVertexWithUV(xMidDown, y + 0, zMid, d6, d9);
- tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d6, d7);
- }
- if (renderAbove || y < l - 1 && iblockaccess.isAirBlock(x, y + 1, z + 1))
- {
- tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d5, d8);
- tessellator.addVertexWithUV(xMidDown, y + 1, zTop, d5, d9);
- tessellator.addVertexWithUV(xMidUp, y + 1, zTop, d6, d9);
- tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d6, d8);
- }
- if (renderBelow || y > 1 && iblockaccess.isAirBlock(x, y - 1, z + 1))
- {
- tessellator.addVertexWithUV(xMidDown, y, zMid, d5, d8);
- tessellator.addVertexWithUV(xMidDown, y, zTop, d5, d9);
- tessellator.addVertexWithUV(xMidUp, y, zTop, d6, d9);
- tessellator.addVertexWithUV(xMidUp, y, zMid, d6, d8);
- }
- }
- }
- else
- {
- tessellator.addVertexWithUV(xMidDown, y + 1, zTop, d, d3);
- tessellator.addVertexWithUV(xMidDown, y + 0, zTop, d, d4);
- tessellator.addVertexWithUV(xMidDown, y + 0, zBot, d2, d4);
- tessellator.addVertexWithUV(xMidDown, y + 1, zBot, d2, d3);
- tessellator.addVertexWithUV(xMidUp, y + 1, zBot, d, d3);
- tessellator.addVertexWithUV(xMidUp, y + 0, zBot, d, d4);
- tessellator.addVertexWithUV(xMidUp, y + 0, zTop, d2, d4);
- tessellator.addVertexWithUV(xMidUp, y + 1, zTop, d2, d3);
- if (renderAbove)
- {
- tessellator.addVertexWithUV(xMidUp, y + 1, zTop, d6, d9);
- tessellator.addVertexWithUV(xMidUp, y + 1, zBot, d6, d7);
- tessellator.addVertexWithUV(xMidDown, y + 1, zBot, d5, d7);
- tessellator.addVertexWithUV(xMidDown, y + 1, zTop, d5, d9);
- }
- else
- {
- if (y < l - 1 && iblockaccess.isAirBlock(x, y + 1, z - 1))
- {
- tessellator.addVertexWithUV(xMidDown, y + 1, zBot, d6, d7);
- tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d6, d8);
- tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d5, d8);
- tessellator.addVertexWithUV(xMidUp, y + 1, zBot, d5, d7);
- }
- if (y < l - 1 && iblockaccess.isAirBlock(x, y + 1, z + 1))
- {
- tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d5, d8);
- tessellator.addVertexWithUV(xMidDown, y + 1, zTop, d5, d9);
- tessellator.addVertexWithUV(xMidUp, y + 1, zTop, d6, d9);
- tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d6, d8);
- }
- }
- if (renderBelow)
- {
- tessellator.addVertexWithUV(xMidUp, y, zTop, d6, d9);
- tessellator.addVertexWithUV(xMidUp, y, zBot, d6, d7);
- tessellator.addVertexWithUV(xMidDown, y, zBot, d5, d7);
- tessellator.addVertexWithUV(xMidDown, y, zTop, d5, d9);
- tessellator.addVertexWithUV(xMidUp, y, zBot, d6, d9);
- tessellator.addVertexWithUV(xMidUp, y, zTop, d6, d7);
- tessellator.addVertexWithUV(xMidDown, y, zTop, d5, d7);
- tessellator.addVertexWithUV(xMidDown, y, zBot, d5, d9);
- }
- else
- {
- if (y > 1 && iblockaccess.isAirBlock(x, y - 1, z - 1))
- {
- tessellator.addVertexWithUV(xMidDown, y, zBot, d6, d7);
- tessellator.addVertexWithUV(xMidDown, y, zMid, d6, d8);
- tessellator.addVertexWithUV(xMidUp, y, zMid, d5, d8);
- tessellator.addVertexWithUV(xMidUp, y, zBot, d5, d7);
- }
- if (y > 1 && iblockaccess.isAirBlock(x, y - 1, z + 1))
- {
- tessellator.addVertexWithUV(xMidDown, y, zMid, d5, d8);
- tessellator.addVertexWithUV(xMidDown, y, zTop, d5, d9);
- tessellator.addVertexWithUV(xMidUp, y, zTop, d6, d9);
- tessellator.addVertexWithUV(xMidUp, y, zMid, d6, d8);
- }
- }
- }
- return true;
- }
-
-}
diff --git a/src/main/java/tconstruct/client/block/PunjiRender.java b/src/main/java/tconstruct/client/block/PunjiRender.java
deleted file mode 100644
index 29348c28..00000000
--- a/src/main/java/tconstruct/client/block/PunjiRender.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.world.IBlockAccess;
-
-import org.lwjgl.opengl.GL11;
-
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class PunjiRender implements ISimpleBlockRenderingHandler
-{
- public static int model = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
- renderer.setRenderBounds(0.4375, 0.0, 0.4375, 0.5625, 1.0f, 0.5625);
- renderStandardInvBlock(renderer, block, metadata);
- }
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
- int metadata = world.getBlockMetadata(x, y, z);
- renderer.setRenderBounds(0.4375, 0.0, 0.4375, 0.5625, 0.375f, 0.5625);
- renderer.renderStandardBlock(block, x, y, z);
- if (metadata >= 1)
- {
- renderer.setRenderBounds(0.125, 0.0, 0.125, 0.25, 0.375f, 0.25);
- renderer.renderStandardBlock(block, x, y, z);
- }
- if (metadata >= 2)
- {
- renderer.setRenderBounds(0.75, 0.0, 0.75, 0.875, 0.375f, 0.875);
- renderer.renderStandardBlock(block, x, y, z);
- }
- if (metadata >= 3)
- {
- renderer.setRenderBounds(0.125, 0.0, 0.75, 0.25, 0.375f, 0.875);
- renderer.renderStandardBlock(block, x, y, z);
- }
- if (metadata >= 4)
- {
- renderer.setRenderBounds(0.75, 0.0, 0.125, 0.875, 0.375f, 0.25);
- renderer.renderStandardBlock(block, x, y, z);
- }
- /*if (metadata == 5)
- {
- renderer.setRenderBounds(0.0F, 0.0, 0.0F, 1.0F, 0.875F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- }
- else
- {
- renderer.setRenderBounds(0.0F, 0.75F, 0.0F, 1.0F, 1.0F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 0.25F, 0.75F, 0.25F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.75F, 0.0F, 0.0F, 1.0F, 0.75F, 0.25F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0F, 0.0F, 0.75F, 0.25F, 0.75F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.75F, 0.0F, 0.75F, 1.0F, 0.75F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- }*/
- }
- return true;
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return model;
- }
-
- public static void renderStandardInvBlock (RenderBlocks renderblocks, Block block, int meta)
- {
- Tessellator tessellator = Tessellator.instance;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1F, 0.0F);
- renderblocks.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderblocks.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1F);
- renderblocks.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderblocks.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1F, 0.0F, 0.0F);
- renderblocks.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderblocks.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
-}
diff --git a/src/main/java/tconstruct/client/block/RenderLandmine.java b/src/main/java/tconstruct/client/block/RenderLandmine.java
deleted file mode 100644
index bf084466..00000000
--- a/src/main/java/tconstruct/client/block/RenderLandmine.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.world.IBlockAccess;
-import net.minecraftforge.common.ForgeDirection;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.util.landmine.Helper;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-/**
- *
- * @author fuj1n
- *
- */
-public class RenderLandmine implements ISimpleBlockRenderingHandler
-{
-
- public static int model = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- GL11.glPushMatrix();
- GL11.glTranslatef(-0.5F, 0F, -0.5F);
-
- renderer.setRenderBounds(0.0625F, 0.0F, 0.0625F, 1.0F - 0.0625F, 0.0625F, 1.0F - 0.0625F);
- Helper.renderInventoryCube(block, metadata, modelID, renderer);
-
- GL11.glPopMatrix();
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
- {
- if (modelId == getRenderId())
- {
- renderBasedOnSide(world, x, y, z, block, modelId, renderer);
- return true;
- }
- else
- {
- return false;
- }
- }
-
- @SuppressWarnings("incomplete-switch")
- public void renderBasedOnSide (IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
- {
- int l = world.getBlockMetadata(x, y, z);
- int i1 = l & 7;
- boolean flag = (l & 8) > 0;
-
- ForgeDirection dir = Helper.convertMetaToForgeOrientation(i1);
-
- //TConstruct.logger.info(i1 + " for " + dir);
-
- switch (dir)
- {
- case DOWN:
- renderer.setRenderBounds(0.0625F, 0.0F, 0.0625F, 1.0F - 0.0625F, 0.0625F, 1.0F - 0.0625F);
- break;
- case UP:
- renderer.setRenderBounds(0.0625F, 1.0F - 0.0625F, 0.0625F, 1.0F - 0.0625F, 1.0F, 1.0F - 0.0625F);
- break;
- case NORTH:
- renderer.setRenderBounds(0.0625F, 0.0625F, 0.0F, 1.0F - 0.0625F, 1.0F - 0.0625F, 0.0625F);
- break;
- case SOUTH:
- renderer.setRenderBounds(0.0625F, 0.0625F, 1.0F - 0.0625F, 1.0F - 0.0625F, 1.0F - 0.0625F, 1.0F);
- break;
- case EAST:
- renderer.setRenderBounds(1.0F - 0.0625F, 0.0625F, 0.0625F, 1.0F, 1.0F - 0.0625F, 1.0F - 0.0625F);
- break;
- case WEST:
- renderer.setRenderBounds(0.0F, 0.0625F, 0.0625F, 0.0625F, 1.0F - 0.0625F, 1.0F - 0.0625F);
- break;
- }
-
- renderer.renderStandardBlock(block, x, y, z);
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return model;
- }
-
-}
diff --git a/src/main/java/tconstruct/client/block/RenderLiquid.java b/src/main/java/tconstruct/client/block/RenderLiquid.java
deleted file mode 100644
index 02caafec..00000000
--- a/src/main/java/tconstruct/client/block/RenderLiquid.java
+++ /dev/null
@@ -1,1669 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.EntityRenderer;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.util.Icon;
-import net.minecraft.world.IBlockAccess;
-
-/**
- * @author BluSunrize
- */
-
-public class RenderLiquid
-{
- public static boolean renderMetadataBlock (Block block, int metadata, int x, int y, int z, RenderBlocks renderer, IBlockAccess world)
- {
- int var5 = block.colorMultiplier(world, x, y, z);
- float var6 = (var5 >> 16 & 0xFF) / 255.0F;
- float var7 = (var5 >> 8 & 0xFF) / 255.0F;
- float var8 = (var5 & 0xFF) / 255.0F;
-
- if (EntityRenderer.anaglyphEnable)
- {
- float var9 = (var6 * 30.0F + var7 * 59.0F + var8 * 11.0F) / 100.0F;
- float var10 = (var6 * 30.0F + var7 * 70.0F) / 100.0F;
- float var11 = (var6 * 30.0F + var8 * 70.0F) / 100.0F;
- var6 = var9;
- var7 = var10;
- var8 = var11;
- }
-
- return (Minecraft.isAmbientOcclusionEnabled()) && (Block.lightValue[block.blockID] == 0) ? renderMetadataBlockWithAmbientOcclusion(block, metadata, x, y, z, var6, var7, var8, renderer, world)
- : renderMetadataBlockWithColorMultiplier(block, metadata, x, y, z, var6, var7, var8, renderer, world);
- }
-
- static boolean renderMetadataBlockWithAmbientOcclusion (Block block, int metadata, int xPos, int yPos, int zPos, float colorRed, float colorGreen, float colorBlue, RenderBlocks render,
- IBlockAccess world)
- {
- render.enableAO = true;
- boolean flag = false;
- float f3 = 0.0F;
- float f4 = 0.0F;
- float f5 = 0.0F;
- float f6 = 0.0F;
- boolean flag1 = true;
- int l = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos);
- Tessellator tessellator = Tessellator.instance;
- tessellator.setBrightness(983055);
-
- if (render.getBlockIcon(block).getIconName().equals("grass_top"))
- {
- flag1 = false;
- }
- else if (render.hasOverrideBlockTexture())
- {
- flag1 = false;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos - 1, zPos, 0)))
- {
- if (render.renderMinY <= 0.0D)
- {
- yPos--;
- }
-
- render.aoBrightnessXYNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessYZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessYZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoBrightnessXYPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoLightValueScratchXYNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchYZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchYZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- boolean flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos - 1, zPos)];
- boolean flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos - 1, zPos)];
- boolean flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos + 1)];
- boolean flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos - 1)];
-
- if ((!flag4) && (!flag2))
- {
- render.aoLightValueScratchXYZNNN = render.aoLightValueScratchXYNN;
- render.aoBrightnessXYZNNN = render.aoBrightnessXYNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos - 1);
- render.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos - 1);
- }
-
- if ((!flag5) && (!flag2))
- {
- render.aoLightValueScratchXYZNNP = render.aoLightValueScratchXYNN;
- render.aoBrightnessXYZNNP = render.aoBrightnessXYNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos + 1);
- render.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos + 1);
- }
-
- if ((!flag4) && (!flag3))
- {
- render.aoLightValueScratchXYZPNN = render.aoLightValueScratchXYPN;
- render.aoBrightnessXYZPNN = render.aoBrightnessXYPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos - 1);
- render.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos - 1);
- }
-
- if ((!flag5) && (!flag3))
- {
- render.aoLightValueScratchXYZPNP = render.aoLightValueScratchXYPN;
- render.aoBrightnessXYZPNP = render.aoBrightnessXYPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos + 1);
- render.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos + 1);
- }
-
- if (render.renderMinY <= 0.0D)
- {
- yPos++;
- }
-
- int i1 = l;
-
- if ((render.renderMinY <= 0.0D) || (!render.blockAccess.isBlockOpaqueCube(xPos, yPos - 1, zPos)))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- }
-
- float f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- f3 = (render.aoLightValueScratchXYZNNP + render.aoLightValueScratchXYNN + render.aoLightValueScratchYZNP + f7) / 4.0F;
- f6 = (render.aoLightValueScratchYZNP + f7 + render.aoLightValueScratchXYZPNP + render.aoLightValueScratchXYPN) / 4.0F;
- f5 = (f7 + render.aoLightValueScratchYZNN + render.aoLightValueScratchXYPN + render.aoLightValueScratchXYZPNN) / 4.0F;
- f4 = (render.aoLightValueScratchXYNN + render.aoLightValueScratchXYZNNN + f7 + render.aoLightValueScratchYZNN) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXYZNNP, render.aoBrightnessXYNN, render.aoBrightnessYZNP, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessYZNP, render.aoBrightnessXYZPNP, render.aoBrightnessXYPN, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessYZNN, render.aoBrightnessXYPN, render.aoBrightnessXYZPNN, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXYNN, render.aoBrightnessXYZNNN, render.aoBrightnessYZNN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.5F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.5F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.5F);
- }
- else
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.5F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.5F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.5F);
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceYNeg(block, xPos, yPos, zPos, block.getIcon(0, metadata));
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos + 1, zPos, 1)))
- {
- if (render.renderMaxY >= 1.0D)
- {
- yPos++;
- }
-
- render.aoBrightnessXYNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessXYPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoBrightnessYZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessYZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchXYPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoLightValueScratchYZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchYZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- boolean flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos + 1, zPos)];
- boolean flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos + 1, zPos)];
- boolean flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos + 1)];
- boolean flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos - 1)];
-
- if ((!flag4) && (!flag2))
- {
- render.aoLightValueScratchXYZNPN = render.aoLightValueScratchXYNP;
- render.aoBrightnessXYZNPN = render.aoBrightnessXYNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos - 1);
- render.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos - 1);
- }
-
- if ((!flag4) && (!flag3))
- {
- render.aoLightValueScratchXYZPPN = render.aoLightValueScratchXYPP;
- render.aoBrightnessXYZPPN = render.aoBrightnessXYPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos - 1);
- render.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos - 1);
- }
-
- if ((!flag5) && (!flag2))
- {
- render.aoLightValueScratchXYZNPP = render.aoLightValueScratchXYNP;
- render.aoBrightnessXYZNPP = render.aoBrightnessXYNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos + 1);
- render.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos + 1);
- }
-
- if ((!flag5) && (!flag3))
- {
- render.aoLightValueScratchXYZPPP = render.aoLightValueScratchXYPP;
- render.aoBrightnessXYZPPP = render.aoBrightnessXYPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos + 1);
- render.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos + 1);
- }
-
- if (render.renderMaxY >= 1.0D)
- {
- yPos--;
- }
-
- int i1 = l;
-
- if ((render.renderMaxY >= 1.0D) || (!render.blockAccess.isBlockOpaqueCube(xPos, yPos + 1, zPos)))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- }
-
- float f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- f6 = (render.aoLightValueScratchXYZNPP + render.aoLightValueScratchXYNP + render.aoLightValueScratchYZPP + f7) / 4.0F;
- f3 = (render.aoLightValueScratchYZPP + f7 + render.aoLightValueScratchXYZPPP + render.aoLightValueScratchXYPP) / 4.0F;
- f4 = (f7 + render.aoLightValueScratchYZPN + render.aoLightValueScratchXYPP + render.aoLightValueScratchXYZPPN) / 4.0F;
- f5 = (render.aoLightValueScratchXYNP + render.aoLightValueScratchXYZNPN + f7 + render.aoLightValueScratchYZPN) / 4.0F;
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXYZNPP, render.aoBrightnessXYNP, render.aoBrightnessYZPP, i1);
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessYZPP, render.aoBrightnessXYZPPP, render.aoBrightnessXYPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessYZPN, render.aoBrightnessXYPP, render.aoBrightnessXYZPPN, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessXYNP, render.aoBrightnessXYZNPN, render.aoBrightnessYZPN, i1);
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue);
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceYPos(block, xPos, yPos, zPos, block.getIcon(1, metadata));
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos - 1, 2)))
- {
- if (render.renderMinZ <= 0.0D)
- {
- zPos--;
- }
-
- render.aoLightValueScratchXZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchYZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchYZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoLightValueScratchXZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoBrightnessXZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessYZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessYZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- boolean flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos - 1)];
- boolean flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos - 1)];
- boolean flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos - 1)];
- boolean flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos - 1)];
-
- if ((!flag2) && (!flag4))
- {
- render.aoLightValueScratchXYZNNN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNNN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos - 1, zPos);
- render.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos - 1, zPos);
- }
-
- if ((!flag2) && (!flag5))
- {
- render.aoLightValueScratchXYZNPN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNPN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos + 1, zPos);
- render.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos + 1, zPos);
- }
-
- if ((!flag3) && (!flag4))
- {
- render.aoLightValueScratchXYZPNN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPNN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos - 1, zPos);
- render.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos - 1, zPos);
- }
-
- if ((!flag3) && (!flag5))
- {
- render.aoLightValueScratchXYZPPN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPPN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos + 1, zPos);
- render.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos + 1, zPos);
- }
-
- if (render.renderMinZ <= 0.0D)
- {
- zPos++;
- }
-
- int i1 = l;
-
- if ((render.renderMinZ <= 0.0D) || (!render.blockAccess.isBlockOpaqueCube(xPos, yPos, zPos - 1)))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- }
-
- float f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- f3 = (render.aoLightValueScratchXZNN + render.aoLightValueScratchXYZNPN + f7 + render.aoLightValueScratchYZPN) / 4.0F;
- f4 = (f7 + render.aoLightValueScratchYZPN + render.aoLightValueScratchXZPN + render.aoLightValueScratchXYZPPN) / 4.0F;
- f5 = (render.aoLightValueScratchYZNN + f7 + render.aoLightValueScratchXYZPNN + render.aoLightValueScratchXZPN) / 4.0F;
- f6 = (render.aoLightValueScratchXYZNNN + render.aoLightValueScratchXZNN + render.aoLightValueScratchYZNN + f7) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXZNN, render.aoBrightnessXYZNPN, render.aoBrightnessYZPN, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessYZPN, render.aoBrightnessXZPN, render.aoBrightnessXYZPPN, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessYZNN, render.aoBrightnessXYZPNN, render.aoBrightnessXZPN, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXYZNNN, render.aoBrightnessXZNN, render.aoBrightnessYZNN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.8F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.8F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.8F);
- }
- else
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.8F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.8F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.8F);
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- Icon icon = block.getIcon(2, metadata);
- render.renderFaceZNeg(block, xPos, yPos, zPos, icon);
-
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos + 1, 3)))
- {
- if (render.renderMaxZ >= 1.0D)
- {
- zPos++;
- }
-
- render.aoLightValueScratchXZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchXZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoLightValueScratchYZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchYZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessXZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoBrightnessYZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessYZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- boolean flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos + 1)];
- boolean flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos + 1)];
- boolean flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos + 1)];
- boolean flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos + 1)];
-
- if ((!flag2) && (!flag4))
- {
- render.aoLightValueScratchXYZNNP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNNP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos - 1, zPos);
- render.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos - 1, zPos);
- }
-
- if ((!flag2) && (!flag5))
- {
- render.aoLightValueScratchXYZNPP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNPP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos + 1, zPos);
- render.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos + 1, zPos);
- }
-
- if ((!flag3) && (!flag4))
- {
- render.aoLightValueScratchXYZPNP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPNP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos - 1, zPos);
- render.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos - 1, zPos);
- }
-
- if ((!flag3) && (!flag5))
- {
- render.aoLightValueScratchXYZPPP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPPP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos + 1, zPos);
- render.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos + 1, zPos);
- }
-
- if (render.renderMaxZ >= 1.0D)
- {
- zPos--;
- }
-
- int i1 = l;
-
- if ((render.renderMaxZ >= 1.0D) || (!render.blockAccess.isBlockOpaqueCube(xPos, yPos, zPos + 1)))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- }
-
- float f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- f3 = (render.aoLightValueScratchXZNP + render.aoLightValueScratchXYZNPP + f7 + render.aoLightValueScratchYZPP) / 4.0F;
- f6 = (f7 + render.aoLightValueScratchYZPP + render.aoLightValueScratchXZPP + render.aoLightValueScratchXYZPPP) / 4.0F;
- f5 = (render.aoLightValueScratchYZNP + f7 + render.aoLightValueScratchXYZPNP + render.aoLightValueScratchXZPP) / 4.0F;
- f4 = (render.aoLightValueScratchXYZNNP + render.aoLightValueScratchXZNP + render.aoLightValueScratchYZNP + f7) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXZNP, render.aoBrightnessXYZNPP, render.aoBrightnessYZPP, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessYZPP, render.aoBrightnessXZPP, render.aoBrightnessXYZPPP, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessYZNP, render.aoBrightnessXYZPNP, render.aoBrightnessXZPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXYZNNP, render.aoBrightnessXZNP, render.aoBrightnessYZNP, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.8F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.8F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.8F);
- }
- else
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.8F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.8F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.8F);
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- Icon icon = block.getIcon(3, metadata);
- render.renderFaceZPos(block, xPos, yPos, zPos, icon);
-
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos - 1, yPos, zPos, 4)))
- {
- if (render.renderMinX <= 0.0D)
- {
- xPos--;
- }
-
- render.aoLightValueScratchXYNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchXZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchXZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXYNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessXZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessXZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoBrightnessXYNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- boolean flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos + 1, zPos)];
- boolean flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos - 1, zPos)];
- boolean flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos - 1)];
- boolean flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos + 1)];
-
- if ((!flag5) && (!flag2))
- {
- render.aoLightValueScratchXYZNNN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNNN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos - 1);
- render.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos - 1);
- }
-
- if ((!flag4) && (!flag2))
- {
- render.aoLightValueScratchXYZNNP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNNP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos + 1);
- render.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos + 1);
- }
-
- if ((!flag5) && (!flag3))
- {
- render.aoLightValueScratchXYZNPN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNPN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos - 1);
- render.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos - 1);
- }
-
- if ((!flag4) && (!flag3))
- {
- render.aoLightValueScratchXYZNPP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNPP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos + 1);
- render.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos + 1);
- }
-
- if (render.renderMinX <= 0.0D)
- {
- xPos++;
- }
-
- int i1 = l;
-
- if ((render.renderMinX <= 0.0D) || (!render.blockAccess.isBlockOpaqueCube(xPos - 1, yPos, zPos)))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- }
-
- float f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- f6 = (render.aoLightValueScratchXYNN + render.aoLightValueScratchXYZNNP + f7 + render.aoLightValueScratchXZNP) / 4.0F;
- f3 = (f7 + render.aoLightValueScratchXZNP + render.aoLightValueScratchXYNP + render.aoLightValueScratchXYZNPP) / 4.0F;
- f4 = (render.aoLightValueScratchXZNN + f7 + render.aoLightValueScratchXYZNPN + render.aoLightValueScratchXYNP) / 4.0F;
- f5 = (render.aoLightValueScratchXYZNNN + render.aoLightValueScratchXYNN + render.aoLightValueScratchXZNN + f7) / 4.0F;
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXYNN, render.aoBrightnessXYZNNP, render.aoBrightnessXZNP, i1);
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXZNP, render.aoBrightnessXYNP, render.aoBrightnessXYZNPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXZNN, render.aoBrightnessXYZNPN, render.aoBrightnessXYNP, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessXYZNNN, render.aoBrightnessXYNN, render.aoBrightnessXZNN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.6F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.6F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.6F);
- }
- else
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.6F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.6F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.6F);
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- Icon icon = block.getIcon(4, metadata);
- render.renderFaceXNeg(block, xPos, yPos, zPos, icon);
-
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos + 1, yPos, zPos, 5)))
- {
- if (render.renderMaxX >= 1.0D)
- {
- xPos++;
- }
-
- render.aoLightValueScratchXYPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchXZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchXZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXYPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessXZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessXZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoBrightnessXYPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- boolean flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos + 1, zPos)];
- boolean flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos - 1, zPos)];
- boolean flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos + 1)];
- boolean flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos - 1)];
-
- if ((!flag2) && (!flag4))
- {
- render.aoLightValueScratchXYZPNN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPNN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos - 1);
- render.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos - 1);
- }
-
- if ((!flag2) && (!flag5))
- {
- render.aoLightValueScratchXYZPNP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPNP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos + 1);
- render.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos + 1);
- }
-
- if ((!flag3) && (!flag4))
- {
- render.aoLightValueScratchXYZPPN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPPN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos - 1);
- render.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos - 1);
- }
-
- if ((!flag3) && (!flag5))
- {
- render.aoLightValueScratchXYZPPP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPPP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos + 1);
- render.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos + 1);
- }
-
- if (render.renderMaxX >= 1.0D)
- {
- xPos--;
- }
-
- int i1 = l;
-
- if ((render.renderMaxX >= 1.0D) || (!render.blockAccess.isBlockOpaqueCube(xPos + 1, yPos, zPos)))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- }
-
- float f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- f3 = (render.aoLightValueScratchXYPN + render.aoLightValueScratchXYZPNP + f7 + render.aoLightValueScratchXZPP) / 4.0F;
- f4 = (render.aoLightValueScratchXYZPNN + render.aoLightValueScratchXYPN + render.aoLightValueScratchXZPN + f7) / 4.0F;
- f5 = (render.aoLightValueScratchXZPN + f7 + render.aoLightValueScratchXYZPPN + render.aoLightValueScratchXYPP) / 4.0F;
- f6 = (f7 + render.aoLightValueScratchXZPP + render.aoLightValueScratchXYPP + render.aoLightValueScratchXYZPPP) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXYPN, render.aoBrightnessXYZPNP, render.aoBrightnessXZPP, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXZPP, render.aoBrightnessXYPP, render.aoBrightnessXYZPPP, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessXZPN, render.aoBrightnessXYZPPN, render.aoBrightnessXYPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXYZPNN, render.aoBrightnessXYPN, render.aoBrightnessXZPN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.6F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.6F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.6F);
- }
- else
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.6F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.6F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.6F);
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- Icon icon = block.getIcon(5, metadata);
- render.renderFaceXPos(block, xPos, yPos, zPos, icon);
-
- flag = true;
- }
-
- render.enableAO = false;
- return flag;
- }
-
- static boolean renderMetadataBlockWithColorMultiplier (Block block, int metadata, int xPos, int yPos, int zPos, float colorRed, float colorGreen, float colorBlue, RenderBlocks render,
- IBlockAccess world)
- {
- render.enableAO = false;
- Tessellator tessellator = Tessellator.instance;
- boolean flag = false;
- float f3 = 0.5F;
- float f4 = 1.0F;
- float f5 = 0.8F;
- float f6 = 0.6F;
- float f7 = f4 * colorRed;
- float f8 = f4 * colorGreen;
- float f9 = f4 * colorBlue;
- float f10 = f3;
- float f11 = f5;
- float f12 = f6;
- float f13 = f3;
- float f14 = f5;
- float f15 = f6;
- float f16 = f3;
- float f17 = f5;
- float f18 = f6;
-
- if (block != Block.grass)
- {
- f10 = f3 * colorRed;
- f11 = f5 * colorRed;
- f12 = f6 * colorRed;
- f13 = f3 * colorGreen;
- f14 = f5 * colorGreen;
- f15 = f6 * colorGreen;
- f16 = f3 * colorBlue;
- f17 = f5 * colorBlue;
- f18 = f6 * colorBlue;
- }
-
- int l = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos);
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos - 1, zPos, 0)))
- {
- tessellator.setBrightness(render.renderMinY > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos));
- tessellator.setColorOpaque_F(f10, f13, f16);
- render.renderFaceYNeg(block, xPos, yPos, zPos, block.getIcon(0, metadata));
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos + 1, zPos, 1)))
- {
- tessellator.setBrightness(render.renderMaxY < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos));
- tessellator.setColorOpaque_F(f7, f8, f9);
- render.renderFaceYPos(block, xPos, yPos, zPos, block.getIcon(1, metadata));
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos - 1, 2)))
- {
- tessellator.setBrightness(render.renderMinZ > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1));
- tessellator.setColorOpaque_F(f11, f14, f17);
- render.renderFaceZNeg(block, xPos, yPos, zPos, block.getIcon(2, metadata));
-
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos + 1, 3)))
- {
- tessellator.setBrightness(render.renderMaxZ < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1));
- tessellator.setColorOpaque_F(f11, f14, f17);
- render.renderFaceZPos(block, xPos, yPos, zPos, block.getIcon(3, metadata));
-
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos - 1, yPos, zPos, 4)))
- {
- tessellator.setBrightness(render.renderMinX > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos));
- tessellator.setColorOpaque_F(f12, f15, f18);
- render.renderFaceXNeg(block, xPos, yPos, zPos, block.getIcon(4, metadata));
-
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos + 1, yPos, zPos, 5)))
- {
- tessellator.setBrightness(render.renderMaxX < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos));
- tessellator.setColorOpaque_F(f12, f15, f18);
- render.renderFaceXPos(block, xPos, yPos, zPos, block.getIcon(5, metadata));
-
- flag = true;
- }
-
- return flag;
- }
-
- public static boolean renderFakeBlock (Icon texture, int x, int y, int z, RenderBlocks renderer, IBlockAccess world)
- {
- Block block = Block.stone;
- int var5 = block.colorMultiplier(world, x, y, z);
- float var6 = (var5 >> 16 & 0xFF) / 255.0F;
- float var7 = (var5 >> 8 & 0xFF) / 255.0F;
- float var8 = (var5 & 0xFF) / 255.0F;
-
- if (EntityRenderer.anaglyphEnable)
- {
- float var9 = (var6 * 30.0F + var7 * 59.0F + var8 * 11.0F) / 100.0F;
- float var10 = (var6 * 30.0F + var7 * 70.0F) / 100.0F;
- float var11 = (var6 * 30.0F + var8 * 70.0F) / 100.0F;
- var6 = var9;
- var7 = var10;
- var8 = var11;
- }
-
- return Minecraft.isAmbientOcclusionEnabled() ? renderFakeBlockWithAmbientOcclusion(texture, x, y, z, var6, var7, var8, renderer, world) : renderFakeBlockWithColorMultiplier(texture, x, y, z,
- var6, var7, var8, renderer, world);
- }
-
- static boolean renderFakeBlockWithAmbientOcclusion (Icon texture, int xPos, int yPos, int zPos, float colorRed, float colorGreen, float colorBlue, RenderBlocks render, IBlockAccess world)
- {
- Block block = Block.stone;
- render.enableAO = true;
- boolean flag = false;
- float f3 = 0.0F;
- float f4 = 0.0F;
- float f5 = 0.0F;
- float f6 = 0.0F;
- boolean flag1 = true;
- int l = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos);
- Tessellator tessellator = Tessellator.instance;
- tessellator.setBrightness(983055);
-
- if (render.getBlockIcon(block).getIconName().equals("grass_top"))
- {
- flag1 = false;
- }
- else if (render.hasOverrideBlockTexture())
- {
- flag1 = false;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos - 1, zPos, 0)))
- {
- if (render.renderMinY <= 0.0D)
- {
- yPos--;
- }
-
- render.aoBrightnessXYNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessYZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessYZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoBrightnessXYPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoLightValueScratchXYNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchYZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchYZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- boolean flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos - 1, zPos)];
- boolean flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos - 1, zPos)];
- boolean flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos + 1)];
- boolean flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos - 1)];
-
- if ((!flag4) && (!flag2))
- {
- render.aoLightValueScratchXYZNNN = render.aoLightValueScratchXYNN;
- render.aoBrightnessXYZNNN = render.aoBrightnessXYNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos - 1);
- render.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos - 1);
- }
-
- if ((!flag5) && (!flag2))
- {
- render.aoLightValueScratchXYZNNP = render.aoLightValueScratchXYNN;
- render.aoBrightnessXYZNNP = render.aoBrightnessXYNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos + 1);
- render.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos + 1);
- }
-
- if ((!flag4) && (!flag3))
- {
- render.aoLightValueScratchXYZPNN = render.aoLightValueScratchXYPN;
- render.aoBrightnessXYZPNN = render.aoBrightnessXYPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos - 1);
- render.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos - 1);
- }
-
- if ((!flag5) && (!flag3))
- {
- render.aoLightValueScratchXYZPNP = render.aoLightValueScratchXYPN;
- render.aoBrightnessXYZPNP = render.aoBrightnessXYPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos + 1);
- render.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos + 1);
- }
-
- if (render.renderMinY <= 0.0D)
- {
- yPos++;
- }
-
- int i1 = l;
-
- if ((render.renderMinY <= 0.0D) || (!render.blockAccess.isBlockOpaqueCube(xPos, yPos - 1, zPos)))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- }
-
- float f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- f3 = (render.aoLightValueScratchXYZNNP + render.aoLightValueScratchXYNN + render.aoLightValueScratchYZNP + f7) / 4.0F;
- f6 = (render.aoLightValueScratchYZNP + f7 + render.aoLightValueScratchXYZPNP + render.aoLightValueScratchXYPN) / 4.0F;
- f5 = (f7 + render.aoLightValueScratchYZNN + render.aoLightValueScratchXYPN + render.aoLightValueScratchXYZPNN) / 4.0F;
- f4 = (render.aoLightValueScratchXYNN + render.aoLightValueScratchXYZNNN + f7 + render.aoLightValueScratchYZNN) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXYZNNP, render.aoBrightnessXYNN, render.aoBrightnessYZNP, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessYZNP, render.aoBrightnessXYZPNP, render.aoBrightnessXYPN, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessYZNN, render.aoBrightnessXYPN, render.aoBrightnessXYZPNN, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXYNN, render.aoBrightnessXYZNNN, render.aoBrightnessYZNN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.5F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.5F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.5F);
- }
- else
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.5F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.5F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.5F);
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceYNeg(block, xPos, yPos, zPos, texture);
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos + 1, zPos, 1)))
- {
- if (render.renderMaxY >= 1.0D)
- {
- yPos++;
- }
-
- render.aoBrightnessXYNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessXYPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoBrightnessYZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessYZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchXYPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoLightValueScratchYZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchYZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- boolean flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos + 1, zPos)];
- boolean flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos + 1, zPos)];
- boolean flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos + 1)];
- boolean flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos - 1)];
-
- if ((!flag4) && (!flag2))
- {
- render.aoLightValueScratchXYZNPN = render.aoLightValueScratchXYNP;
- render.aoBrightnessXYZNPN = render.aoBrightnessXYNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos - 1);
- render.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos - 1);
- }
-
- if ((!flag4) && (!flag3))
- {
- render.aoLightValueScratchXYZPPN = render.aoLightValueScratchXYPP;
- render.aoBrightnessXYZPPN = render.aoBrightnessXYPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos - 1);
- render.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos - 1);
- }
-
- if ((!flag5) && (!flag2))
- {
- render.aoLightValueScratchXYZNPP = render.aoLightValueScratchXYNP;
- render.aoBrightnessXYZNPP = render.aoBrightnessXYNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos + 1);
- render.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos + 1);
- }
-
- if ((!flag5) && (!flag3))
- {
- render.aoLightValueScratchXYZPPP = render.aoLightValueScratchXYPP;
- render.aoBrightnessXYZPPP = render.aoBrightnessXYPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos + 1);
- render.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos + 1);
- }
-
- if (render.renderMaxY >= 1.0D)
- {
- yPos--;
- }
-
- int i1 = l;
-
- if ((render.renderMaxY >= 1.0D) || (!render.blockAccess.isBlockOpaqueCube(xPos, yPos + 1, zPos)))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- }
-
- float f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- f6 = (render.aoLightValueScratchXYZNPP + render.aoLightValueScratchXYNP + render.aoLightValueScratchYZPP + f7) / 4.0F;
- f3 = (render.aoLightValueScratchYZPP + f7 + render.aoLightValueScratchXYZPPP + render.aoLightValueScratchXYPP) / 4.0F;
- f4 = (f7 + render.aoLightValueScratchYZPN + render.aoLightValueScratchXYPP + render.aoLightValueScratchXYZPPN) / 4.0F;
- f5 = (render.aoLightValueScratchXYNP + render.aoLightValueScratchXYZNPN + f7 + render.aoLightValueScratchYZPN) / 4.0F;
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXYZNPP, render.aoBrightnessXYNP, render.aoBrightnessYZPP, i1);
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessYZPP, render.aoBrightnessXYZPPP, render.aoBrightnessXYPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessYZPN, render.aoBrightnessXYPP, render.aoBrightnessXYZPPN, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessXYNP, render.aoBrightnessXYZNPN, render.aoBrightnessYZPN, i1);
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue);
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceYPos(block, xPos, yPos, zPos, texture);
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos - 1, 2)))
- {
- if (render.renderMinZ <= 0.0D)
- {
- zPos--;
- }
-
- render.aoLightValueScratchXZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchYZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchYZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoLightValueScratchXZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoBrightnessXZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessYZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessYZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- boolean flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos - 1)];
- boolean flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos - 1)];
- boolean flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos - 1)];
- boolean flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos - 1)];
-
- if ((!flag2) && (!flag4))
- {
- render.aoLightValueScratchXYZNNN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNNN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos - 1, zPos);
- render.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos - 1, zPos);
- }
-
- if ((!flag2) && (!flag5))
- {
- render.aoLightValueScratchXYZNPN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNPN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos + 1, zPos);
- render.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos + 1, zPos);
- }
-
- if ((!flag3) && (!flag4))
- {
- render.aoLightValueScratchXYZPNN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPNN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos - 1, zPos);
- render.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos - 1, zPos);
- }
-
- if ((!flag3) && (!flag5))
- {
- render.aoLightValueScratchXYZPPN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPPN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos + 1, zPos);
- render.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos + 1, zPos);
- }
-
- if (render.renderMinZ <= 0.0D)
- {
- zPos++;
- }
-
- int i1 = l;
-
- if ((render.renderMinZ <= 0.0D) || (!render.blockAccess.isBlockOpaqueCube(xPos, yPos, zPos - 1)))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- }
-
- float f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- f3 = (render.aoLightValueScratchXZNN + render.aoLightValueScratchXYZNPN + f7 + render.aoLightValueScratchYZPN) / 4.0F;
- f4 = (f7 + render.aoLightValueScratchYZPN + render.aoLightValueScratchXZPN + render.aoLightValueScratchXYZPPN) / 4.0F;
- f5 = (render.aoLightValueScratchYZNN + f7 + render.aoLightValueScratchXYZPNN + render.aoLightValueScratchXZPN) / 4.0F;
- f6 = (render.aoLightValueScratchXYZNNN + render.aoLightValueScratchXZNN + render.aoLightValueScratchYZNN + f7) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXZNN, render.aoBrightnessXYZNPN, render.aoBrightnessYZPN, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessYZPN, render.aoBrightnessXZPN, render.aoBrightnessXYZPPN, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessYZNN, render.aoBrightnessXYZPNN, render.aoBrightnessXZPN, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXYZNNN, render.aoBrightnessXZNN, render.aoBrightnessYZNN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.8F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.8F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.8F);
- }
- else
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.8F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.8F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.8F);
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceZNeg(block, xPos, yPos, zPos, texture);
-
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos + 1, 3)))
- {
- if (render.renderMaxZ >= 1.0D)
- {
- zPos++;
- }
-
- render.aoLightValueScratchXZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoLightValueScratchXZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoLightValueScratchYZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchYZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- render.aoBrightnessXZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- render.aoBrightnessYZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessYZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- boolean flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos + 1)];
- boolean flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos + 1)];
- boolean flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos + 1, zPos + 1)];
- boolean flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos, yPos - 1, zPos + 1)];
-
- if ((!flag2) && (!flag4))
- {
- render.aoLightValueScratchXYZNNP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNNP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos - 1, zPos);
- render.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos - 1, zPos);
- }
-
- if ((!flag2) && (!flag5))
- {
- render.aoLightValueScratchXYZNPP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNPP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos + 1, zPos);
- render.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos + 1, zPos);
- }
-
- if ((!flag3) && (!flag4))
- {
- render.aoLightValueScratchXYZPNP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPNP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos - 1, zPos);
- render.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos - 1, zPos);
- }
-
- if ((!flag3) && (!flag5))
- {
- render.aoLightValueScratchXYZPPP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPPP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos + 1, zPos);
- render.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos + 1, zPos);
- }
-
- if (render.renderMaxZ >= 1.0D)
- {
- zPos--;
- }
-
- int i1 = l;
-
- if ((render.renderMaxZ >= 1.0D) || (!render.blockAccess.isBlockOpaqueCube(xPos, yPos, zPos + 1)))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- }
-
- float f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- f3 = (render.aoLightValueScratchXZNP + render.aoLightValueScratchXYZNPP + f7 + render.aoLightValueScratchYZPP) / 4.0F;
- f6 = (f7 + render.aoLightValueScratchYZPP + render.aoLightValueScratchXZPP + render.aoLightValueScratchXYZPPP) / 4.0F;
- f5 = (render.aoLightValueScratchYZNP + f7 + render.aoLightValueScratchXYZPNP + render.aoLightValueScratchXZPP) / 4.0F;
- f4 = (render.aoLightValueScratchXYZNNP + render.aoLightValueScratchXZNP + render.aoLightValueScratchYZNP + f7) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXZNP, render.aoBrightnessXYZNPP, render.aoBrightnessYZPP, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessYZPP, render.aoBrightnessXZPP, render.aoBrightnessXYZPPP, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessYZNP, render.aoBrightnessXYZPNP, render.aoBrightnessXZPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXYZNNP, render.aoBrightnessXZNP, render.aoBrightnessYZNP, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.8F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.8F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.8F);
- }
- else
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.8F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.8F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.8F);
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceZPos(block, xPos, yPos, zPos, texture);
-
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos - 1, yPos, zPos, 4)))
- {
- if (render.renderMinX <= 0.0D)
- {
- xPos--;
- }
-
- render.aoLightValueScratchXYNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchXZNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchXZNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXYNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessXZNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessXZNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoBrightnessXYNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- boolean flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos + 1, zPos)];
- boolean flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos - 1, zPos)];
- boolean flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos - 1)];
- boolean flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos - 1, yPos, zPos + 1)];
-
- if ((!flag5) && (!flag2))
- {
- render.aoLightValueScratchXYZNNN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNNN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos - 1);
- render.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos - 1);
- }
-
- if ((!flag4) && (!flag2))
- {
- render.aoLightValueScratchXYZNNP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNNP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos + 1);
- render.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos + 1);
- }
-
- if ((!flag5) && (!flag3))
- {
- render.aoLightValueScratchXYZNPN = render.aoLightValueScratchXZNN;
- render.aoBrightnessXYZNPN = render.aoBrightnessXZNN;
- }
- else
- {
- render.aoLightValueScratchXYZNPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos - 1);
- render.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos - 1);
- }
-
- if ((!flag4) && (!flag3))
- {
- render.aoLightValueScratchXYZNPP = render.aoLightValueScratchXZNP;
- render.aoBrightnessXYZNPP = render.aoBrightnessXZNP;
- }
- else
- {
- render.aoLightValueScratchXYZNPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos + 1);
- render.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos + 1);
- }
-
- if (render.renderMinX <= 0.0D)
- {
- xPos++;
- }
-
- int i1 = l;
-
- if ((render.renderMinX <= 0.0D) || (!render.blockAccess.isBlockOpaqueCube(xPos - 1, yPos, zPos)))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos);
- }
-
- float f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos - 1, yPos, zPos);
- f6 = (render.aoLightValueScratchXYNN + render.aoLightValueScratchXYZNNP + f7 + render.aoLightValueScratchXZNP) / 4.0F;
- f3 = (f7 + render.aoLightValueScratchXZNP + render.aoLightValueScratchXYNP + render.aoLightValueScratchXYZNPP) / 4.0F;
- f4 = (render.aoLightValueScratchXZNN + f7 + render.aoLightValueScratchXYZNPN + render.aoLightValueScratchXYNP) / 4.0F;
- f5 = (render.aoLightValueScratchXYZNNN + render.aoLightValueScratchXYNN + render.aoLightValueScratchXZNN + f7) / 4.0F;
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXYNN, render.aoBrightnessXYZNNP, render.aoBrightnessXZNP, i1);
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXZNP, render.aoBrightnessXYNP, render.aoBrightnessXYZNPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXZNN, render.aoBrightnessXYZNPN, render.aoBrightnessXYNP, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessXYZNNN, render.aoBrightnessXYNN, render.aoBrightnessXZNN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.6F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.6F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.6F);
- }
- else
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.6F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.6F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.6F);
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceXNeg(block, xPos, yPos, zPos, texture);
-
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos + 1, yPos, zPos, 5)))
- {
- if (render.renderMaxX >= 1.0D)
- {
- xPos++;
- }
-
- render.aoLightValueScratchXYPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoLightValueScratchXZPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoLightValueScratchXZPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoLightValueScratchXYPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos);
- render.aoBrightnessXYPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos);
- render.aoBrightnessXZPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1);
- render.aoBrightnessXZPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1);
- render.aoBrightnessXYPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos);
- boolean flag3 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos + 1, zPos)];
- boolean flag2 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos - 1, zPos)];
- boolean flag5 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos + 1)];
- boolean flag4 = Block.canBlockGrass[render.blockAccess.getBlockId(xPos + 1, yPos, zPos - 1)];
-
- if ((!flag2) && (!flag4))
- {
- render.aoLightValueScratchXYZPNN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPNN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPNN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos - 1);
- render.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos - 1);
- }
-
- if ((!flag2) && (!flag5))
- {
- render.aoLightValueScratchXYZPNP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPNP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPNP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos - 1, zPos + 1);
- render.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos + 1);
- }
-
- if ((!flag3) && (!flag4))
- {
- render.aoLightValueScratchXYZPPN = render.aoLightValueScratchXZPN;
- render.aoBrightnessXYZPPN = render.aoBrightnessXZPN;
- }
- else
- {
- render.aoLightValueScratchXYZPPN = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos - 1);
- render.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos - 1);
- }
-
- if ((!flag3) && (!flag5))
- {
- render.aoLightValueScratchXYZPPP = render.aoLightValueScratchXZPP;
- render.aoBrightnessXYZPPP = render.aoBrightnessXZPP;
- }
- else
- {
- render.aoLightValueScratchXYZPPP = block.getAmbientOcclusionLightValue(render.blockAccess, xPos, yPos + 1, zPos + 1);
- render.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos + 1);
- }
-
- if (render.renderMaxX >= 1.0D)
- {
- xPos--;
- }
-
- int i1 = l;
-
- if ((render.renderMaxX >= 1.0D) || (!render.blockAccess.isBlockOpaqueCube(xPos + 1, yPos, zPos)))
- {
- i1 = block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos);
- }
-
- float f7 = block.getAmbientOcclusionLightValue(render.blockAccess, xPos + 1, yPos, zPos);
- f3 = (render.aoLightValueScratchXYPN + render.aoLightValueScratchXYZPNP + f7 + render.aoLightValueScratchXZPP) / 4.0F;
- f4 = (render.aoLightValueScratchXYZPNN + render.aoLightValueScratchXYPN + render.aoLightValueScratchXZPN + f7) / 4.0F;
- f5 = (render.aoLightValueScratchXZPN + f7 + render.aoLightValueScratchXYZPPN + render.aoLightValueScratchXYPP) / 4.0F;
- f6 = (f7 + render.aoLightValueScratchXZPP + render.aoLightValueScratchXYPP + render.aoLightValueScratchXYZPPP) / 4.0F;
- render.brightnessTopLeft = render.getAoBrightness(render.aoBrightnessXYPN, render.aoBrightnessXYZPNP, render.aoBrightnessXZPP, i1);
- render.brightnessTopRight = render.getAoBrightness(render.aoBrightnessXZPP, render.aoBrightnessXYPP, render.aoBrightnessXYZPPP, i1);
- render.brightnessBottomRight = render.getAoBrightness(render.aoBrightnessXZPN, render.aoBrightnessXYZPPN, render.aoBrightnessXYPP, i1);
- render.brightnessBottomLeft = render.getAoBrightness(render.aoBrightnessXYZPNN, render.aoBrightnessXYPN, render.aoBrightnessXZPN, i1);
-
- if (flag1)
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = colorRed * 0.6F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = colorGreen * 0.6F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = colorBlue * 0.6F);
- }
- else
- {
- render.colorRedTopLeft = (render.colorRedBottomLeft = render.colorRedBottomRight = render.colorRedTopRight = 0.6F);
- render.colorGreenTopLeft = (render.colorGreenBottomLeft = render.colorGreenBottomRight = render.colorGreenTopRight = 0.6F);
- render.colorBlueTopLeft = (render.colorBlueBottomLeft = render.colorBlueBottomRight = render.colorBlueTopRight = 0.6F);
- }
-
- render.colorRedTopLeft *= f3;
- render.colorGreenTopLeft *= f3;
- render.colorBlueTopLeft *= f3;
- render.colorRedBottomLeft *= f4;
- render.colorGreenBottomLeft *= f4;
- render.colorBlueBottomLeft *= f4;
- render.colorRedBottomRight *= f5;
- render.colorGreenBottomRight *= f5;
- render.colorBlueBottomRight *= f5;
- render.colorRedTopRight *= f6;
- render.colorGreenTopRight *= f6;
- render.colorBlueTopRight *= f6;
- render.renderFaceXPos(block, xPos, yPos, zPos, texture);
-
- flag = true;
- }
-
- render.enableAO = false;
- return flag;
- }
-
- static boolean renderFakeBlockWithColorMultiplier (Icon texture, int xPos, int yPos, int zPos, float colorRed, float colorGreen, float colorBlue, RenderBlocks render, IBlockAccess world)
- {
- Block block = Block.stone;
- render.enableAO = false;
- Tessellator tessellator = Tessellator.instance;
- boolean flag = false;
- float f3 = 0.5F;
- float f4 = 1.0F;
- float f5 = 0.8F;
- float f6 = 0.6F;
- float f7 = f4 * colorRed;
- float f8 = f4 * colorGreen;
- float f9 = f4 * colorBlue;
- float f10 = f3;
- float f11 = f5;
- float f12 = f6;
- float f13 = f3;
- float f14 = f5;
- float f15 = f6;
- float f16 = f3;
- float f17 = f5;
- float f18 = f6;
-
- if (block != Block.grass)
- {
- f10 = f3 * colorRed;
- f11 = f5 * colorRed;
- f12 = f6 * colorRed;
- f13 = f3 * colorGreen;
- f14 = f5 * colorGreen;
- f15 = f6 * colorGreen;
- f16 = f3 * colorBlue;
- f17 = f5 * colorBlue;
- f18 = f6 * colorBlue;
- }
-
- int l = block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos);
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos - 1, zPos, 0)))
- {
- tessellator.setBrightness(render.renderMinY > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos - 1, zPos));
- tessellator.setColorOpaque_F(f10, f13, f16);
- render.renderFaceYNeg(block, xPos, yPos, zPos, texture);
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos + 1, zPos, 1)))
- {
- tessellator.setBrightness(render.renderMaxY < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos + 1, zPos));
- tessellator.setColorOpaque_F(f7, f8, f9);
- render.renderFaceYPos(block, xPos, yPos, zPos, texture);
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos - 1, 2)))
- {
- tessellator.setBrightness(render.renderMinZ > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos - 1));
- tessellator.setColorOpaque_F(f11, f14, f17);
- render.renderFaceZNeg(block, xPos, yPos, zPos, texture);
-
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos, yPos, zPos + 1, 3)))
- {
- tessellator.setBrightness(render.renderMaxZ < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos, yPos, zPos + 1));
- tessellator.setColorOpaque_F(f11, f14, f17);
- render.renderFaceZPos(block, xPos, yPos, zPos, texture);
-
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos - 1, yPos, zPos, 4)))
- {
- tessellator.setBrightness(render.renderMinX > 0.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos - 1, yPos, zPos));
- tessellator.setColorOpaque_F(f12, f15, f18);
- render.renderFaceXNeg(block, xPos, yPos, zPos, texture);
-
- flag = true;
- }
-
- if ((render.renderAllFaces) || (block.shouldSideBeRendered(render.blockAccess, xPos + 1, yPos, zPos, 5)))
- {
- tessellator.setBrightness(render.renderMaxX < 1.0D ? l : block.getMixedBrightnessForBlock(render.blockAccess, xPos + 1, yPos, zPos));
- tessellator.setColorOpaque_F(f12, f15, f18);
- render.renderFaceXPos(block, xPos, yPos, zPos, texture);
-
- flag = true;
- }
-
- return flag;
- }
-}
diff --git a/src/main/java/tconstruct/client/block/SearedRender.java b/src/main/java/tconstruct/client/block/SearedRender.java
deleted file mode 100644
index 054151a2..00000000
--- a/src/main/java/tconstruct/client/block/SearedRender.java
+++ /dev/null
@@ -1,434 +0,0 @@
-package tconstruct.client.block;
-
-import cpw.mods.fml.client.registry.*;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.IBlockAccess;
-import net.minecraftforge.fluids.Fluid;
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.*;
-import tconstruct.client.TProxyClient;
-import tconstruct.common.TContent;
-import tconstruct.library.crafting.CastingRecipe;
-
-public class SearedRender implements ISimpleBlockRenderingHandler
-{
- public static int searedModel = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- if (modelID == searedModel)
- {
- if (metadata == 0)
- {
- //Top
- renderer.setRenderBounds(0.0F, 0.625F, 0.0F, 1.0F, 0.9375F, 1.0F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
-
- //Lip
- renderer.setRenderBounds(0.0F, 0.9375, 0.0F, 0.0625, 1.0, 1.0F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.0625, 0.9375, 0.9375, 0.9375, 1.0, 1.0F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.9375, 0.9375, 0.0F, 1.0F, 1.0, 1.0F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.0625, 0.9375, 0.0F, 0.9375, 1.0, 0.0625);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
-
- //Legs
- renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 0.3125F, 0.625F, 0.3125F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.6875, 0.0F, 0.0F, 1.0F, 0.625F, 0.25F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.0F, 0.0F, 0.6875, 0.3125F, 0.625F, 1.0F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.6875, 0.0F, 0.6875, 1.0F, 0.625F, 1.0F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- }
- else if (metadata == 1)
- {
- renderer.setRenderBounds(0.25, 0.25, 0.625, 0.75, 0.375, 1);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.25, 0.25, 0.625, 0.375, 0.625, 1);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.625, 0.25, 0.625, 0.75, 0.625, 1);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.375, 0.375, 0.625, 0.625, 0.625, 1);
- }
- else if (metadata == 2)
- {
- renderer.setRenderBounds(0.125F, 0.125f, 0.125F, 0.875F, 0.25F, 0.875F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
-
- //Details
- renderer.setRenderBounds(0.001f, 0.1245f, 0.001f, 0.1245f, 0.999f, 0.4375f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.001f, 0.1245f, 0.5625f, 0.1245f, 0.999f, 0.999f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.001f, 0.8755f, 0.4375f, 0.1245f, 0.999f, 0.5625f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.001f, 0.1245f, 0.4375f, 0.1245f, 0.25F, 0.5625f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
-
- renderer.setRenderBounds(0.8755f, 0.1245f, 0f, 0.999f, 0.999f, 0.4375f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.8755f, 0.1245f, 0.5625f, 0.999f, 0.999f, 0.999f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.8755f, 0.8755f, 0.4375f, 0.999f, 0.999f, 0.5625f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.8755f, 0.1245f, 0.4375f, 0.999f, 0.25F, 0.5625f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
-
- renderer.setRenderBounds(0.1245f, 0.1245f, 0.8755f, 0.4375f, 0.999f, 0.999f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.5625f, 0.1245f, 0.8755f, 0.8755f, 0.999f, 0.999f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.4375f, 0.8755f, 0.8755f, 0.5625f, 0.999f, 0.999f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.4375f, 0.1245f, 0.8755f, 0.5625f, 0.2495F, 0.999f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
-
- renderer.setRenderBounds(0.1245f, 0.1245f, 0.001f, 0.4375f, 0.999f, 0.1245f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.5625f, 0.1245f, 0.001f, 0.8755f, 0.999f, 0.1245f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.4375f, 0.8755f, 0.001f, 0.5625f, 0.999f, 0.1245f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.4375f, 0.1245f, 0.001f, 0.5625f, 0.25F, 0.1245f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
-
- //Legs
- renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 0.3125F, 0.125, 0.3125F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.6875F, 0.0F, 0.0F, 1.0F, 0.125, 0.3125F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.0F, 0.0F, 0.6875F, 0.3125F, 0.125, 1.0F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.6875F, 0.0F, 0.6875F, 1.0F, 0.125, 1.0F);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
-
- //Outside
- renderer.setRenderBounds(0.0f, 0.125, 0f, 0.125, 1.0F, 1);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.875f, 0.125, 0f, 1, 1.0F, 1);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.125f, 0.125, 0f, 0.875f, 1.0F, 0.125f);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.125f, 0.125, 0.875f, 0.875f, 1.0F, 1);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- }
- else
- {
- renderer.setRenderBounds(0, 0, 0, 1, 1, 1);
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- }
- }
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
- {
- if (modelID == searedModel)
- {
- int metadata = world.getBlockMetadata(x, y, z);
- if (metadata == 0)
- {
- //Top
- renderer.setRenderBounds(0.0F, 0.625F, 0.0F, 1.0F, 0.9375F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
-
- //Lip
- renderer.setRenderBounds(0.0F, 0.9375, 0.0F, 0.0625, 1.0, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0625, 0.9375, 0.9375, 0.9375, 1.0, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.9375, 0.9375, 0.0F, 1.0F, 1.0, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0625, 0.9375, 0.0F, 0.9375, 1.0, 0.0625);
- renderer.renderStandardBlock(block, x, y, z);
-
- //Legs
- renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 0.3125F, 0.625F, 0.3125F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.6875, 0.0F, 0.0F, 1.0F, 0.625F, 0.25F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0F, 0.0F, 0.6875, 0.3125F, 0.625F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.6875, 0.0F, 0.6875, 1.0F, 0.625F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
-
- if (world.getBlockTileEntity(x, y, z) instanceof CastingTableLogic)
- {
- CastingTableLogic logic = (CastingTableLogic) world.getBlockTileEntity(x, y, z);
- if (logic.liquid != null)
- {
- float minHeight = 0.9375F;
- float maxHeight = 1F;
-
- float minX = 0.0625F;
- float maxX = 0.9375F;
- float minZ = 0.0625F;
- float maxZ = 0.9375F;
-
- ItemStack it = logic.getStackInSlot(0);
- if (it != null)
- {
- CastingRecipe rec = TConstruct.tableCasting.getCastingRecipe(logic.liquid, it);
- if (rec != null && rec.fluidRenderProperties != null)
- {
- minHeight = rec.fluidRenderProperties.minHeight;
- maxHeight = rec.fluidRenderProperties.maxHeight;
-
- minX = rec.fluidRenderProperties.minX;
- maxX = rec.fluidRenderProperties.maxX;
- minZ = rec.fluidRenderProperties.minZ;
- maxZ = rec.fluidRenderProperties.maxZ;
- }
- }
-
- float percent = (float) logic.getLiquidAmount() / (float) logic.getCapacity();
- float height = percent * (maxHeight - minHeight);
- //float height = logic.getLiquidAmount() / (logic.getCapacity() * 1.03F) / 16F;
- renderer.setRenderBounds(minX, minHeight, minZ, maxX, minHeight + height, maxZ);
-
- Fluid fluid = logic.liquid.getFluid();
- BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world);
- }
- }
- }
- else if (metadata == 1)
- {
- if (world.getBlockTileEntity(x, y, z) instanceof FaucetLogic)
- {
- FaucetLogic logic = (FaucetLogic) world.getBlockTileEntity(x, y, z);
- float xMin = 0.375F, zMin = 0.375F, xMax = 0.625F, zMax = 0.625F;
- switch (logic.getRenderDirection())
- {
- case 2:
- renderer.setRenderBounds(0.25, 0.25, 0.625, 0.75, 0.375, 1);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.25, 0.375, 0.625, 0.375, 0.625, 1);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.625, 0.375, 0.625, 0.75, 0.625, 1);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.375, 0.375, 0.625, 0.625, 0.625, 1);
- zMin = 0.5F;
- //zMin = 0.625F;
- break;
- case 3:
- renderer.setRenderBounds(0.25, 0.25, 0, 0.75, 0.375, 0.375);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.25, 0.375, 0, 0.375, 0.625, 0.375);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.625, 0.375, 0, 0.75, 0.625, 0.375);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.375, 0.375, 0, 0.625, 0.625, 0.375);
- zMax = 0.5F;
- break;
- case 4:
- renderer.setRenderBounds(0.625, 0.25, 0.25, 1, 0.375, 0.75);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.625, 0.375, 0.25, 1, 0.625, 0.375);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.625, 0.375, 0.625, 1, 0.625, 0.75);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.625, 0.375, 0.375, 1, 0.625, 0.625);
- xMin = 0.5F;
- break;
- case 5:
- renderer.setRenderBounds(0, 0.25, 0.25, 0.375, 0.375, 0.75);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0, 0.375, 0.25, 0.375, 0.625, 0.375);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0, 0.375, 0.625, 0.375, 0.625, 0.75);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0, 0.375, 0.375, 0.375, 0.625, 0.625);
- xMax = 0.5F;
- break;
- }
-
- float yMin = 0F;
- int uID = world.getBlockId(x, y - 1, z);
- int uMeta = world.getBlockMetadata(x, y - 1, z);
- if (uID == TContent.searedBlock.blockID && uMeta == 0)
- {
- yMin = -0.125F;
- }
- else if (uID == TContent.searedBlock.blockID && uMeta == 2)
- {
- yMin = -0.75F;
- }
- else if (uID == TContent.lavaTank.blockID)
- {
- yMin = -1F;
- }
- else if (uID == TContent.castingChannel.blockID)
- {
- yMin = -0.5F;
- }
-
- if (logic.liquid != null)
- {
- Fluid fluid = logic.liquid.getFluid();
- renderer.setRenderBounds(xMin, yMin, zMin, xMax, 0.625, zMax);
- BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world);
-
- //float xMin = 0.375F, zMin = 0.375F, xMax = 0.625F, zMax = 0.625F;
- switch (logic.getRenderDirection())
- {
- case 3:
- zMin = 0.0F;
- zMax = 0.375F;
- break;
- case 2:
- zMin = 0.625F;
- zMax = 1.0F;
- break;
- case 5:
- xMin = 0.0F;
- xMax = 0.375F;
- break;
- case 4:
- xMin = 0.625F;
- xMax = 1.0F;
- break;
- }
- renderer.setRenderBounds(xMin, 0.5F, zMin, xMax, 0.625F, zMax);
- BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world);
- }
- }
- }
- else if (metadata == 2)
- {
- renderer.setRenderBounds(0.125F, 0.125f, 0.125F, 0.875F, 0.25F, 0.875F);
- renderer.renderStandardBlock(block, x, y, z);
-
- //Outside
- renderer.setRenderBounds(0.0f, 0.125, 0f, 0.125, 1.0F, 1);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.875f, 0.125, 0f, 1, 1.0F, 1);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.125f, 0.125, 0f, 0.875f, 1.0F, 0.125f);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.125f, 0.125, 0.875f, 0.875f, 1.0F, 1);
- renderer.renderStandardBlock(block, x, y, z);
-
- //Details
-
- renderer.setRenderBounds(0.001f, 0.1245f, 0.001f, 0.1245f, 0.999f, 0.4375f);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.001f, 0.1245f, 0.5625f, 0.1245f, 0.999f, 0.999f);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.001f, 0.8755f, 0.4375f, 0.1245f, 0.999f, 0.5625f);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.001f, 0.1245f, 0.4375f, 0.1245f, 0.25F, 0.5625f);
- renderer.renderStandardBlock(block, x, y, z);
-
- renderer.setRenderBounds(0.8755f, 0.1245f, 0f, 0.999f, 0.999f, 0.4375f);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.8755f, 0.1245f, 0.5625f, 0.999f, 0.999f, 0.999f);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.8755f, 0.8755f, 0.4375f, 0.999f, 0.999f, 0.5625f);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.8755f, 0.1245f, 0.4375f, 0.999f, 0.25F, 0.5625f);
- renderer.renderStandardBlock(block, x, y, z);
-
- renderer.setRenderBounds(0.1245f, 0.1245f, 0.8755f, 0.4375f, 0.999f, 0.999f);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.5625f, 0.1245f, 0.8755f, 0.8755f, 0.999f, 0.999f);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.4375f, 0.8755f, 0.8755f, 0.5625f, 0.999f, 0.999f);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.4375f, 0.1245f, 0.8755f, 0.5625f, 0.2495F, 0.999f);
- renderer.renderStandardBlock(block, x, y, z);
-
- renderer.setRenderBounds(0.1245f, 0.1245f, 0.001f, 0.4375f, 0.999f, 0.1245f);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.5625f, 0.1245f, 0.001f, 0.8755f, 0.999f, 0.1245f);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.4375f, 0.8755f, 0.001f, 0.5625f, 0.999f, 0.1245f);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.4375f, 0.1245f, 0.001f, 0.5625f, 0.25F, 0.1245f);
- renderer.renderStandardBlock(block, x, y, z);
-
- //Legs
- renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 0.3125F, 0.125, 0.3125F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.6875F, 0.0F, 0.0F, 1.0F, 0.125, 0.3125F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0F, 0.0F, 0.6875F, 0.3125F, 0.125, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.6875F, 0.0F, 0.6875F, 1.0F, 0.125, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
-
- //Liquids
- if (world.getBlockTileEntity(x, y, z) instanceof CastingBasinLogic)
- {
- CastingBasinLogic logic = (CastingBasinLogic) world.getBlockTileEntity(x, y, z);
- if (logic.liquid != null)
- {
- float minHeight = 0.25F;
- float maxHeight = 0.95F;
-
- float minX = 0.0625F;
- float maxX = 0.9375F;
- float minZ = 0.0625F;
- float maxZ = 0.9375F;
-
- ItemStack it = logic.getStackInSlot(0);
- if (it != null)
- {
- CastingRecipe rec = TConstruct.basinCasting.getCastingRecipe(logic.liquid, it);
- if (rec != null && rec.fluidRenderProperties != null)
- {
- minHeight = rec.fluidRenderProperties.minHeight;
- maxHeight = rec.fluidRenderProperties.maxHeight;
-
- minX = rec.fluidRenderProperties.minX;
- maxX = rec.fluidRenderProperties.maxX;
- minZ = rec.fluidRenderProperties.minZ;
- maxZ = rec.fluidRenderProperties.maxZ;
- }
- }
- float percent = (float) logic.getLiquidAmount() / (float) logic.getCapacity();
- float height = percent * (maxHeight - minHeight);
-
- //float height = (logic.getLiquidAmount() / (logic.getCapacity() * 1.05F) * 0.6875F) / maxHeight;
- renderer.setRenderBounds(minX, minHeight, minZ, maxX, minHeight + height, maxZ);
-
- Fluid fluid = logic.liquid.getFluid();
- BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world);
- }
- }
- }
- else
- {
- renderer.setRenderBounds(0.0F, 0.75F, 0.0F, 1.0F, 1.0F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 0.25F, 0.75F, 0.25F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.75F, 0.0F, 0.0F, 1.0F, 0.75F, 0.25F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0F, 0.0F, 0.75F, 0.25F, 0.75F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.75F, 0.0F, 0.75F, 1.0F, 0.75F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- }
- }
- return true;
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return searedModel;
- }
-}
diff --git a/src/main/java/tconstruct/client/block/SlimeChannelRender.java b/src/main/java/tconstruct/client/block/SlimeChannelRender.java
deleted file mode 100644
index b3210f2a..00000000
--- a/src/main/java/tconstruct/client/block/SlimeChannelRender.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package tconstruct.client.block;
-
-import tconstruct.client.TProxyClient;
-import tconstruct.library.util.IFacingLogic;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.IBlockAccess;
-import net.minecraftforge.fluids.BlockFluidBase;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class SlimeChannelRender implements ISimpleBlockRenderingHandler
-{
- public static int model = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- }
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
-
- renderRotatedBlock(block, x, y, z, world, renderer);
- }
- return true;
- }
-
- static final float LIGHT_Y_NEG = 0.5F;
- static final float LIGHT_Y_POS = 1.0F;
- static final float LIGHT_XZ_NEG = 0.8F;
- static final float LIGHT_XZ_POS = 0.6F;
-
- public boolean renderRotatedBlock (Block block, int x, int y, int z, IBlockAccess world, RenderBlocks renderer)
- {
- if (true)
- {
- Tessellator tessellator = Tessellator.instance;
- int bMeta = world.getBlockMetadata(x, y, z);
- Icon iconStill = block.getIcon(1, bMeta);
- float flowDir = (float) (bMeta / 8f * 2 * Math.PI); //Tau, radians
-
- double u1, u2, u3, u4, v1, v2, v3, v4;
-
- if (flowDir < -999.0F)
- {
- u2 = iconStill.getInterpolatedU(0.0D);
- v2 = iconStill.getInterpolatedV(0.0D);
- u1 = u2;
- v1 = iconStill.getInterpolatedV(16.0D);
- u4 = iconStill.getInterpolatedU(16.0D);
- v4 = v1;
- u3 = u4;
- v3 = v2;
- }
- else
- {
- float xFlow = MathHelper.sin(flowDir) * 0.25F;
- float zFlow = MathHelper.cos(flowDir) * 0.25F;
- u2 = iconStill.getInterpolatedU(8.0F + (-zFlow - xFlow) * 16.0F);
- v2 = iconStill.getInterpolatedV(8.0F + (-zFlow + xFlow) * 16.0F);
- u1 = iconStill.getInterpolatedU(8.0F + (-zFlow + xFlow) * 16.0F);
- v1 = iconStill.getInterpolatedV(8.0F + (zFlow + xFlow) * 16.0F);
- u4 = iconStill.getInterpolatedU(8.0F + (zFlow + xFlow) * 16.0F);
- v4 = iconStill.getInterpolatedV(8.0F + (zFlow - xFlow) * 16.0F);
- u3 = iconStill.getInterpolatedU(8.0F + (zFlow - xFlow) * 16.0F);
- v3 = iconStill.getInterpolatedV(8.0F + (-zFlow - xFlow) * 16.0F);
- }
- int color = block.colorMultiplier(world, x, y, z);
- float red = (color >> 16 & 255) / 255.0F;
- float green = (color >> 8 & 255) / 255.0F;
- float blue = (color & 255) / 255.0F;
- tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z));
- tessellator.setColorOpaque_F(LIGHT_Y_POS * red, LIGHT_Y_POS * green, LIGHT_Y_POS * blue);
-
- tessellator.addVertexWithUV(x + 0, y + 0.5, z + 0, u2, v2);
- tessellator.addVertexWithUV(x + 0, y + 0.5, z + 1, u1, v1);
- tessellator.addVertexWithUV(x + 1, y + 0.5, z + 1, u4, v4);
- tessellator.addVertexWithUV(x + 1, y + 0.5, z + 0, u3, v3);
- }
- renderer.renderStandardBlock(block, x, y, z);
- /*int direction = world.getBlockMetadata(x, y, z) % 4;
- if (direction == 0)
- renderer.uvRotateTop = 2;
- if (direction == 1)
- renderer.uvRotateTop = 1;
- if (direction == 2)
- renderer.uvRotateTop = 0;
- if (direction == 3)
- renderer.uvRotateTop = 3;
-
- boolean flag = renderer.renderStandardBlock(block, x, y, z);
- renderer.uvRotateTop = 0;
- return flag;*/
- return true;
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return model;
- }
-}
diff --git a/src/main/java/tconstruct/client/block/SlimePadRender.java b/src/main/java/tconstruct/client/block/SlimePadRender.java
deleted file mode 100644
index 8fe61981..00000000
--- a/src/main/java/tconstruct/client/block/SlimePadRender.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.world.IBlockAccess;
-import tconstruct.blocks.SlimePad;
-import tconstruct.client.TProxyClient;
-import tconstruct.common.TContent;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class SlimePadRender implements ISimpleBlockRenderingHandler
-{
- public static int model = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
- TProxyClient.renderStandardInvBlock(renderer, TContent.slimeGel, metadata);
- }
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0f, 0f, 0f, 1f, 0.5f, 1f);
- int metadata = world.getBlockMetadata(x, y, z);
- BlockSkinRenderHelper.renderLiquidBlock(((SlimePad) block).getFluidIcon(metadata), ((SlimePad) block).getFluidIcon(metadata), x, y, z, renderer, world);
-
- float[] size = size(metadata % 8);
- renderer.setRenderBounds(size[0], 0.5f, size[1], size[2], 0.6875f, size[3]);
- BlockSkinRenderHelper.renderLiquidBlock(((SlimePad) block).getNubIcon(metadata), ((SlimePad) block).getNubIcon(metadata), x, y, z, renderer, world);
- }
- return true;
- }
-
- float[] size (int meta)
- {
- //xMin, zMin, xMax, zMax
- switch (meta)
- {
- case 0:
- return new float[] { 0.375f, 0.6875f, 0.625f, 0.9375f };
- case 1:
- return new float[] { 0.0625f, 0.6875f, 0.3125f, 0.9375f };
- case 2:
- return new float[] { 0.0625f, 0.375f, 0.3125f, 0.625f };
- case 3:
- return new float[] { 0.0625f, 0.0625f, 0.3125f, 0.3125f };
- case 4:
- return new float[] { 0.375f, 0.0625f, 0.625f, 0.3125f };
- case 5:
- return new float[] { 0.6875f, 0.0625f, 0.9375f, 0.3125f };
- case 6:
- return new float[] { 0.6875f, 0.375f, 0.9375f, 0.625f };
- case 7:
- return new float[] { 0.6875f, 0.6875f, 0.9375f, 0.9375f };
- }
- return new float[] { 0.375f, 0.375f, 0.625f, 0.625f };
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return model;
- }
-}
diff --git a/src/main/java/tconstruct/client/block/SmallFontRenderer.java b/src/main/java/tconstruct/client/block/SmallFontRenderer.java
deleted file mode 100644
index c4d5fa95..00000000
--- a/src/main/java/tconstruct/client/block/SmallFontRenderer.java
+++ /dev/null
@@ -1,1043 +0,0 @@
-package tconstruct.client.block;
-
-import java.awt.image.BufferedImage;
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.Bidi;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Random;
-
-import javax.imageio.ImageIO;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.resources.ResourceManager;
-import net.minecraft.client.resources.ResourceManagerReloadListener;
-import net.minecraft.client.settings.GameSettings;
-import net.minecraft.util.ChatAllowedCharacters;
-import net.minecraft.util.ResourceLocation;
-
-import org.lwjgl.opengl.GL11;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class SmallFontRenderer implements ResourceManagerReloadListener
-{
- private static final ResourceLocation[] field_111274_c = new ResourceLocation[256];
-
- /** Array of width of all the characters in default.png */
- private int[] charWidth = new int[256];
-
- /** the height in pixels of default text */
- public int FONT_HEIGHT = 9;
- public Random fontRandom = new Random();
-
- /**
- * Array of the start/end column (in upper/lower nibble) for every glyph in the /font directory.
- */
- private byte[] glyphWidth = new byte[65536];
-
- /**
- * Array of RGB triplets defining the 16 standard chat colors followed by 16 darker version of the same colors for
- * drop shadows.
- */
- private int[] colorCode = new int[32];
- private final ResourceLocation field_111273_g;
-
- /** The RenderEngine used to load and setup glyph textures. */
- private final TextureManager renderEngine;
-
- /** Current X coordinate at which to draw the next character. */
- private float posX;
-
- /** Current Y coordinate at which to draw the next character. */
- private float posY;
-
- /**
- * If true, strings should be rendered with Unicode fonts instead of the default.png font
- */
- private boolean unicodeFlag;
-
- /**
- * If true, the Unicode Bidirectional Algorithm should be run before rendering any string.
- */
- private boolean bidiFlag;
-
- /** Used to specify new red value for the current color. */
- private float red;
-
- /** Used to specify new blue value for the current color. */
- private float blue;
-
- /** Used to specify new green value for the current color. */
- private float green;
-
- /** Used to speify new alpha value for the current color. */
- private float alpha;
-
- /** Text color of the currently rendering string. */
- private int textColor;
-
- /** Set if the "k" style (random) is active in currently rendering string */
- private boolean randomStyle;
-
- /** Set if the "l" style (bold) is active in currently rendering string */
- private boolean boldStyle;
-
- /** Set if the "o" style (italic) is active in currently rendering string */
- private boolean italicStyle;
-
- /**
- * Set if the "n" style (underlined) is active in currently rendering string
- */
- private boolean underlineStyle;
-
- /**
- * Set if the "m" style (strikethrough) is active in currently rendering string
- */
- private boolean strikethroughStyle;
-
- public SmallFontRenderer(GameSettings par1GameSettings, ResourceLocation par2ResourceLocation, TextureManager par3TextureManager, boolean par4)
- {
- this.field_111273_g = par2ResourceLocation;
- this.renderEngine = par3TextureManager;
- this.unicodeFlag = true;
- par3TextureManager.bindTexture(this.field_111273_g);
-
- for (int i = 0; i < 32; ++i)
- {
- int j = (i >> 3 & 1) * 85;
- int k = (i >> 2 & 1) * 170 + j;
- int l = (i >> 1 & 1) * 170 + j;
- int i1 = (i >> 0 & 1) * 170 + j;
-
- if (i == 6)
- {
- k += 85;
- }
-
- if (par1GameSettings.anaglyph)
- {
- int j1 = (k * 30 + l * 59 + i1 * 11) / 100;
- int k1 = (k * 30 + l * 70) / 100;
- int l1 = (k * 30 + i1 * 70) / 100;
- k = j1;
- l = k1;
- i1 = l1;
- }
-
- if (i >= 16)
- {
- k /= 4;
- l /= 4;
- i1 /= 4;
- }
-
- this.colorCode[i] = (k & 255) << 16 | (l & 255) << 8 | i1 & 255;
- }
-
- this.readGlyphSizes();
- }
-
- public void onResourceManagerReload (ResourceManager par1ResourceManager)
- {
- this.func_111272_d();
- }
-
- private void func_111272_d ()
- {
- BufferedImage bufferedimage;
-
- try
- {
- bufferedimage = ImageIO.read(Minecraft.getMinecraft().getResourceManager().getResource(this.field_111273_g).getInputStream());
- }
- catch (IOException ioexception)
- {
- throw new RuntimeException(ioexception);
- }
-
- int i = bufferedimage.getWidth();
- int j = bufferedimage.getHeight();
- int[] aint = new int[i * j];
- bufferedimage.getRGB(0, 0, i, j, aint, 0, i);
- int k = j / 16;
- int l = i / 16;
- byte b0 = 1;
- float f = 8.0F / (float) l;
- int i1 = 0;
-
- while (i1 < 256)
- {
- int j1 = i1 % 16;
- int k1 = i1 / 16;
-
- if (i1 == 32)
- {
- this.charWidth[i1] = 3 + b0;
- }
-
- int l1 = l - 1;
-
- while (true)
- {
- if (l1 >= 0)
- {
- int i2 = j1 * l + l1;
- boolean flag = true;
-
- for (int j2 = 0; j2 < k && flag; ++j2)
- {
- int k2 = (k1 * l + j2) * i;
-
- if ((aint[i2 + k2] >> 24 & 255) != 0)
- {
- flag = false;
- }
- }
-
- if (flag)
- {
- --l1;
- continue;
- }
- }
-
- ++l1;
- this.charWidth[i1] = (int) (0.5D + (double) ((float) l1 * f)) + b0;
- ++i1;
- break;
- }
- }
- }
-
- private void readGlyphSizes ()
- {
- try
- {
- InputStream inputstream = Minecraft.getMinecraft().getResourceManager().getResource(new ResourceLocation("font/glyph_sizes.bin")).getInputStream();
- inputstream.read(this.glyphWidth);
- }
- catch (IOException ioexception)
- {
- throw new RuntimeException(ioexception);
- }
- }
-
- /**
- * Pick how to render a single character and return the width used.
- */
- private float renderCharAtPos (int par1, char par2, boolean par3)
- {
- return par2 == 32 ? 4.0F : (par1 > 0 && !this.unicodeFlag ? this.renderDefaultChar(par1 + 32, par3) : this.renderUnicodeChar(par2, par3));
- }
-
- /**
- * Render a single character with the default.png font at current (posX,posY) location...
- */
- private float renderDefaultChar (int par1, boolean par2)
- {
- float f = (float) (par1 % 16 * 8);
- float f1 = (float) (par1 / 16 * 8);
- float f2 = par2 ? 1.0F : 0.0F;
- this.renderEngine.bindTexture(this.field_111273_g);
- float f3 = (float) this.charWidth[par1] - 0.01F;
- GL11.glBegin(GL11.GL_TRIANGLE_STRIP);
- GL11.glTexCoord2f(f / 128.0F, f1 / 128.0F);
- GL11.glVertex3f(this.posX + f2, this.posY, 0.0F);
- GL11.glTexCoord2f(f / 128.0F, (f1 + 7.99F) / 128.0F);
- GL11.glVertex3f(this.posX - f2, this.posY + 7.99F, 0.0F);
- GL11.glTexCoord2f((f + f3 - 1.0F) / 128.0F, f1 / 128.0F);
- GL11.glVertex3f(this.posX + f3 - 1.0F + f2, this.posY, 0.0F);
- GL11.glTexCoord2f((f + f3 - 1.0F) / 128.0F, (f1 + 7.99F) / 128.0F);
- GL11.glVertex3f(this.posX + f3 - 1.0F - f2, this.posY + 7.99F, 0.0F);
- GL11.glEnd();
- return (float) this.charWidth[par1];
- }
-
- private ResourceLocation func_111271_a (int par1)
- {
- if (field_111274_c[par1] == null)
- {
- field_111274_c[par1] = new ResourceLocation(String.format("textures/font/unicode_page_%02x.png", new Object[] { Integer.valueOf(par1) }));
- }
-
- return field_111274_c[par1];
- }
-
- /**
- * Load one of the /font/glyph_XX.png into a new GL texture and store the texture ID in glyphTextureName array.
- */
- private void loadGlyphTexture (int par1)
- {
- this.renderEngine.bindTexture(this.func_111271_a(par1));
- }
-
- /**
- * Render a single Unicode character at current (posX,posY) location using one of the /font/glyph_XX.png files...
- */
- private float renderUnicodeChar (char par1, boolean par2)
- {
- if (this.glyphWidth[par1] == 0)
- {
- return 0.0F;
- }
- else
- {
- int i = par1 / 256;
- this.loadGlyphTexture(i);
- int j = this.glyphWidth[par1] >>> 4;
- int k = this.glyphWidth[par1] & 15;
- float f = (float) j;
- float f1 = (float) (k + 1);
- float f2 = (float) (par1 % 16 * 16) + f;
- float f3 = (float) ((par1 & 255) / 16 * 16);
- float f4 = f1 - f - 0.02F;
- float f5 = par2 ? 1.0F : 0.0F;
- GL11.glBegin(GL11.GL_TRIANGLE_STRIP);
- GL11.glTexCoord2f(f2 / 256.0F, f3 / 256.0F);
- GL11.glVertex3f(this.posX + f5, this.posY, 0.0F);
- GL11.glTexCoord2f(f2 / 256.0F, (f3 + 15.98F) / 256.0F);
- GL11.glVertex3f(this.posX - f5, this.posY + 7.99F, 0.0F);
- GL11.glTexCoord2f((f2 + f4) / 256.0F, f3 / 256.0F);
- GL11.glVertex3f(this.posX + f4 / 2.0F + f5, this.posY, 0.0F);
- GL11.glTexCoord2f((f2 + f4) / 256.0F, (f3 + 15.98F) / 256.0F);
- GL11.glVertex3f(this.posX + f4 / 2.0F - f5, this.posY + 7.99F, 0.0F);
- GL11.glEnd();
- return (f1 - f) / 2.0F + 1.0F;
- }
- }
-
- /**
- * Draws the specified string with a shadow.
- */
- public int drawStringWithShadow (String par1Str, int par2, int par3, int par4)
- {
- return this.drawString(par1Str, par2, par3, par4, true);
- }
-
- /**
- * Draws the specified string.
- */
- public int drawString (String par1Str, int par2, int par3, int par4)
- {
- return this.drawString(par1Str, par2, par3, par4, false);
- }
-
- /**
- * Draws the specified string. Args: string, x, y, color, dropShadow
- */
- public int drawString (String par1Str, int par2, int par3, int par4, boolean par5)
- {
- this.resetStyles();
-
- if (this.bidiFlag)
- {
- par1Str = this.bidiReorder(par1Str);
- }
-
- int l;
-
- if (par5)
- {
- l = this.renderString(par1Str, par2 + 1, par3 + 1, par4, true);
- l = Math.max(l, this.renderString(par1Str, par2, par3, par4, false));
- }
- else
- {
- l = this.renderString(par1Str, par2, par3, par4, false);
- }
-
- return l;
- }
-
- /**
- * Apply Unicode Bidirectional Algorithm to string and return a new possibly reordered string for visual rendering.
- */
- private String bidiReorder (String par1Str)
- {
- if (par1Str != null && Bidi.requiresBidi(par1Str.toCharArray(), 0, par1Str.length()))
- {
- Bidi bidi = new Bidi(par1Str, -2);
- byte[] abyte = new byte[bidi.getRunCount()];
- String[] astring = new String[abyte.length];
- int i;
-
- for (int j = 0; j < abyte.length; ++j)
- {
- int k = bidi.getRunStart(j);
- i = bidi.getRunLimit(j);
- int l = bidi.getRunLevel(j);
- String s1 = par1Str.substring(k, i);
- abyte[j] = (byte) l;
- astring[j] = s1;
- }
-
- String[] astring1 = (String[]) astring.clone();
- Bidi.reorderVisually(abyte, 0, astring, 0, abyte.length);
- StringBuilder stringbuilder = new StringBuilder();
- i = 0;
-
- while (i < astring.length)
- {
- byte b0 = abyte[i];
- int i1 = 0;
-
- while (true)
- {
- if (i1 < astring1.length)
- {
- if (!astring1[i1].equals(astring[i]))
- {
- ++i1;
- continue;
- }
-
- b0 = abyte[i1];
- }
-
- if ((b0 & 1) == 0)
- {
- stringbuilder.append(astring[i]);
- }
- else
- {
- for (i1 = astring[i].length() - 1; i1 >= 0; --i1)
- {
- char c0 = astring[i].charAt(i1);
-
- if (c0 == 40)
- {
- c0 = 41;
- }
- else if (c0 == 41)
- {
- c0 = 40;
- }
-
- stringbuilder.append(c0);
- }
- }
-
- ++i;
- break;
- }
- }
-
- return stringbuilder.toString();
- }
- else
- {
- return par1Str;
- }
- }
-
- /**
- * Reset all style flag fields in the class to false; called at the start of string rendering
- */
- private void resetStyles ()
- {
- this.randomStyle = false;
- this.boldStyle = false;
- this.italicStyle = false;
- this.underlineStyle = false;
- this.strikethroughStyle = false;
- }
-
- /**
- * Render a single line string at the current (posX,posY) and update posX
- */
- private void renderStringAtPos (String par1Str, boolean par2)
- {
- for (int i = 0; i < par1Str.length(); ++i)
- {
- char c0 = par1Str.charAt(i);
- int j;
- int k;
-
- if (c0 == 167 && i + 1 < par1Str.length())
- {
- j = "0123456789abcdefklmnor".indexOf(par1Str.toLowerCase().charAt(i + 1));
-
- if (j < 16)
- {
- this.randomStyle = false;
- this.boldStyle = false;
- this.strikethroughStyle = false;
- this.underlineStyle = false;
- this.italicStyle = false;
-
- if (j < 0 || j > 15)
- {
- j = 15;
- }
-
- if (par2)
- {
- j += 16;
- }
-
- k = this.colorCode[j];
- this.textColor = k;
- GL11.glColor4f((float) (k >> 16) / 255.0F, (float) (k >> 8 & 255) / 255.0F, (float) (k & 255) / 255.0F, this.alpha);
- }
- else if (j == 16)
- {
- this.randomStyle = true;
- }
- else if (j == 17)
- {
- this.boldStyle = true;
- }
- else if (j == 18)
- {
- this.strikethroughStyle = true;
- }
- else if (j == 19)
- {
- this.underlineStyle = true;
- }
- else if (j == 20)
- {
- this.italicStyle = true;
- }
- else if (j == 21)
- {
- this.randomStyle = false;
- this.boldStyle = false;
- this.strikethroughStyle = false;
- this.underlineStyle = false;
- this.italicStyle = false;
- GL11.glColor4f(this.red, this.blue, this.green, this.alpha);
- }
-
- ++i;
- }
- else
- {
- j = ChatAllowedCharacters.allowedCharacters.indexOf(c0);
-
- if (this.randomStyle && j > 0)
- {
- do
- {
- k = this.fontRandom.nextInt(ChatAllowedCharacters.allowedCharacters.length());
- } while (this.charWidth[j + 32] != this.charWidth[k + 32]);
-
- j = k;
- }
-
- float f = this.unicodeFlag ? 0.5F : 1.0F;
- boolean flag1 = (j <= 0 || this.unicodeFlag) && par2;
-
- if (flag1)
- {
- this.posX -= f;
- this.posY -= f;
- }
-
- float f1 = this.renderCharAtPos(j, c0, this.italicStyle);
-
- if (flag1)
- {
- this.posX += f;
- this.posY += f;
- }
-
- if (this.boldStyle)
- {
- this.posX += f;
-
- if (flag1)
- {
- this.posX -= f;
- this.posY -= f;
- }
-
- this.renderCharAtPos(j, c0, this.italicStyle);
- this.posX -= f;
-
- if (flag1)
- {
- this.posX += f;
- this.posY += f;
- }
-
- ++f1;
- }
-
- Tessellator tessellator;
-
- if (this.strikethroughStyle)
- {
- tessellator = Tessellator.instance;
- GL11.glDisable(GL11.GL_TEXTURE_2D);
- tessellator.startDrawingQuads();
- tessellator.addVertex((double) this.posX, (double) (this.posY + (float) (this.FONT_HEIGHT / 2)), 0.0D);
- tessellator.addVertex((double) (this.posX + f1), (double) (this.posY + (float) (this.FONT_HEIGHT / 2)), 0.0D);
- tessellator.addVertex((double) (this.posX + f1), (double) (this.posY + (float) (this.FONT_HEIGHT / 2) - 1.0F), 0.0D);
- tessellator.addVertex((double) this.posX, (double) (this.posY + (float) (this.FONT_HEIGHT / 2) - 1.0F), 0.0D);
- tessellator.draw();
- GL11.glEnable(GL11.GL_TEXTURE_2D);
- }
-
- if (this.underlineStyle)
- {
- tessellator = Tessellator.instance;
- GL11.glDisable(GL11.GL_TEXTURE_2D);
- tessellator.startDrawingQuads();
- int l = this.underlineStyle ? -1 : 0;
- tessellator.addVertex((double) (this.posX + (float) l), (double) (this.posY + (float) this.FONT_HEIGHT), 0.0D);
- tessellator.addVertex((double) (this.posX + f1), (double) (this.posY + (float) this.FONT_HEIGHT), 0.0D);
- tessellator.addVertex((double) (this.posX + f1), (double) (this.posY + (float) this.FONT_HEIGHT - 1.0F), 0.0D);
- tessellator.addVertex((double) (this.posX + (float) l), (double) (this.posY + (float) this.FONT_HEIGHT - 1.0F), 0.0D);
- tessellator.draw();
- GL11.glEnable(GL11.GL_TEXTURE_2D);
- }
-
- this.posX += (float) ((int) f1);
- }
- }
- }
-
- /**
- * Render string either left or right aligned depending on bidiFlag
- */
- private int renderStringAligned (String par1Str, int par2, int par3, int par4, int par5, boolean par6)
- {
- if (this.bidiFlag)
- {
- par1Str = this.bidiReorder(par1Str);
- int i1 = this.getStringWidth(par1Str);
- par2 = par2 + par4 - i1;
- }
-
- return this.renderString(par1Str, par2, par3, par5, par6);
- }
-
- /**
- * Render single line string by setting GL color, current (posX,posY), and calling renderStringAtPos()
- */
- private int renderString (String par1Str, int par2, int par3, int par4, boolean par5)
- {
- if (par1Str == null)
- {
- return 0;
- }
- else
- {
- if ((par4 & -67108864) == 0)
- {
- par4 |= -16777216;
- }
-
- if (par5)
- {
- par4 = (par4 & 16579836) >> 2 | par4 & -16777216;
- }
-
- this.red = (float) (par4 >> 16 & 255) / 255.0F;
- this.blue = (float) (par4 >> 8 & 255) / 255.0F;
- this.green = (float) (par4 & 255) / 255.0F;
- this.alpha = (float) (par4 >> 24 & 255) / 255.0F;
- GL11.glColor4f(this.red, this.blue, this.green, this.alpha);
- this.posX = (float) par2;
- this.posY = (float) par3;
- this.renderStringAtPos(par1Str, par5);
- return (int) this.posX;
- }
- }
-
- /**
- * Returns the width of this string. Equivalent of FontMetrics.stringWidth(String s).
- */
- public int getStringWidth (String par1Str)
- {
- if (par1Str == null)
- {
- return 0;
- }
- else
- {
- int i = 0;
- boolean flag = false;
-
- for (int j = 0; j < par1Str.length(); ++j)
- {
- char c0 = par1Str.charAt(j);
- int k = this.getCharWidth(c0);
-
- if (k < 0 && j < par1Str.length() - 1)
- {
- ++j;
- c0 = par1Str.charAt(j);
-
- if (c0 != 108 && c0 != 76)
- {
- if (c0 == 114 || c0 == 82)
- {
- flag = false;
- }
- }
- else
- {
- flag = true;
- }
-
- k = 0;
- }
-
- i += k;
-
- if (flag)
- {
- ++i;
- }
- }
-
- return i;
- }
- }
-
- /**
- * Returns the width of this character as rendered.
- */
- public int getCharWidth (char par1)
- {
- if (par1 == 167)
- {
- return -1;
- }
- else if (par1 == 32)
- {
- return 4;
- }
- else
- {
- int i = ChatAllowedCharacters.allowedCharacters.indexOf(par1);
-
- if (i >= 0 && !this.unicodeFlag)
- {
- return this.charWidth[i + 32];
- }
- else if (this.glyphWidth[par1] != 0)
- {
- int j = this.glyphWidth[par1] >>> 4;
- int k = this.glyphWidth[par1] & 15;
-
- if (k > 7)
- {
- k = 15;
- j = 0;
- }
-
- ++k;
- return (k - j) / 2 + 1;
- }
- else
- {
- return 0;
- }
- }
- }
-
- /**
- * Trims a string to fit a specified Width.
- */
- public String trimStringToWidth (String par1Str, int par2)
- {
- return this.trimStringToWidth(par1Str, par2, false);
- }
-
- /**
- * Trims a string to a specified width, and will reverse it if par3 is set.
- */
- public String trimStringToWidth (String par1Str, int par2, boolean par3)
- {
- StringBuilder stringbuilder = new StringBuilder();
- int j = 0;
- int k = par3 ? par1Str.length() - 1 : 0;
- int l = par3 ? -1 : 1;
- boolean flag1 = false;
- boolean flag2 = false;
-
- for (int i1 = k; i1 >= 0 && i1 < par1Str.length() && j < par2; i1 += l)
- {
- char c0 = par1Str.charAt(i1);
- int j1 = this.getCharWidth(c0);
-
- if (flag1)
- {
- flag1 = false;
-
- if (c0 != 108 && c0 != 76)
- {
- if (c0 == 114 || c0 == 82)
- {
- flag2 = false;
- }
- }
- else
- {
- flag2 = true;
- }
- }
- else if (j1 < 0)
- {
- flag1 = true;
- }
- else
- {
- j += j1;
-
- if (flag2)
- {
- ++j;
- }
- }
-
- if (j > par2)
- {
- break;
- }
-
- if (par3)
- {
- stringbuilder.insert(0, c0);
- }
- else
- {
- stringbuilder.append(c0);
- }
- }
-
- return stringbuilder.toString();
- }
-
- /**
- * Remove all newline characters from the end of the string
- */
- private String trimStringNewline (String par1Str)
- {
- while (par1Str != null && par1Str.endsWith("\n"))
- {
- par1Str = par1Str.substring(0, par1Str.length() - 1);
- }
-
- return par1Str;
- }
-
- /**
- * Splits and draws a String with wordwrap (maximum length is parameter k)
- */
- public void drawSplitString (String par1Str, int par2, int par3, int par4, int par5)
- {
- this.resetStyles();
- this.textColor = par5;
- par1Str = this.trimStringNewline(par1Str);
- this.renderSplitString(par1Str, par2, par3, par4, false);
- }
-
- /**
- * Perform actual work of rendering a multi-line string with wordwrap and with darker drop shadow color if flag is
- * set
- */
- private void renderSplitString (String par1Str, int par2, int par3, int par4, boolean par5)
- {
- List list = this.listFormattedStringToWidth(par1Str, par4);
-
- for (Iterator iterator = list.iterator(); iterator.hasNext(); par3 += this.FONT_HEIGHT)
- {
- String s1 = (String) iterator.next();
- this.renderStringAligned(s1, par2, par3, par4, this.textColor, par5);
- }
- }
-
- /**
- * Returns the width of the wordwrapped String (maximum length is parameter k)
- */
- public int splitStringWidth (String par1Str, int par2)
- {
- return this.FONT_HEIGHT * this.listFormattedStringToWidth(par1Str, par2).size();
- }
-
- /**
- * Set unicodeFlag controlling whether strings should be rendered with Unicode fonts instead of the default.png
- * font.
- */
- public void setUnicodeFlag (boolean par1)
- {
- this.unicodeFlag = par1;
- }
-
- /**
- * Get unicodeFlag controlling whether strings should be rendered with Unicode fonts instead of the default.png
- * font.
- */
- public boolean getUnicodeFlag ()
- {
- return this.unicodeFlag;
- }
-
- /**
- * Set bidiFlag to control if the Unicode Bidirectional Algorithm should be run before rendering any string.
- */
- public void setBidiFlag (boolean par1)
- {
- this.bidiFlag = par1;
- }
-
- /**
- * Breaks a string into a list of pieces that will fit a specified width.
- */
- public List listFormattedStringToWidth (String par1Str, int par2)
- {
- return Arrays.asList(this.wrapFormattedStringToWidth(par1Str, par2).split("\n"));
- }
-
- /**
- * Inserts newline and formatting into a string to wrap it within the specified width.
- */
- String wrapFormattedStringToWidth (String par1Str, int par2)
- {
- int j = this.sizeStringToWidth(par1Str, par2);
-
- if (par1Str.length() <= j)
- {
- return par1Str;
- }
- else
- {
- String s1 = par1Str.substring(0, j);
- char c0 = par1Str.charAt(j);
- boolean flag = c0 == 32 || c0 == 10;
- String s2 = getFormatFromString(s1) + par1Str.substring(j + (flag ? 1 : 0));
- return s1 + "\n" + this.wrapFormattedStringToWidth(s2, par2);
- }
- }
-
- /**
- * Determines how many characters from the string will fit into the specified width.
- */
- private int sizeStringToWidth (String par1Str, int par2)
- {
- int j = par1Str.length();
- int k = 0;
- int l = 0;
- int i1 = -1;
-
- for (boolean flag = false; l < j; ++l)
- {
- char c0 = par1Str.charAt(l);
-
- switch (c0)
- {
- case 10:
- --l;
- break;
- case 167:
- if (l < j - 1)
- {
- ++l;
- char c1 = par1Str.charAt(l);
-
- if (c1 != 108 && c1 != 76)
- {
- if (c1 == 114 || c1 == 82 || isFormatColor(c1))
- {
- flag = false;
- }
- }
- else
- {
- flag = true;
- }
- }
-
- break;
- case 32:
- i1 = l;
- default:
- k += this.getCharWidth(c0);
-
- if (flag)
- {
- ++k;
- }
- }
-
- if (c0 == 10)
- {
- ++l;
- i1 = l;
- break;
- }
-
- if (k > par2)
- {
- break;
- }
- }
-
- return l != j && i1 != -1 && i1 < l ? i1 : l;
- }
-
- /**
- * Checks if the char code is a hexadecimal character, used to set colour.
- */
- private static boolean isFormatColor (char par0)
- {
- return par0 >= 48 && par0 <= 57 || par0 >= 97 && par0 <= 102 || par0 >= 65 && par0 <= 70;
- }
-
- /**
- * Checks if the char code is O-K...lLrRk-o... used to set special formatting.
- */
- private static boolean isFormatSpecial (char par0)
- {
- return par0 >= 107 && par0 <= 111 || par0 >= 75 && par0 <= 79 || par0 == 114 || par0 == 82;
- }
-
- /**
- * Digests a string for nonprinting formatting characters then returns a string containing only that formatting.
- */
- private static String getFormatFromString (String par0Str)
- {
- String s1 = "";
- int i = -1;
- int j = par0Str.length();
-
- while ((i = par0Str.indexOf(167, i + 1)) != -1)
- {
- if (i < j - 1)
- {
- char c0 = par0Str.charAt(i + 1);
-
- if (isFormatColor(c0))
- {
- s1 = "\u00a7" + c0;
- }
- else if (isFormatSpecial(c0))
- {
- s1 = s1 + "\u00a7" + c0;
- }
- }
- }
-
- return s1;
- }
-
- /**
- * Get bidiFlag that controls if the Unicode Bidirectional Algorithm should be run before rendering any string
- */
- public boolean getBidiFlag ()
- {
- return this.bidiFlag;
- }
-
-}
diff --git a/src/main/java/tconstruct/client/block/SmelteryRender.java b/src/main/java/tconstruct/client/block/SmelteryRender.java
deleted file mode 100644
index 9aae4b3e..00000000
--- a/src/main/java/tconstruct/client/block/SmelteryRender.java
+++ /dev/null
@@ -1,175 +0,0 @@
-package tconstruct.client.block;
-
-import tconstruct.blocks.logic.SmelteryLogic;
-import tconstruct.client.TProxyClient;
-import tconstruct.library.crafting.Smeltery;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.IBlockAccess;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidStack;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class SmelteryRender implements ISimpleBlockRenderingHandler
-{
- public static int smelteryModel = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- if (modelID == smelteryModel)
- {
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- }
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
- {
- if (modelID == smelteryModel)
- {
- if (world.getBlockMetadata(x, y, z) == 0)
- return renderSmeltery(world, x, y, z, block, modelID, renderer);
- else
- renderer.renderStandardBlock(block, x, y, z);
- }
- return true;
- }
-
- public boolean renderSmeltery (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
- {
- renderer.renderStandardBlock(block, x, y, z);
- SmelteryLogic logic = (SmelteryLogic) world.getBlockTileEntity(x, y, z);
- if (logic.validStructure)
- {
- int posX = logic.centerPos.x - 1, posY = logic.centerPos.y, posZ = logic.centerPos.z - 1;
- //Melting
- if (logic.getSizeInventory() > 0)
- {
- for (int i = 0; i < logic.layers; i++)
- {
- renderLayer(logic, i * 9, posX, posY + i, posZ, renderer, world);
- }
- }
-
- //Liquids
- float base = 0F;
- int yBase = 0;
- int liquidBase = 0;
- for (FluidStack liquid : logic.moltenMetal)
- {
- int liquidSize = liquid.amount;
- while (liquidSize > 0)
- {
- int room = 20000 - liquidBase;
- int countSize = liquidSize > room ? room : liquidSize;
- liquidSize -= countSize;
-
- float height = countSize > 20000 ? 1.0F : countSize / 20000F;
- //renderer.setRenderBounds(0, base, 0, 1, height + base, 1);
- float renderBase = base;
- float renderHeight = height + base;
- base += height;
- liquidBase += countSize;
-
- Fluid fluid = liquid.getFluid();
- for (int i = 0; i < 9; i++)
- {
- float minX = i % 3 == 0 ? -0.001F : 0F;
- float minZ = i / 3 == 0 ? -0.001F : 0F;
- float maxX = i % 3 == 2 ? 1.001F : 1F;
- float maxZ = i / 3 == 2 ? 1.001F : 1F;
- renderer.setRenderBounds(minX, renderBase, minZ, maxX, renderHeight, maxZ);
- if (fluid.canBePlacedInWorld())
- BlockSkinRenderHelper.renderMetadataBlock(Block.blocksList[fluid.getBlockID()], 0, posX + i % 3, posY + yBase, posZ + i / 3, renderer, world);
- else
- BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), posX + i % 3, posY + yBase, posZ + i / 3, renderer, world);
- }
- /*if (liquid.itemID < 4096) //Block
- {
- Block liquidBlock = Block.blocksList[liquid.itemID];
- for (int i = 0; i < 9; i++)
- {
- float minX = i % 3 == 0 ? -0.001F : 0F;
- float minZ = i / 3 == 0 ? -0.001F : 0F;
- float maxX = i % 3 == 2 ? 1.001F : 1F;
- float maxZ = i / 3 == 2 ? 1.001F : 1F;
- renderer.setRenderBounds(minX, renderBase, minZ, maxX, renderHeight, maxZ);
- BlockSkinRenderHelper.renderMetadataBlock(liquidBlock, liquid.itemMeta, posX + i % 3, posY + yBase, posZ + i / 3, renderer, world);
- }
- }
- else
- //Item
- {
- Item liquidItem = Item.itemsList[liquid.itemID];
- for (int i = 0; i < 9; i++)
- {
- float minX = i % 3 == 0 ? -0.001F : 0F;
- float minZ = i / 3 == 0 ? -0.001F : 0F;
- float maxX = i % 3 == 2 ? 1.001F : 1F;
- float maxZ = i / 3 == 2 ? 1.001F : 1F;
- renderer.setRenderBounds(minX, renderBase, minZ, maxX, renderHeight, maxZ);
- BlockSkinRenderHelper.renderFakeBlock(liquidItem.getIconFromDamage(liquid.itemMeta), posX, posY + yBase, posZ, renderer, world);
- }
- }*/
-
- if (countSize == room)
- {
- base = 0F;
- yBase++;
- liquidBase = 0;
- }
- }
- }
- }
- return true;
- }
-
- void renderLayer (SmelteryLogic logic, int start, int posX, int posY, int posZ, RenderBlocks renderer, IBlockAccess world)
- {
- renderer.setRenderBounds(-0.001F, -0.001F, -0.001F, 1.001F, 1.001F, 1.001F);
- for (int i = 0; i < 9; i++)
- {
- ItemStack input = logic.getStackInSlot(i + start);
- if (input != null && logic.getTempForSlot(i + start) > 20)
- {
- ItemStack blockToRender = Smeltery.getRenderIndex(input);
- if (blockToRender != null)
- {
- float blockHeight = input.stackSize / (float) blockToRender.stackSize;
- renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 1.0F, MathHelper.clamp_float(blockHeight, 0.01F, 1.0F), 1.0F);
-
- if (blockToRender.itemID < 4096) //Block
- {
- Block liquidBlock = Block.blocksList[blockToRender.itemID];
- BlockSkinRenderHelper.renderMetadataBlock(liquidBlock, blockToRender.getItemDamage(), posX + i % 3, posY, posZ + i / 3, renderer, world);
- }
-
- /*else //No items, only blocks
- //Item
- {
- Item liquidItem = Item.itemsList[blockToRender.itemID];
- int metadata = blockToRender.getItemDamage();
- BlockSkinRenderHelper.renderFakeBlock(liquidItem.getIconFromDamage(metadata), posX + i % 3, posY, posZ + i / 3, renderer, world);
- }*/
- }
- }
- }
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return smelteryModel;
- }
-}
diff --git a/src/main/java/tconstruct/client/block/TableForgeRender.java b/src/main/java/tconstruct/client/block/TableForgeRender.java
deleted file mode 100644
index a9af58c3..00000000
--- a/src/main/java/tconstruct/client/block/TableForgeRender.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.world.IBlockAccess;
-
-import org.lwjgl.opengl.GL11;
-
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class TableForgeRender implements ISimpleBlockRenderingHandler
-{
- public static int model = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
- renderer.setRenderBounds(0.0F, 0.75F, 0.0F, 1.0F, 1.0F, 1.0F);
- renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 0.25F, 0.75F, 0.25F);
- renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.75F, 0.0F, 0.0F, 1.0F, 0.75F, 0.25F);
- renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.0F, 0.0F, 0.75F, 0.25F, 0.75F, 1.0F);
- renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.75F, 0.0F, 0.75F, 1.0F, 0.75F, 1.0F);
- renderStandardInvBlock(renderer, block, metadata);
- }
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
- renderer.setRenderBounds(0.0F, 0.75F, 0.0F, 1.0F, 1.0F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 0.25F, 0.75F, 0.25F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.75F, 0.0F, 0.0F, 1.0F, 0.75F, 0.25F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0F, 0.0F, 0.75F, 0.25F, 0.75F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.75F, 0.0F, 0.75F, 1.0F, 0.75F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- }
- return true;
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return model;
- }
-
- public static void renderStandardInvBlock (RenderBlocks renderblocks, Block block, int meta)
- {
- Tessellator tessellator = Tessellator.instance;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1F, 0.0F);
- renderblocks.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderblocks.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1F);
- renderblocks.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderblocks.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1F, 0.0F, 0.0F);
- renderblocks.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderblocks.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
-}
diff --git a/src/main/java/tconstruct/client/block/TableRender.java b/src/main/java/tconstruct/client/block/TableRender.java
deleted file mode 100644
index 489c863b..00000000
--- a/src/main/java/tconstruct/client/block/TableRender.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.world.IBlockAccess;
-
-import org.lwjgl.opengl.GL11;
-
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class TableRender implements ISimpleBlockRenderingHandler
-{
- public static int tabelModelID = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- if (modelID == tabelModelID)
- {
- if (metadata == 5)
- {
- renderer.setRenderBounds(0.0F, 0.0, 0.0F, 1.0F, 0.875F, 1.0F);
- renderStandardInvBlock(renderer, block, metadata);
- }
- else
- {
- renderer.setRenderBounds(0.0F, 0.75F, 0.0F, 1.0F, 1.0F, 1.0F);
- renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 0.25F, 0.75F, 0.25F);
- renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.75F, 0.0F, 0.0F, 1.0F, 0.75F, 0.25F);
- renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.0F, 0.0F, 0.75F, 0.25F, 0.75F, 1.0F);
- renderStandardInvBlock(renderer, block, metadata);
- renderer.setRenderBounds(0.75F, 0.0F, 0.75F, 1.0F, 0.75F, 1.0F);
- renderStandardInvBlock(renderer, block, metadata);
- }
- }
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
- {
- if (modelID == tabelModelID)
- {
- int metadata = world.getBlockMetadata(x, y, z);
- if (metadata == 5)
- {
- renderer.setRenderBounds(0.0F, 0.0, 0.0F, 1.0F, 0.875F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- }
- else
- {
- renderer.setRenderBounds(0.0F, 0.75F, 0.0F, 1.0F, 1.0F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 0.25F, 0.75F, 0.25F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.75F, 0.0F, 0.0F, 1.0F, 0.75F, 0.25F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.0F, 0.0F, 0.75F, 0.25F, 0.75F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- renderer.setRenderBounds(0.75F, 0.0F, 0.75F, 1.0F, 0.75F, 1.0F);
- renderer.renderStandardBlock(block, x, y, z);
- }
- }
- return true;
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return tabelModelID;
- }
-
- public static void renderStandardInvBlock (RenderBlocks renderblocks, Block block, int meta)
- {
- Tessellator tessellator = Tessellator.instance;
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1F, 0.0F);
- renderblocks.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderblocks.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1F);
- renderblocks.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderblocks.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1F, 0.0F, 0.0F);
- renderblocks.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderblocks.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
-}
diff --git a/src/main/java/tconstruct/client/block/TankAirRender.java b/src/main/java/tconstruct/client/block/TankAirRender.java
deleted file mode 100644
index 7a6c298c..00000000
--- a/src/main/java/tconstruct/client/block/TankAirRender.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.IBlockAccess;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidStack;
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.TankAirLogic;
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class TankAirRender implements ISimpleBlockRenderingHandler
-{
- public static int model = RenderingRegistry.getNextAvailableRenderId();
- private static final double capacity = TConstruct.ingotLiquidValue * 18;
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- //No inventory block
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
- {
- if (modelID == model)
- {
- TankAirLogic logic = (TankAirLogic) world.getBlockTileEntity(x, y, z);
- if (logic.hasItem())
- {
- ItemStack item = logic.getStackInSlot(0);
- if (item.getItem() instanceof ItemBlock)
- {
- Block inv = Block.blocksList[item.itemID];
- renderer.setOverrideBlockTexture(inv.getIcon(1, item.getItemDamage()));
- renderer.renderBlockByRenderType(inv, x, y, z);
- renderer.clearOverrideBlockTexture();
- }
- }
- else if (logic.hasFluids())
- {
- int base = 0;
- for (FluidStack fluidstack : logic.getFluids())
- {
- Fluid fluid = fluidstack.getFluid();
- //System.out.println("Base: "+getBaseAmount(base)+", Height: "+getHeightAmount(base, fluidstack.amount)+", fluid amount: "+fluidstack.amount);
- renderer.setRenderBounds(0.0, getBaseAmount(base), 0.0, 1.0, getHeightAmount(base, fluidstack.amount), 1.0);
- if (fluid.canBePlacedInWorld())
- BlockSkinRenderHelper.renderMetadataBlock(Block.blocksList[fluid.getBlockID()], 0, x, y, z, renderer, world);
- else
- BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world);
- base += fluidstack.amount;
- }
- }
- }
- return true;
- }
-
- private double getBaseAmount (int base)
- {
- return base / capacity;
- }
-
- private double getHeightAmount (int base, int amount)
- {
- return (base + amount) / capacity;
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return model;
- }
-}
diff --git a/src/main/java/tconstruct/client/block/TankRender.java b/src/main/java/tconstruct/client/block/TankRender.java
deleted file mode 100644
index 9b297503..00000000
--- a/src/main/java/tconstruct/client/block/TankRender.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package tconstruct.client.block;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.item.Item;
-import net.minecraft.world.IBlockAccess;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidStack;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.blocks.logic.LavaTankLogic;
-import tconstruct.client.TProxyClient;
-
-import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-
-public class TankRender implements ISimpleBlockRenderingHandler
-{
- public static int tankModelID = RenderingRegistry.getNextAvailableRenderId();
-
- @Override
- public void renderInventoryBlock (Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- if (modelID == tankModelID)
- {
- TProxyClient.renderStandardInvBlock(renderer, block, metadata);
- if (metadata == 0)
- {
- renderer.setRenderBounds(0.1875, 0, 0.1875, 0.8125, 0.125, 0.8125);
- renderDoRe(renderer, block, metadata);
- }
- }
- }
-
- @Override
- public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderer)
- {
- if (modelID == tankModelID)
- {
- //Liquid
- LavaTankLogic logic = (LavaTankLogic) world.getBlockTileEntity(x, y, z);
- if (logic.containsFluid())
- {
- FluidStack liquid = logic.tank.getFluid();
- renderer.setRenderBounds(0.001, 0.001, 0.001, 0.999, logic.getFluidAmountScaled(), 0.999);
- Fluid fluid = liquid.getFluid();
- if (fluid.canBePlacedInWorld())
- BlockSkinRenderHelper.renderMetadataBlock(Block.blocksList[fluid.getBlockID()], 0, x, y, z, renderer, world);
- else
- BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world);
-
- renderer.setRenderBounds(00, 0.001, 0.001, 0.999, logic.getFluidAmountScaled(), 0.999);
- }
-
- //Block
- int meta = world.getBlockMetadata(x, y, z);
- if (meta == 0 && world.getBlockId(x, y + 1, z) == 0)
- {
- renderer.setRenderBounds(0.1875, 0, 0.1875, 0.8125, 0.125, 0.8125);
- renderer.renderStandardBlock(block, x, y + 1, z);
- }
- renderer.setRenderBounds(0, 0, 0, 1, 1, 1);
- renderer.renderStandardBlock(block, x, y, z);
- }
- return true;
- }
-
- @Override
- public boolean shouldRender3DInInventory ()
- {
- return true;
- }
-
- @Override
- public int getRenderId ()
- {
- return tankModelID;
- }
-
- private void renderDoRe (RenderBlocks renderblocks, Block block, int meta)
- {
- Tessellator tessellator = Tessellator.instance;
- GL11.glTranslatef(-0.5F, 0.5F, -0.5F);
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1F, 0.0F);
- renderblocks.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(0, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- renderblocks.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(1, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1F);
- renderblocks.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(2, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- renderblocks.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(3, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1F, 0.0F, 0.0F);
- renderblocks.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, block.getIcon(4, meta));
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- renderblocks.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, block.getIcon(5, meta));
- tessellator.draw();
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
-}
diff --git a/src/main/java/tconstruct/client/entity/CartRender.java b/src/main/java/tconstruct/client/entity/CartRender.java
deleted file mode 100644
index 62cf5e4d..00000000
--- a/src/main/java/tconstruct/client/entity/CartRender.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package tconstruct.client.entity;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.entity.Render;
-import net.minecraft.entity.Entity;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.Vec3;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.entity.CartEntity;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class CartRender extends Render
-{
- protected ModelBase modelCart;
- RenderBlocks renderblocks;
-
- public CartRender()
- {
- this.shadowSize = 0.5F;
- this.modelCart = new ModelPullcart();
- renderblocks = new RenderBlocks();
- }
-
- public void renderPullcart (CartEntity cart, double posX, double posY, double posZ, float par8, float par9)
- {
- GL11.glPushMatrix();
- long var10 = (long) cart.entityId * 493286711L;
- var10 = var10 * var10 * 4392167121L + var10 * 98761L;
- float var12 = (((float) (var10 >> 16 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
- float var13 = (((float) (var10 >> 20 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
- float var14 = (((float) (var10 >> 24 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
- GL11.glTranslatef(var12, var13, var14);
- double var15 = cart.lastTickPosX + (cart.posX - cart.lastTickPosX) * (double) par9;
- double var17 = cart.lastTickPosY + (cart.posY - cart.lastTickPosY) * (double) par9;
- double var19 = cart.lastTickPosZ + (cart.posZ - cart.lastTickPosZ) * (double) par9;
- double var21 = 0.30000001192092896D;
- Vec3 var23 = cart.func_70489_a(var15, var17, var19);
- float var24 = cart.prevRotationPitch + (cart.rotationPitch - cart.prevRotationPitch) * par9;
-
- if (var23 != null)
- {
- Vec3 var25 = cart.func_70495_a(var15, var17, var19, var21);
- Vec3 var26 = cart.func_70495_a(var15, var17, var19, -var21);
-
- if (var25 == null)
- {
- var25 = var23;
- }
-
- if (var26 == null)
- {
- var26 = var23;
- }
-
- posX += var23.xCoord - var15;
- posY += (var25.yCoord + var26.yCoord) / 2.0D - var17;
- posZ += var23.zCoord - var19;
- Vec3 var27 = var26.addVector(-var25.xCoord, -var25.yCoord, -var25.zCoord);
-
- if (var27.lengthVector() != 0.0D)
- {
- var27 = var27.normalize();
- par8 = (float) (Math.atan2(var27.zCoord, var27.xCoord) * 180.0D / Math.PI);
- var24 = (float) (Math.atan(var27.yCoord) * 73.0D);
- }
- }
-
- GL11.glTranslatef((float) posX, (float) posY + 0.3125f, (float) posZ);
- GL11.glRotatef(180.0F - par8, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef(-var24, 0.0F, 0.0F, 1.0F);
- float var28 = (float) cart.func_70496_j() - par9;
- float var30 = (float) cart.getDamage() - par9;
-
- if (var30 < 0.0F)
- {
- var30 = 0.0F;
- }
-
- if (var28 > 0.0F)
- {
- GL11.glRotatef(MathHelper.sin(var28) * var28 * var30 / 10.0F * (float) cart.func_70493_k(), 1.0F, 0.0F, 0.0F);
- }
-
- if (cart.getCartType() != 0)
- {
- //this.loadTexture("/terrain.png");
- float var29 = 0.75F;
- GL11.glScalef(var29, var29, var29);
-
- if (cart.getCartType() == 1)
- {
- GL11.glTranslatef(0.0F, 0.5F, 0.0F);
- renderblocks.renderBlockAsItem(Block.chest, 0, cart.getBrightness(par9));
- GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(0.5F, 0.0F, -0.5F);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- }
- else if (cart.getCartType() == 2)
- {
- GL11.glTranslatef(0.0F, 0.3125F, 0.0F);
- renderblocks.renderBlockAsItem(Block.furnaceIdle, 0, cart.getBrightness(par9));
- GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(0.0F, -0.3125F, 0.0F);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- }
-
- //GL11.glScalef(1.0F / var29, 1.0F / var29, 1.0F / var29);
- }
-
- //this.loadTexture("/tinkertextures/entity/pullcart.png");
- GL11.glScalef(-1.0F, -1.0F, 1.0F);
- this.modelCart.render(cart, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
- GL11.glPopMatrix();
- }
-
- /**
- * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
- * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
- * (Render 0)
- {
- f5 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / f7;
- f4 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / f7;
- f6 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / f7;
- GL11.glTranslatef(f5, f4, f6);
- }
-
- f5 = 1.0F;
- this.itemRenderBlocks.renderBlockAsItem(block, itemstack.getItemDamage(), f5);
- GL11.glPopMatrix();
- }
- }
- else
- {
- float f8;
-
- if (itemstack.getItemSpriteNumber() == 1 && itemstack.getItem().requiresMultipleRenderPasses())
- {
- if (renderInFrame)
- {
- GL11.glScalef(0.5128205F, 0.5128205F, 0.5128205F);
- GL11.glTranslatef(0.0F, -0.05F, 0.0F);
- }
- else
- {
- GL11.glScalef(0.5F, 0.5F, 0.5F);
- }
-
- for (int k = 0; k < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); ++k)
- {
- this.random.setSeed(187L);
- Icon icon = itemstack.getItem().getIcon(itemstack, k);
- f8 = 1.0F;
-
- if (this.renderWithColor)
- {
- i = Item.itemsList[itemstack.itemID].getColorFromItemStack(itemstack, k);
- f5 = (float) (i >> 16 & 255) / 255.0F;
- f4 = (float) (i >> 8 & 255) / 255.0F;
- f6 = (float) (i & 255) / 255.0F;
- GL11.glColor4f(f5 * f8, f4 * f8, f6 * f8, 1.0F);
- this.renderDroppedItem(par1EntityItem, icon, b0, par9, f5 * f8, f4 * f8, f6 * f8, k);
- }
- else
- {
- this.renderDroppedItem(par1EntityItem, icon, b0, par9, 1.0F, 1.0F, 1.0F, k);
- }
- }
- }
- else
- {
- if (renderInFrame)
- {
- GL11.glScalef(0.5128205F, 0.5128205F, 0.5128205F);
- GL11.glTranslatef(0.0F, -0.05F, 0.0F);
- }
- else
- {
- GL11.glScalef(0.5F, 0.5F, 0.5F);
- }
-
- Icon icon1 = itemstack.getIconIndex();
-
- if (this.renderWithColor)
- {
- int l = Item.itemsList[itemstack.itemID].getColorFromItemStack(itemstack, 0);
- f8 = (float) (l >> 16 & 255) / 255.0F;
- float f9 = (float) (l >> 8 & 255) / 255.0F;
- f5 = (float) (l & 255) / 255.0F;
- f4 = 1.0F;
- this.renderDroppedItem(par1EntityItem, icon1, b0, par9, f8 * f4, f9 * f4, f5 * f4);
- }
- else
- {
- this.renderDroppedItem(par1EntityItem, icon1, b0, par9, 1.0F, 1.0F, 1.0F);
- }
- }
- }
-
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- GL11.glPopMatrix();
- }
- }
-
- protected ResourceLocation func_110796_a (EntityItem par1EntityItem)
- {
- return this.renderManager.renderEngine.getResourceLocation(par1EntityItem.getEntityItem().getItemSpriteNumber());
- }
-
- /**
- * Renders a dropped item
- */
- private void renderDroppedItem (EntityItem par1EntityItem, Icon par2Icon, int par3, float par4, float par5, float par6, float par7)
- {
- renderDroppedItem(par1EntityItem, par2Icon, par3, par4, par5, par6, par7, 0);
- }
-
- private void renderDroppedItem (EntityItem par1EntityItem, Icon par2Icon, int par3, float par4, float par5, float par6, float par7, int pass)
- {
- Tessellator tessellator = Tessellator.instance;
-
- if (par2Icon == null)
- {
- TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
- ResourceLocation resourcelocation = texturemanager.getResourceLocation(par1EntityItem.getEntityItem().getItemSpriteNumber());
- par2Icon = ((TextureMap) texturemanager.getTexture(resourcelocation)).getAtlasSprite("missingno");
- }
-
- float f4 = ((Icon) par2Icon).getMinU();
- float f5 = ((Icon) par2Icon).getMaxU();
- float f6 = ((Icon) par2Icon).getMinV();
- float f7 = ((Icon) par2Icon).getMaxV();
- float f8 = 1.0F;
- float f9 = 0.5F;
- float f10 = 0.25F;
- float f11;
-
- GL11.glPushMatrix();
-
- if (renderInFrame)
- {
- GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
- }
- else
- {
- GL11.glRotatef((((float) par1EntityItem.age + par4) / 20.0F + par1EntityItem.hoverStart) * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F);
- }
-
- float f12 = 0.0625F;
- f11 = 0.021875F;
- ItemStack itemstack = par1EntityItem.getEntityItem();
- int j = itemstack.stackSize;
- byte b0 = getMiniItemCount(itemstack);
-
- GL11.glTranslatef(-f9, -f10, -((f12 + f11) * (float) b0 / 2.0F));
-
- for (int k = 0; k < b0; ++k)
- {
- // Makes items offset when in 3D, like when in 2D, looks much better. Considered a vanilla bug...
- if (k > 0 && shouldSpreadItems())
- {
- float x = (random.nextFloat() * 2.0F - 1.0F) * 0.3F / 0.5F;
- float y = (random.nextFloat() * 2.0F - 1.0F) * 0.3F / 0.5F;
- float z = (random.nextFloat() * 2.0F - 1.0F) * 0.3F / 0.5F;
- GL11.glTranslatef(x, y, f12 + f11);
- }
- else
- {
- GL11.glTranslatef(0f, 0f, f12 + f11);
- }
-
- if (itemstack.getItemSpriteNumber() == 0)
- {
- this.bindTexture(TextureMap.locationBlocksTexture);
- }
- else
- {
- this.bindTexture(TextureMap.locationItemsTexture);
- }
-
- GL11.glColor4f(par5, par6, par7, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, f5, f6, f4, f7, ((Icon) par2Icon).getIconWidth(), ((Icon) par2Icon).getIconHeight(), f12);
-
- if (itemstack.hasEffect(pass))
- {
- GL11.glDepthFunc(GL11.GL_EQUAL);
- GL11.glDisable(GL11.GL_LIGHTING);
- this.renderManager.renderEngine.bindTexture(field_110798_h);
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
- float f13 = 0.76F;
- GL11.glColor4f(0.5F * f13, 0.25F * f13, 0.8F * f13, 1.0F);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f14 = 0.125F;
- GL11.glScalef(f14, f14, f14);
- float f15 = (float) (Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F;
- GL11.glTranslatef(f15, 0.0F, 0.0F);
- GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 255, 255, f12);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f14, f14, f14);
- f15 = (float) (Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F;
- GL11.glTranslatef(-f15, 0.0F, 0.0F);
- GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 255, 255, f12);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- }
- }
-
- GL11.glPopMatrix();
-
- }
-
- /**
- * Renders the item's icon or block into the UI at the specified position.
- */
- public void renderItemIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- renderItemIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5, false);
- }
-
- public void renderItemIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5, boolean renderEffect)
- {
- int k = par3ItemStack.itemID;
- int l = par3ItemStack.getItemDamage();
- Object object = par3ItemStack.getIconIndex();
- float f;
- int i1;
- float f1;
- float f2;
-
- Block block = (k < Block.blocksList.length ? Block.blocksList[k] : null);
- if (par3ItemStack.getItemSpriteNumber() == 0 && block != null && RenderBlocks.renderItemIn3d(Block.blocksList[k].getRenderType()))
- {
- par2TextureManager.bindTexture(TextureMap.locationBlocksTexture);
- GL11.glPushMatrix();
- GL11.glTranslatef((float) (par4 - 2), (float) (par5 + 3), -3.0F + this.zLevel);
- GL11.glScalef(10.0F, 10.0F, 10.0F);
- GL11.glTranslatef(1.0F, 0.5F, 1.0F);
- GL11.glScalef(1.0F, 1.0F, -1.0F);
- GL11.glRotatef(210.0F, 1.0F, 0.0F, 0.0F);
- GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
- i1 = Item.itemsList[k].getColorFromItemStack(par3ItemStack, 0);
- f = (float) (i1 >> 16 & 255) / 255.0F;
- f1 = (float) (i1 >> 8 & 255) / 255.0F;
- f2 = (float) (i1 & 255) / 255.0F;
-
- if (this.renderWithColor)
- {
- GL11.glColor4f(f, f1, f2, 1.0F);
- }
-
- GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
- this.itemRenderBlocks.useInventoryTint = this.renderWithColor;
- this.itemRenderBlocks.renderBlockAsItem(block, l, 1.0F);
- this.itemRenderBlocks.useInventoryTint = true;
- GL11.glPopMatrix();
- }
- else if (Item.itemsList[k].requiresMultipleRenderPasses())
- {
- GL11.glDisable(GL11.GL_LIGHTING);
-
- for (int j1 = 0; j1 < Item.itemsList[k].getRenderPasses(l); ++j1)
- {
- par2TextureManager.bindTexture(par3ItemStack.getItemSpriteNumber() == 0 ? TextureMap.locationBlocksTexture : TextureMap.locationItemsTexture);
- Icon icon = Item.itemsList[k].getIcon(par3ItemStack, j1);
- int k1 = Item.itemsList[k].getColorFromItemStack(par3ItemStack, j1);
- f1 = (float) (k1 >> 16 & 255) / 255.0F;
- f2 = (float) (k1 >> 8 & 255) / 255.0F;
- float f3 = (float) (k1 & 255) / 255.0F;
-
- if (this.renderWithColor)
- {
- GL11.glColor4f(f1, f2, f3, 1.0F);
- }
-
- this.renderIcon(par4, par5, icon, 16, 16);
-
- if (par3ItemStack.hasEffect(j1))
- {
- renderEffect(par2TextureManager, par4, par5);
- }
- }
-
- GL11.glEnable(GL11.GL_LIGHTING);
- }
- else
- {
- GL11.glDisable(GL11.GL_LIGHTING);
- ResourceLocation resourcelocation = par2TextureManager.getResourceLocation(par3ItemStack.getItemSpriteNumber());
- par2TextureManager.bindTexture(resourcelocation);
-
- if (object == null)
- {
- object = ((TextureMap) Minecraft.getMinecraft().getTextureManager().getTexture(resourcelocation)).getAtlasSprite("missingno");
- }
-
- i1 = Item.itemsList[k].getColorFromItemStack(par3ItemStack, 0);
- f = (float) (i1 >> 16 & 255) / 255.0F;
- f1 = (float) (i1 >> 8 & 255) / 255.0F;
- f2 = (float) (i1 & 255) / 255.0F;
-
- if (this.renderWithColor)
- {
- GL11.glColor4f(f, f1, f2, 1.0F);
- }
-
- this.renderIcon(par4, par5, (Icon) object, 16, 16);
- GL11.glEnable(GL11.GL_LIGHTING);
-
- if (par3ItemStack.hasEffect(0))
- {
- renderEffect(par2TextureManager, par4, par5);
- }
- }
-
- GL11.glEnable(GL11.GL_CULL_FACE);
- }
-
- private void renderEffect (TextureManager manager, int x, int y)
- {
- GL11.glDepthFunc(GL11.GL_GREATER);
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDepthMask(false);
- manager.bindTexture(field_110798_h);
- this.zLevel -= 50.0F;
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_DST_COLOR, GL11.GL_DST_COLOR);
- GL11.glColor4f(0.5F, 0.25F, 0.8F, 1.0F);
- this.renderGlint(x * 431278612 + y * 32178161, x - 2, y - 2, 20, 20);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthMask(true);
- this.zLevel += 50.0F;
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- }
-
- /**
- * Render the item's icon or block into the GUI, including the glint effect.
- */
- public void renderItemAndEffectIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- if (par3ItemStack != null)
- {
- if (!ForgeHooksClient.renderInventoryItem(renderBlocks, par2TextureManager, par3ItemStack, renderWithColor, zLevel, (float) par4, (float) par5))
- {
- this.renderItemIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5, true);
- }
-
- /* Modders must handle this themselves if they use custom renderers!
- if (par3ItemStack.hasEffect())
- {
- GL11.glDepthFunc(GL11.GL_GREATER);
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDepthMask(false);
- par2TextureManager.bindTexture(field_110798_h);
- this.zLevel -= 50.0F;
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_DST_COLOR, GL11.GL_DST_COLOR);
- GL11.glColor4f(0.5F, 0.25F, 0.8F, 1.0F);
- this.renderGlint(par4 * 431278612 + par5 * 32178161, par4 - 2, par5 - 2, 20, 20);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthMask(true);
- this.zLevel += 50.0F;
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- }
- */
- }
- }
-
- private void renderGlint (int par1, int par2, int par3, int par4, int par5)
- {
- for (int j1 = 0; j1 < 2; ++j1)
- {
- if (j1 == 0)
- {
- GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
- }
-
- if (j1 == 1)
- {
- GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
- }
-
- float f = 0.00390625F;
- float f1 = 0.00390625F;
- float f2 = (float) (Minecraft.getSystemTime() % (long) (3000 + j1 * 1873)) / (3000.0F + (float) (j1 * 1873)) * 256.0F;
- float f3 = 0.0F;
- Tessellator tessellator = Tessellator.instance;
- float f4 = 4.0F;
-
- if (j1 == 1)
- {
- f4 = -1.0F;
- }
-
- tessellator.startDrawingQuads();
- tessellator.addVertexWithUV((double) (par2 + 0), (double) (par3 + par5), (double) this.zLevel, (double) ((f2 + (float) par5 * f4) * f), (double) ((f3 + (float) par5) * f1));
- tessellator.addVertexWithUV((double) (par2 + par4), (double) (par3 + par5), (double) this.zLevel, (double) ((f2 + (float) par4 + (float) par5 * f4) * f),
- (double) ((f3 + (float) par5) * f1));
- tessellator.addVertexWithUV((double) (par2 + par4), (double) (par3 + 0), (double) this.zLevel, (double) ((f2 + (float) par4) * f), (double) ((f3 + 0.0F) * f1));
- tessellator.addVertexWithUV((double) (par2 + 0), (double) (par3 + 0), (double) this.zLevel, (double) ((f2 + 0.0F) * f), (double) ((f3 + 0.0F) * f1));
- tessellator.draw();
- }
- }
-
- /**
- * Renders the item's overlay information. Examples being stack count or damage on top of the item's image at the
- * specified position.
- */
- public void renderItemOverlayIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- this.renderItemOverlayIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5, (String) null);
- }
-
- public void renderItemOverlayIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5, String par6Str)
- {
- if (par3ItemStack != null)
- {
- if (par3ItemStack.stackSize > 1 || par6Str != null)
- {
- String s1 = par6Str == null ? String.valueOf(par3ItemStack.stackSize) : par6Str;
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDisable(GL11.GL_DEPTH_TEST);
- par1FontRenderer.drawStringWithShadow(s1, par4 + 19 - 2 - par1FontRenderer.getStringWidth(s1), par5 + 6 + 3, 16777215);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glEnable(GL11.GL_DEPTH_TEST);
- }
-
- if (par3ItemStack.isItemDamaged())
- {
- int k = (int) Math.round(13.0D - (double) par3ItemStack.getItemDamageForDisplay() * 13.0D / (double) par3ItemStack.getMaxDamage());
- int l = (int) Math.round(255.0D - (double) par3ItemStack.getItemDamageForDisplay() * 255.0D / (double) par3ItemStack.getMaxDamage());
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDisable(GL11.GL_DEPTH_TEST);
- GL11.glDisable(GL11.GL_TEXTURE_2D);
- Tessellator tessellator = Tessellator.instance;
- int i1 = 255 - l << 16 | l << 8;
- int j1 = (255 - l) / 4 << 16 | 16128;
- this.renderQuad(tessellator, par4 + 2, par5 + 13, 13, 2, 0);
- this.renderQuad(tessellator, par4 + 2, par5 + 13, 12, 1, j1);
- this.renderQuad(tessellator, par4 + 2, par5 + 13, k, 1, i1);
- GL11.glEnable(GL11.GL_TEXTURE_2D);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glEnable(GL11.GL_DEPTH_TEST);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- }
- }
- }
-
- /**
- * Adds a quad to the tesselator at the specified position with the set width and height and color. Args:
- * tessellator, x, y, width, height, color
- */
- private void renderQuad (Tessellator par1Tessellator, int par2, int par3, int par4, int par5, int par6)
- {
- par1Tessellator.startDrawingQuads();
- par1Tessellator.setColorOpaque_I(par6);
- par1Tessellator.addVertex((double) (par2 + 0), (double) (par3 + 0), 0.0D);
- par1Tessellator.addVertex((double) (par2 + 0), (double) (par3 + par5), 0.0D);
- par1Tessellator.addVertex((double) (par2 + par4), (double) (par3 + par5), 0.0D);
- par1Tessellator.addVertex((double) (par2 + par4), (double) (par3 + 0), 0.0D);
- par1Tessellator.draw();
- }
-
- public void renderIcon (int par1, int par2, Icon par3Icon, int par4, int par5)
- {
- Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawingQuads();
- tessellator.addVertexWithUV((double) (par1 + 0), (double) (par2 + par5), (double) this.zLevel, (double) par3Icon.getMinU(), (double) par3Icon.getMaxV());
- tessellator.addVertexWithUV((double) (par1 + par4), (double) (par2 + par5), (double) this.zLevel, (double) par3Icon.getMaxU(), (double) par3Icon.getMaxV());
- tessellator.addVertexWithUV((double) (par1 + par4), (double) (par2 + 0), (double) this.zLevel, (double) par3Icon.getMaxU(), (double) par3Icon.getMinV());
- tessellator.addVertexWithUV((double) (par1 + 0), (double) (par2 + 0), (double) this.zLevel, (double) par3Icon.getMinU(), (double) par3Icon.getMinV());
- tessellator.draw();
- }
-
- protected ResourceLocation getEntityTexture (Entity par1Entity)
- {
- return this.func_110796_a((EntityItem) par1Entity);
- }
-
- /**
- * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
- * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
- * (Render 1)
- ret = 2;
- if (stack.stackSize > 5)
- ret = 3;
- if (stack.stackSize > 20)
- ret = 4;
- if (stack.stackSize > 40)
- ret = 5;
- return ret;
- }
-
- /**
- * Allows for a subclass to override how many rendered items appear in a
- * "mini item 3d stack"
- * @param stack
- * @return
- */
- public byte getMiniItemCount (ItemStack stack)
- {
- byte ret = 1;
- if (stack.stackSize > 1)
- ret = 2;
- if (stack.stackSize > 15)
- ret = 3;
- if (stack.stackSize > 31)
- ret = 4;
- return ret;
- }
-}
diff --git a/src/main/java/tconstruct/client/entity/GolemBaseModel.java b/src/main/java/tconstruct/client/entity/GolemBaseModel.java
deleted file mode 100644
index 1ee9694c..00000000
--- a/src/main/java/tconstruct/client/entity/GolemBaseModel.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package tconstruct.client.entity;
-
-import net.minecraft.client.model.ModelPig;
-import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
-import net.minecraft.util.MathHelper;
-
-public class GolemBaseModel extends ModelPig
-{
- ModelRenderer rightArm;
- ModelRenderer leftArm;
-
- public GolemBaseModel()
- {
- float f = 0.0F;
- float f1 = 0.0F;
- head = new ModelRenderer(this, 0, 0);
- head.addBox(-4F, -8F, -4F, 8, 8, 8, f);
- head.setRotationPoint(0.0F, 0.0F + f1, 0.0F);
- head.showModel = false;
- body = new ModelRenderer(this, 16, 16);
- body.addBox(-4F, 0.0F, -2F, 8, 12, 4, f);
- body.setRotationPoint(0.0F, 0.0F + f1, 0.0F);
- body.showModel = false;
- rightArm = new ModelRenderer(this, 40, 16);
- rightArm.addBox(-3F, -2F, -2F, 4, 12, 4, f);
- rightArm.setRotationPoint(-5F, 2.0F + f1, 0.0F);
- leftArm = new ModelRenderer(this, 40, 16);
- leftArm.mirror = true;
- leftArm.addBox(-1F, -2F, -2F, 4, 12, 4, f);
- leftArm.setRotationPoint(5F, 2.0F + f1, 0.0F);
- leg3 = new ModelRenderer(this, 0, 16);
- leg3.addBox(-2F, 0.0F, -2F, 4, 12, 4, f);
- leg3.setRotationPoint(-2F, 12F + f1, 0.0F);
- leg4 = new ModelRenderer(this, 0, 16);
- leg4.mirror = true;
- leg4.addBox(-2F, 0.0F, -2F, 4, 12, 4, f);
- leg4.setRotationPoint(2.0F, 12F + f1, 0.0F);
- rightArm = new ModelRenderer(this, 40, 16);
- rightArm.addBox(-1F, -2F, -1F, 2, 12, 2, f);
- rightArm.setRotationPoint(-5F, 2.0F, 0.0F);
- rightArm.showModel = false;
- leftArm = new ModelRenderer(this, 40, 16);
- leftArm.mirror = true;
- leftArm.addBox(-1F, -2F, -1F, 2, 12, 2, f);
- leftArm.setRotationPoint(5F, 2.0F, 0.0F);
- leftArm.showModel = false;
- leg3 = new ModelRenderer(this, 0, 16);
- leg3.addBox(-1F, 0.0F, -1F, 2, 12, 2, f);
- leg3.setRotationPoint(-2F, 12F, 0.0F);
- leg3.showModel = false;
- leg4 = new ModelRenderer(this, 0, 16);
- leg4.mirror = true;
- leg4.addBox(-1F, 0.0F, -1F, 2, 12, 2, f);
- leg4.setRotationPoint(2.0F, 12F, 0.0F);
- leg4.showModel = false;
- leg1.showModel = leg2.showModel = false;
- }
-
- @Override
- public void setRotationAngles (float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
- {
- super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
- float f6 = 0.0F;
- float f7 = 0.0F;
- rightArm.rotateAngleZ = 0.0F;
- leftArm.rotateAngleZ = 0.0F;
- rightArm.rotateAngleY = -(0.1F - f6 * 0.6F) + head.rotateAngleY;
- leftArm.rotateAngleY = (0.1F - f6 * 0.6F) + head.rotateAngleY + 0.4F;
- rightArm.rotateAngleX = -1.570796F + head.rotateAngleX;
- leftArm.rotateAngleX = -1.570796F + head.rotateAngleX;
- rightArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F;
- leftArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F;
- rightArm.rotateAngleZ += MathHelper.cos(f2 * 0.09F) * 0.05F + 0.05F;
- leftArm.rotateAngleZ -= MathHelper.cos(f2 * 0.09F) * 0.05F + 0.05F;
- rightArm.rotateAngleX += MathHelper.sin(f2 * 0.067F) * 0.05F;
- leftArm.rotateAngleX -= MathHelper.sin(f2 * 0.067F) * 0.05F;
- }
-}
diff --git a/src/main/java/tconstruct/client/entity/ModelPullcart.java b/src/main/java/tconstruct/client/entity/ModelPullcart.java
deleted file mode 100644
index 45769cf9..00000000
--- a/src/main/java/tconstruct/client/entity/ModelPullcart.java
+++ /dev/null
@@ -1,281 +0,0 @@
-package tconstruct.client.entity;
-
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
-
-public class ModelPullcart extends ModelBase
-{
- ModelRenderer BackPanel;
- ModelRenderer FrontPanel;
- ModelRenderer RightPanel;
- ModelRenderer LeftPanel;
- ModelRenderer BottomPanel;
- ModelRenderer RightHandle;
- ModelRenderer LeftHandle;
- ModelRenderer RightSpokeUp;
- ModelRenderer RightSpokeRight;
- ModelRenderer RightSpokeDown;
- ModelRenderer RightSpokeLeft;
- ModelRenderer RightAxle;
- ModelRenderer WheelRight1;
- ModelRenderer WheelRight2;
- ModelRenderer WheelRight3;
- ModelRenderer WheelRight4;
- ModelRenderer WheelRight5;
- ModelRenderer WheelRight6;
- ModelRenderer WheelRight7;
- ModelRenderer WheelRight8;
- ModelRenderer WheelRight9;
- ModelRenderer WheelRight10;
- ModelRenderer WheelRight11;
- ModelRenderer WheelRight12;
- ModelRenderer LeftSpokeRight;
- ModelRenderer LeftSpokeLeft;
- ModelRenderer LeftSpokeDown;
- ModelRenderer LeftSpokeUp;
- ModelRenderer LeftAxle;
- ModelRenderer WheelLeft1;
- ModelRenderer WheelLeft2;
- ModelRenderer WheelLeft3;
- ModelRenderer WheelLeft4;
- ModelRenderer WheelLeft5;
- ModelRenderer WheelLeft6;
- ModelRenderer WheelLeft7;
- ModelRenderer WheelLeft8;
- ModelRenderer WheelLeft9;
- ModelRenderer WheelLeft10;
- ModelRenderer WheelLeft11;
- ModelRenderer WheelLeft12;
-
- public ModelPullcart()
- {
- textureWidth = 128;
- textureHeight = 64;
-
- BackPanel = new ModelRenderer(this, 0, 12);
- BackPanel.addBox(-10F, 0F, 0F, 20, 10, 2);
- BackPanel.setRotationPoint(0F, -8F, 8F);
- setRotation(BackPanel, 0F, 0F, 0F);
- FrontPanel = new ModelRenderer(this, 0, 0);
- FrontPanel.addBox(-10F, 0F, 0F, 20, 10, 2);
- FrontPanel.setRotationPoint(0F, -8F, -10F);
- setRotation(FrontPanel, 0F, 0F, 0F);
- RightPanel = new ModelRenderer(this, 0, 35);
- RightPanel.addBox(0F, 0F, -10F, 2, 8, 20);
- RightPanel.setRotationPoint(-12F, -6F, 0F);
- setRotation(RightPanel, 0F, 0F, 0F);
- LeftPanel = new ModelRenderer(this, 24, 15);
- LeftPanel.addBox(0F, 0F, -10F, 2, 8, 20);
- LeftPanel.setRotationPoint(10F, -6F, 0F);
- setRotation(LeftPanel, 0F, 0F, 0F);
- BottomPanel = new ModelRenderer(this, 40, 43);
- BottomPanel.addBox(-12F, 0F, -10F, 24, 1, 20);
- BottomPanel.setRotationPoint(0F, 2F, 0F);
- setRotation(BottomPanel, 0F, 0F, 0F);
- RightHandle = new ModelRenderer(this, 92, 33);
- RightHandle.addBox(0F, 0F, 0F, 16, 2, 2);
- RightHandle.setRotationPoint(-28F, 0F, -7F);
- setRotation(RightHandle, 0F, 0F, 0F);
- LeftHandle = new ModelRenderer(this, 92, 38);
- LeftHandle.addBox(0F, 0F, 0F, 16, 2, 2);
- LeftHandle.setRotationPoint(-28F, 0F, 5F);
- setRotation(LeftHandle, 0F, 0F, 0F);
- RightSpokeUp = new ModelRenderer(this, 99, 3);
- RightSpokeUp.addBox(-2F, -8F, 0F, 4, 6, 1);
- RightSpokeUp.setRotationPoint(0F, 3F, -11F);
- setRotation(RightSpokeUp, 0F, 0F, 0F);
- RightSpokeRight = new ModelRenderer(this, 112, 15);
- RightSpokeRight.addBox(2F, -2F, 0F, 6, 4, 1);
- RightSpokeRight.setRotationPoint(0F, 3F, -11F);
- setRotation(RightSpokeRight, 0F, 0F, 0F);
- RightSpokeDown = new ModelRenderer(this, 99, 25);
- RightSpokeDown.addBox(-2F, 2F, 0F, 4, 6, 1);
- RightSpokeDown.setRotationPoint(0F, 3F, -11F);
- setRotation(RightSpokeDown, 0F, 0F, 0F);
- RightSpokeLeft = new ModelRenderer(this, 82, 15);
- RightSpokeLeft.addBox(-8F, -2F, 0F, 6, 4, 1);
- RightSpokeLeft.setRotationPoint(0F, 3F, -11F);
- setRotation(RightSpokeLeft, 0F, 0F, 0F);
- RightAxle = new ModelRenderer(this, 98, 14);
- RightAxle.addBox(-2F, -2F, 0F, 4, 4, 2);
- RightAxle.setRotationPoint(0F, 3F, -12F);
- setRotation(RightAxle, 0F, 0F, 0F);
- WheelRight1 = new ModelRenderer(this, 110, 3);
- WheelRight1.addBox(2F, -7F, 0F, 2, 2, 1);
- WheelRight1.setRotationPoint(0F, 3F, -11F);
- setRotation(WheelRight1, 0F, 0F, 0F);
- WheelRight2 = new ModelRenderer(this, 117, 5);
- WheelRight2.addBox(4F, -6F, 0F, 2, 2, 1);
- WheelRight2.setRotationPoint(0F, 3F, -11F);
- setRotation(WheelRight2, 0F, 0F, 0F);
- WheelRight3 = new ModelRenderer(this, 122, 9);
- WheelRight3.addBox(5F, -4F, 0F, 2, 2, 1);
- WheelRight3.setRotationPoint(0F, 3F, -11F);
- setRotation(WheelRight3, 0F, 0F, 0F);
- WheelRight4 = new ModelRenderer(this, 122, 23);
- WheelRight4.addBox(5F, 2F, 0F, 2, 2, 1);
- WheelRight4.setRotationPoint(0F, 3F, -11F);
- setRotation(WheelRight4, 0F, 0F, 0F);
- WheelRight5 = new ModelRenderer(this, 117, 27);
- WheelRight5.addBox(4F, 4F, 0F, 2, 2, 1);
- WheelRight5.setRotationPoint(0F, 3F, -11F);
- setRotation(WheelRight5, 0F, 0F, 0F);
- WheelRight6 = new ModelRenderer(this, 110, 29);
- WheelRight6.addBox(2F, 5F, 0F, 2, 2, 1);
- WheelRight6.setRotationPoint(0F, 3F, -11F);
- setRotation(WheelRight6, 0F, 0F, 0F);
- WheelRight7 = new ModelRenderer(this, 92, 29);
- WheelRight7.addBox(-4F, 5F, 0F, 2, 2, 1);
- WheelRight7.setRotationPoint(0F, 3F, -11F);
- setRotation(WheelRight7, 0F, 0F, 0F);
- WheelRight8 = new ModelRenderer(this, 85, 27);
- WheelRight8.addBox(-6F, 4F, 0F, 2, 2, 1);
- WheelRight8.setRotationPoint(0F, 3F, -11F);
- setRotation(WheelRight8, 0F, 0F, 0F);
- WheelRight9 = new ModelRenderer(this, 80, 23);
- WheelRight9.addBox(-7F, 2F, 0F, 2, 2, 1);
- WheelRight9.setRotationPoint(0F, 3F, -11F);
- setRotation(WheelRight9, 0F, 0F, 0F);
- WheelRight10 = new ModelRenderer(this, 80, 9);
- WheelRight10.addBox(-7F, -4F, 0F, 2, 2, 1);
- WheelRight10.setRotationPoint(0F, 3F, -11F);
- setRotation(WheelRight10, 0F, 0F, 0F);
- WheelRight11 = new ModelRenderer(this, 85, 5);
- WheelRight11.addBox(-6F, -6F, 0F, 2, 2, 1);
- WheelRight11.setRotationPoint(0F, 3F, -11F);
- setRotation(WheelRight11, 0F, 0F, 0F);
- WheelRight12 = new ModelRenderer(this, 92, 3);
- WheelRight12.addBox(-4F, -7F, 0F, 2, 2, 1);
- WheelRight12.setRotationPoint(0F, 3F, -11F);
- setRotation(WheelRight12, 0F, 0F, 0F);
- LeftSpokeRight = new ModelRenderer(this, 82, 15);
- LeftSpokeRight.addBox(-8F, -2F, 0F, 6, 4, 1);
- LeftSpokeRight.setRotationPoint(0F, 3F, 10F);
- setRotation(LeftSpokeRight, 0F, 0F, 0F);
- LeftSpokeLeft = new ModelRenderer(this, 112, 15);
- LeftSpokeLeft.addBox(2F, -2F, 0F, 6, 4, 1);
- LeftSpokeLeft.setRotationPoint(0F, 3F, 10F);
- setRotation(LeftSpokeLeft, 0F, 0F, 0F);
- LeftSpokeDown = new ModelRenderer(this, 99, 25);
- LeftSpokeDown.addBox(-2F, 2F, 0F, 4, 6, 1);
- LeftSpokeDown.setRotationPoint(0F, 3F, 10F);
- setRotation(LeftSpokeDown, 0F, 0F, 0F);
- LeftSpokeUp = new ModelRenderer(this, 99, 3);
- LeftSpokeUp.addBox(-2F, -8F, 0F, 4, 6, 1);
- LeftSpokeUp.setRotationPoint(0F, 3F, 10F);
- setRotation(LeftSpokeUp, 0F, 0F, 0F);
- LeftAxle = new ModelRenderer(this, 98, 14);
- LeftAxle.addBox(-2F, -2F, 0F, 4, 4, 2);
- LeftAxle.setRotationPoint(0F, 3F, 10F);
- setRotation(LeftAxle, 0F, 0F, 0F);
- WheelLeft1 = new ModelRenderer(this, 92, 3);
- WheelLeft1.addBox(-4F, -7F, 0F, 2, 2, 1);
- WheelLeft1.setRotationPoint(0F, 3F, 10F);
- setRotation(WheelLeft1, 0F, 0F, 0F);
- WheelLeft2 = new ModelRenderer(this, 117, 5);
- WheelLeft2.addBox(-6F, -6F, 0F, 2, 2, 1);
- WheelLeft2.setRotationPoint(0F, 3F, 10F);
- setRotation(WheelLeft2, 0F, 0F, 0F);
- WheelLeft3 = new ModelRenderer(this, 80, 9);
- WheelLeft3.addBox(-7F, -4F, 0F, 2, 2, 1);
- WheelLeft3.setRotationPoint(0F, 3F, 10F);
- setRotation(WheelLeft3, 0F, 0F, 0F);
- WheelLeft4 = new ModelRenderer(this, 80, 23);
- WheelLeft4.addBox(-7F, 2F, 0F, 2, 2, 1);
- WheelLeft4.setRotationPoint(0F, 3F, 10F);
- setRotation(WheelLeft4, 0F, 0F, 0F);
- WheelLeft5 = new ModelRenderer(this, 117, 27);
- WheelLeft5.addBox(-6F, 4F, 0F, 2, 2, 1);
- WheelLeft5.setRotationPoint(0F, 3F, 10F);
- setRotation(WheelLeft5, 0F, 0F, 0F);
- WheelLeft6 = new ModelRenderer(this, 110, 29);
- WheelLeft6.addBox(-4F, 5F, 0F, 2, 2, 1);
- WheelLeft6.setRotationPoint(0F, 3F, 10F);
- setRotation(WheelLeft6, 0F, 0F, 0F);
- WheelLeft7 = new ModelRenderer(this, 92, 29);
- WheelLeft7.addBox(2F, 5F, 0F, 2, 2, 1);
- WheelLeft7.setRotationPoint(0F, 3F, 10F);
- setRotation(WheelLeft7, 0F, 0F, 0F);
- WheelLeft8 = new ModelRenderer(this, 85, 27);
- WheelLeft8.addBox(4F, 4F, 0F, 2, 2, 1);
- WheelLeft8.setRotationPoint(0F, 3F, 10F);
- setRotation(WheelLeft8, 0F, 0F, 0F);
- WheelLeft9 = new ModelRenderer(this, 122, 23);
- WheelLeft9.addBox(5F, 2F, 0F, 2, 2, 1);
- WheelLeft9.setRotationPoint(0F, 3F, 10F);
- setRotation(WheelLeft9, 0F, 0F, 0F);
- WheelLeft10 = new ModelRenderer(this, 122, 9);
- WheelLeft10.addBox(5F, -4F, 0F, 2, 2, 1);
- WheelLeft10.setRotationPoint(0F, 3F, 10F);
- setRotation(WheelLeft10, 0F, 0F, 0F);
- WheelLeft11 = new ModelRenderer(this, 85, 5);
- WheelLeft11.addBox(4F, -6F, 0F, 2, 2, 1);
- WheelLeft11.setRotationPoint(0F, 3F, 10F);
- setRotation(WheelLeft11, 0F, 0F, 0F);
- WheelLeft12 = new ModelRenderer(this, 110, 3);
- WheelLeft12.addBox(2F, -7F, 0F, 2, 2, 1);
- WheelLeft12.setRotationPoint(0F, 3F, 10F);
- setRotation(WheelLeft12, 0F, 0F, 0F);
- }
-
- 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);
- BackPanel.render(f5);
- FrontPanel.render(f5);
- RightPanel.render(f5);
- LeftPanel.render(f5);
- BottomPanel.render(f5);
- RightHandle.render(f5);
- LeftHandle.render(f5);
- RightSpokeUp.render(f5);
- RightSpokeRight.render(f5);
- RightSpokeDown.render(f5);
- RightSpokeLeft.render(f5);
- RightAxle.render(f5);
- WheelRight1.render(f5);
- WheelRight2.render(f5);
- WheelRight3.render(f5);
- WheelRight4.render(f5);
- WheelRight5.render(f5);
- WheelRight6.render(f5);
- WheelRight7.render(f5);
- WheelRight8.render(f5);
- WheelRight9.render(f5);
- WheelRight10.render(f5);
- WheelRight11.render(f5);
- WheelRight12.render(f5);
- LeftSpokeRight.render(f5);
- LeftSpokeLeft.render(f5);
- LeftSpokeDown.render(f5);
- LeftSpokeUp.render(f5);
- LeftAxle.render(f5);
- WheelLeft1.render(f5);
- WheelLeft2.render(f5);
- WheelLeft3.render(f5);
- WheelLeft4.render(f5);
- WheelLeft5.render(f5);
- WheelLeft6.render(f5);
- WheelLeft7.render(f5);
- WheelLeft8.render(f5);
- WheelLeft9.render(f5);
- WheelLeft10.render(f5);
- WheelLeft11.render(f5);
- WheelLeft12.render(f5);
- }
-
- private void setRotation (ModelRenderer model, float x, float y, float z)
- {
- model.rotateAngleX = x;
- model.rotateAngleY = y;
- model.rotateAngleZ = z;
- }
-
- public void setRotationAngles (float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
- {
- super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
- }
-
-}
diff --git a/src/main/java/tconstruct/client/entity/ModelWagon.java b/src/main/java/tconstruct/client/entity/ModelWagon.java
deleted file mode 100644
index be1acbf9..00000000
--- a/src/main/java/tconstruct/client/entity/ModelWagon.java
+++ /dev/null
@@ -1,458 +0,0 @@
-package tconstruct.client.entity;
-
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
-
-public class ModelWagon extends ModelBase
-{
- ModelRenderer Bottom;
- ModelRenderer Left;
- ModelRenderer Right;
- ModelRenderer Back;
- ModelRenderer Front;
- ModelRenderer Leftpull;
- ModelRenderer Rightpull;
- ModelRenderer LeftWheelAxle;
- ModelRenderer LeftWCenterHbeam;
- ModelRenderer LeftWCenterVtop;
- ModelRenderer LeftWCenterVbottom;
- ModelRenderer LeftWnwH;
- ModelRenderer LeftWnwM;
- ModelRenderer LeftWnwV;
- ModelRenderer LeftWnwEye;
- ModelRenderer LeftWneH;
- ModelRenderer LeftWneM;
- ModelRenderer LeftWneV;
- ModelRenderer LeftWneEye;
- ModelRenderer LeftWswH;
- ModelRenderer LeftWswM;
- ModelRenderer LeftWswV;
- ModelRenderer LeftWswEye;
- ModelRenderer LeftWseH;
- ModelRenderer LeftWseM;
- ModelRenderer LeftWseV;
- ModelRenderer LeftWseEye;
- ModelRenderer RightWheelAxle;
- ModelRenderer RightWCenterHbeam;
- ModelRenderer RightWCenterVtop;
- ModelRenderer RightWCenterVbottom;
- ModelRenderer RightWnwH;
- ModelRenderer RightWnwM;
- ModelRenderer RightWnwV;
- ModelRenderer RightWnwEye;
- ModelRenderer RoghtWneH;
- ModelRenderer RightWneM;
- ModelRenderer RightWneV;
- ModelRenderer RightWneEye;
- ModelRenderer RightWswH;
- ModelRenderer RightWswM;
- ModelRenderer RightWswV;
- ModelRenderer RightWswEye;
- ModelRenderer RightWseH;
- ModelRenderer RightWseM;
- ModelRenderer RightWseV;
- public ModelRenderer RightWseEye;
- ModelRenderer HandBrakeMain;
- ModelRenderer HandbrakeJamb;
- ModelRenderer StandCenterBar;
- ModelRenderer StandLeft;
- ModelRenderer StandRight;
-
- public ModelWagon()
- {
- this.textureWidth = 128;
- this.textureHeight = 64;
- this.Bottom = new ModelRenderer(this, 26, 46);
- this.Bottom.addBox(0.0F, 0.0F, 0.0F, 20, 2, 16);
- this.Bottom.setRotationPoint(-10.0F, 4.0F, -8.0F);
- this.Bottom.setTextureSize(64, 32);
- this.Bottom.mirror = true;
- this.setRotation(this.Bottom, 0.0F, 0.0F, 0.0F);
- this.Left = new ModelRenderer(this, 0, 35);
- this.Left.addBox(0.0F, 0.0F, 0.0F, 20, 8, 2);
- this.Left.setRotationPoint(-10.0F, -4.0F, -8.0F);
- this.Left.setTextureSize(64, 32);
- this.Left.mirror = true;
- this.setRotation(this.Left, 0.0F, 0.0F, 0.0F);
- this.Right = new ModelRenderer(this, 83, 35);
- this.Right.addBox(0.0F, 0.0F, 0.0F, 20, 8, 2);
- this.Right.setRotationPoint(-10.0F, -4.0F, 6.0F);
- this.Right.setTextureSize(64, 32);
- this.Right.mirror = true;
- this.setRotation(this.Right, 0.0F, 0.0F, 0.0F);
- this.Back = new ModelRenderer(this, 99, 46);
- this.Back.addBox(-2.0F, -5.0F, 0.0F, 2, 5, 12);
- this.Back.setRotationPoint(10.0F, 4.0F, -6.0F);
- this.Back.setTextureSize(64, 32);
- this.Back.mirror = true;
- this.setRotation(this.Back, 0.0F, 0.0F, 0.0F);
- this.Front = new ModelRenderer(this, 50, 1);
- this.Front.addBox(0.0F, 0.0F, 0.0F, 2, 8, 12);
- this.Front.setRotationPoint(-10.0F, -4.0F, -6.0F);
- this.Front.setTextureSize(64, 32);
- this.Front.mirror = true;
- this.setRotation(this.Front, 0.0F, 0.0F, 0.0F);
- this.Leftpull = new ModelRenderer(this, 0, 30);
- this.Leftpull.addBox(0.0F, 0.0F, 0.0F, 16, 2, 2);
- this.Leftpull.setRotationPoint(-26.0F, 2.0F, -6.0F);
- this.Leftpull.setTextureSize(64, 32);
- this.Leftpull.mirror = true;
- this.setRotation(this.Leftpull, 0.0F, 0.0F, 0.0F);
- this.Rightpull = new ModelRenderer(this, 91, 30);
- this.Rightpull.addBox(0.0F, 0.0F, 0.0F, 16, 2, 2);
- this.Rightpull.setRotationPoint(-26.0F, 2.0F, 4.0F);
- this.Rightpull.setTextureSize(64, 32);
- this.Rightpull.mirror = true;
- this.setRotation(this.Rightpull, 0.0F, 0.0F, 0.0F);
- this.HandBrakeMain = new ModelRenderer(this, 1, 59);
- this.HandBrakeMain.addBox(-6.0F, 0.0F, 0.0F, 11, 1, 1);
- this.HandBrakeMain.setRotationPoint(-9.0F, -3.0F, -9.0F);
- this.HandBrakeMain.setTextureSize(64, 32);
- this.HandBrakeMain.mirror = true;
- this.setRotation(this.HandBrakeMain, 0.0F, 0.0F, 0.0F);
- this.HandbrakeJamb = new ModelRenderer(this, 10, 62);
- this.HandbrakeJamb.addBox(3.0F, 1.0F, 0.0F, 2, 1, 1);
- this.HandbrakeJamb.setRotationPoint(-9.0F, -3.0F, -9.0F);
- this.HandbrakeJamb.setTextureSize(64, 32);
- this.HandbrakeJamb.mirror = true;
- this.setRotation(this.HandbrakeJamb, 0.0F, 0.0F, 0.0F);
- this.LeftWheelAxle = new ModelRenderer(this, 0, 12);
- this.LeftWheelAxle.addBox(-1.0F, -1.0F, -1.0F, 2, 2, 3);
- this.LeftWheelAxle.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWheelAxle.setTextureSize(64, 32);
- this.LeftWheelAxle.mirror = true;
- this.setRotation(this.LeftWheelAxle, 0.0F, 0.0F, 0.0F);
- this.LeftWCenterHbeam = new ModelRenderer(this, 12, 12);
- this.LeftWCenterHbeam.addBox(-8.0F, -2.0F, 0.0F, 16, 4, 1);
- this.LeftWCenterHbeam.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWCenterHbeam.setTextureSize(64, 32);
- this.LeftWCenterHbeam.mirror = true;
- this.setRotation(this.LeftWCenterHbeam, 0.0F, 0.0F, 0.0F);
- this.LeftWCenterVtop = new ModelRenderer(this, 18, 0);
- this.LeftWCenterVtop.addBox(-2.0F, -8.0F, 0.0F, 4, 6, 1);
- this.LeftWCenterVtop.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWCenterVtop.setTextureSize(64, 32);
- this.LeftWCenterVtop.mirror = true;
- this.setRotation(this.LeftWCenterVtop, 0.0F, 0.0F, 0.0F);
- this.LeftWCenterVbottom = new ModelRenderer(this, 18, 22);
- this.LeftWCenterVbottom.addBox(-2.0F, 2.0F, 0.0F, 4, 6, 1);
- this.LeftWCenterVbottom.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWCenterVbottom.setTextureSize(64, 32);
- this.LeftWCenterVbottom.mirror = true;
- this.setRotation(this.LeftWCenterVbottom, 0.0F, 0.0F, 0.0F);
- this.LeftWnwH = new ModelRenderer(this, 0, 7);
- this.LeftWnwH.addBox(-7.0F, -4.0F, 0.0F, 3, 2, 1);
- this.LeftWnwH.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWnwH.setTextureSize(64, 32);
- this.LeftWnwH.mirror = true;
- this.setRotation(this.LeftWnwH, 0.0F, 0.0F, 0.0F);
- this.LeftWnwM = new ModelRenderer(this, 4, 3);
- this.LeftWnwM.addBox(-6.0F, -6.0F, 0.0F, 2, 2, 1);
- this.LeftWnwM.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWnwM.setTextureSize(64, 32);
- this.LeftWnwM.mirror = true;
- this.setRotation(this.LeftWnwM, 0.0F, 0.0F, 0.0F);
- this.LeftWnwV = new ModelRenderer(this, 11, 1);
- this.LeftWnwV.addBox(-4.0F, -7.0F, 0.0F, 2, 3, 1);
- this.LeftWnwV.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWnwV.setTextureSize(64, 32);
- this.LeftWnwV.mirror = true;
- this.setRotation(this.LeftWnwV, 0.0F, 0.0F, 0.0F);
- this.LeftWnwEye = new ModelRenderer(this, 10, 7);
- this.LeftWnwEye.addBox(-4.0F, -4.0F, 0.0F, 1, 1, 1);
- this.LeftWnwEye.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWnwEye.setTextureSize(64, 32);
- this.LeftWnwEye.mirror = true;
- this.setRotation(this.LeftWnwEye, 0.0F, 0.0F, 0.0F);
- this.LeftWneH = new ModelRenderer(this, 40, 7);
- this.LeftWneH.addBox(4.0F, -4.0F, 0.0F, 3, 2, 1);
- this.LeftWneH.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWneH.setTextureSize(64, 32);
- this.LeftWneH.mirror = true;
- this.setRotation(this.LeftWneH, 0.0F, 0.0F, 0.0F);
- this.LeftWneM = new ModelRenderer(this, 37, 3);
- this.LeftWneM.addBox(4.0F, -6.0F, 0.0F, 2, 2, 1);
- this.LeftWneM.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWneM.setTextureSize(64, 32);
- this.LeftWneM.mirror = true;
- this.setRotation(this.LeftWneM, 0.0F, 0.0F, 0.0F);
- this.LeftWneV = new ModelRenderer(this, 29, 1);
- this.LeftWneV.addBox(2.0F, -7.0F, 0.0F, 2, 3, 1);
- this.LeftWneV.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWneV.setTextureSize(64, 32);
- this.LeftWneV.mirror = true;
- this.setRotation(this.LeftWneV, 0.0F, 0.0F, 0.0F);
- this.LeftWneEye = new ModelRenderer(this, 33, 7);
- this.LeftWneEye.addBox(3.0F, -4.0F, 0.0F, 1, 1, 1);
- this.LeftWneEye.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWneEye.setTextureSize(64, 32);
- this.LeftWneEye.mirror = true;
- this.setRotation(this.LeftWneEye, 0.0F, 0.0F, 0.0F);
- this.LeftWswH = new ModelRenderer(this, 0, 19);
- this.LeftWswH.addBox(-7.0F, 2.0F, 0.0F, 3, 2, 1);
- this.LeftWswH.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWswH.setTextureSize(64, 32);
- this.LeftWswH.mirror = true;
- this.setRotation(this.LeftWswH, 0.0F, 0.0F, 0.0F);
- this.LeftWswM = new ModelRenderer(this, 4, 23);
- this.LeftWswM.addBox(-6.0F, 4.0F, 0.0F, 2, 2, 1);
- this.LeftWswM.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWswM.setTextureSize(64, 32);
- this.LeftWswM.mirror = true;
- this.setRotation(this.LeftWswM, 0.0F, 0.0F, 0.0F);
- this.LeftWswV = new ModelRenderer(this, 11, 24);
- this.LeftWswV.addBox(-4.0F, 4.0F, 0.0F, 2, 3, 1);
- this.LeftWswV.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWswV.setTextureSize(64, 32);
- this.LeftWswV.mirror = true;
- this.setRotation(this.LeftWswV, 0.0F, 0.0F, 0.0F);
- this.LeftWswEye = new ModelRenderer(this, 10, 20);
- this.LeftWswEye.addBox(-4.0F, 3.0F, 0.0F, 1, 1, 1);
- this.LeftWswEye.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWswEye.setTextureSize(64, 32);
- this.LeftWswEye.mirror = true;
- this.setRotation(this.LeftWswEye, 0.0F, 0.0F, 0.0F);
- this.LeftWseH = new ModelRenderer(this, 40, 19);
- this.LeftWseH.addBox(4.0F, 2.0F, 0.0F, 3, 2, 1);
- this.LeftWseH.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWseH.setTextureSize(64, 32);
- this.LeftWseH.mirror = true;
- this.setRotation(this.LeftWseH, 0.0F, 0.0F, 0.0F);
- this.LeftWseM = new ModelRenderer(this, 37, 23);
- this.LeftWseM.addBox(4.0F, 4.0F, 0.0F, 2, 2, 1);
- this.LeftWseM.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWseM.setTextureSize(64, 32);
- this.LeftWseM.mirror = true;
- this.setRotation(this.LeftWseM, 0.0F, 0.0F, 0.0F);
- this.LeftWseV = new ModelRenderer(this, 29, 24);
- this.LeftWseV.addBox(2.0F, 4.0F, 0.0F, 2, 3, 1);
- this.LeftWseV.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWseV.setTextureSize(64, 32);
- this.LeftWseV.mirror = true;
- this.setRotation(this.LeftWseV, 0.0F, 0.0F, 0.0F);
- this.LeftWseEye = new ModelRenderer(this, 33, 20);
- this.LeftWseEye.addBox(3.0F, 3.0F, 0.0F, 1, 1, 1);
- this.LeftWseEye.setRotationPoint(0.0F, 5.0F, -10.0F);
- this.LeftWseEye.setTextureSize(64, 32);
- this.LeftWseEye.mirror = true;
- this.setRotation(this.LeftWseEye, 0.0F, 0.0F, 0.0F);
- this.RightWheelAxle = new ModelRenderer(this, 117, 12);
- this.RightWheelAxle.addBox(-1.0F, -1.0F, -1.0F, 2, 2, 3);
- this.RightWheelAxle.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWheelAxle.setTextureSize(64, 32);
- this.RightWheelAxle.mirror = true;
- this.setRotation(this.RightWheelAxle, 0.0F, 0.0F, 0.0F);
- this.RightWCenterHbeam = new ModelRenderer(this, 80, 12);
- this.RightWCenterHbeam.addBox(-8.0F, -2.0F, 0.0F, 16, 4, 1);
- this.RightWCenterHbeam.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWCenterHbeam.setTextureSize(64, 32);
- this.RightWCenterHbeam.mirror = true;
- this.setRotation(this.RightWCenterHbeam, 0.0F, 0.0F, 0.0F);
- this.RightWCenterVtop = new ModelRenderer(this, 98, 0);
- this.RightWCenterVtop.addBox(-2.0F, -8.0F, 0.0F, 4, 6, 1);
- this.RightWCenterVtop.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWCenterVtop.setTextureSize(64, 32);
- this.RightWCenterVtop.mirror = true;
- this.setRotation(this.RightWCenterVtop, 0.0F, 0.0F, 0.0F);
- this.RightWCenterVbottom = new ModelRenderer(this, 98, 22);
- this.RightWCenterVbottom.addBox(-2.0F, 2.0F, 0.0F, 4, 6, 1);
- this.RightWCenterVbottom.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWCenterVbottom.setTextureSize(64, 32);
- this.RightWCenterVbottom.mirror = true;
- this.setRotation(this.RightWCenterVbottom, 0.0F, 0.0F, 0.0F);
- this.RightWnwH = new ModelRenderer(this, 79, 7);
- this.RightWnwH.addBox(4.0F, -4.0F, 0.0F, 3, 2, 1);
- this.RightWnwH.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWnwH.setTextureSize(64, 32);
- this.RightWnwH.mirror = true;
- this.setRotation(this.RightWnwH, 0.0F, 0.0F, 0.0F);
- this.RightWnwM = new ModelRenderer(this, 84, 3);
- this.RightWnwM.addBox(4.0F, -6.0F, 0.0F, 2, 2, 1);
- this.RightWnwM.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWnwM.setTextureSize(64, 32);
- this.RightWnwM.mirror = true;
- this.setRotation(this.RightWnwM, 0.0F, 0.0F, 0.0F);
- this.RightWnwV = new ModelRenderer(this, 91, 1);
- this.RightWnwV.addBox(2.0F, -7.0F, 0.0F, 2, 3, 1);
- this.RightWnwV.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWnwV.setTextureSize(64, 32);
- this.RightWnwV.mirror = true;
- this.setRotation(this.RightWnwV, 0.0F, 0.0F, 0.0F);
- this.RightWnwEye = new ModelRenderer(this, 90, 7);
- this.RightWnwEye.addBox(3.0F, -4.0F, 0.0F, 1, 1, 1);
- this.RightWnwEye.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWnwEye.setTextureSize(64, 32);
- this.RightWnwEye.mirror = true;
- this.setRotation(this.RightWnwEye, 0.0F, 0.0F, 0.0F);
- this.RoghtWneH = new ModelRenderer(this, 119, 7);
- this.RoghtWneH.addBox(-7.0F, -4.0F, 0.0F, 3, 2, 1);
- this.RoghtWneH.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RoghtWneH.setTextureSize(64, 32);
- this.RoghtWneH.mirror = true;
- this.setRotation(this.RoghtWneH, 0.0F, 0.0F, 0.0F);
- this.RightWneM = new ModelRenderer(this, 116, 3);
- this.RightWneM.addBox(-6.0F, -6.0F, 0.0F, 2, 2, 1);
- this.RightWneM.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWneM.setTextureSize(64, 32);
- this.RightWneM.mirror = true;
- this.setRotation(this.RightWneM, 0.0F, 0.0F, 0.0F);
- this.RightWneV = new ModelRenderer(this, 109, 1);
- this.RightWneV.addBox(-4.0F, -7.0F, 0.0F, 2, 3, 1);
- this.RightWneV.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWneV.setTextureSize(64, 32);
- this.RightWneV.mirror = true;
- this.setRotation(this.RightWneV, 0.0F, 0.0F, 0.0F);
- this.RightWneEye = new ModelRenderer(this, 113, 7);
- this.RightWneEye.addBox(-4.0F, -4.0F, 0.0F, 1, 1, 1);
- this.RightWneEye.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWneEye.setTextureSize(64, 32);
- this.RightWneEye.mirror = true;
- this.setRotation(this.RightWneEye, 0.0F, 0.0F, 0.0F);
- this.RightWswH = new ModelRenderer(this, 79, 19);
- this.RightWswH.addBox(4.0F, 2.0F, 0.0F, 3, 2, 1);
- this.RightWswH.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWswH.setTextureSize(64, 32);
- this.RightWswH.mirror = true;
- this.setRotation(this.RightWswH, 0.0F, 0.0F, 0.0F);
- this.RightWswM = new ModelRenderer(this, 84, 23);
- this.RightWswM.addBox(4.0F, 4.0F, 0.0F, 2, 2, 1);
- this.RightWswM.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWswM.setTextureSize(64, 32);
- this.RightWswM.mirror = true;
- this.setRotation(this.RightWswM, 0.0F, 0.0F, 0.0F);
- this.RightWswV = new ModelRenderer(this, 91, 24);
- this.RightWswV.addBox(2.0F, 4.0F, 0.0F, 2, 3, 1);
- this.RightWswV.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWswV.setTextureSize(64, 32);
- this.RightWswV.mirror = true;
- this.setRotation(this.RightWswV, 0.0F, 0.0F, 0.0F);
- this.RightWswEye = new ModelRenderer(this, 90, 20);
- this.RightWswEye.addBox(3.0F, 3.0F, 0.0F, 1, 1, 1);
- this.RightWswEye.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWswEye.setTextureSize(64, 32);
- this.RightWswEye.mirror = true;
- this.setRotation(this.RightWswEye, 0.0F, 0.0F, 0.0F);
- this.RightWseH = new ModelRenderer(this, 119, 19);
- this.RightWseH.addBox(-7.0F, 2.0F, 0.0F, 3, 2, 1);
- this.RightWseH.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWseH.setTextureSize(64, 32);
- this.RightWseH.mirror = true;
- this.setRotation(this.RightWseH, 0.0F, 0.0F, 0.0F);
- this.RightWseM = new ModelRenderer(this, 116, 23);
- this.RightWseM.addBox(-6.0F, 4.0F, 0.0F, 2, 2, 1);
- this.RightWseM.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWseM.setTextureSize(64, 32);
- this.RightWseM.mirror = true;
- this.setRotation(this.RightWseM, 0.0F, 0.0F, 0.0F);
- this.RightWseV = new ModelRenderer(this, 109, 24);
- this.RightWseV.addBox(-4.0F, 4.0F, 0.0F, 2, 3, 1);
- this.RightWseV.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWseV.setTextureSize(64, 32);
- this.RightWseV.mirror = true;
- this.setRotation(this.RightWseV, 0.0F, 0.0F, 0.0F);
- this.RightWseEye = new ModelRenderer(this, 113, 20);
- this.RightWseEye.addBox(-4.0F, 3.0F, 0.0F, 1, 1, 1);
- this.RightWseEye.setRotationPoint(0.0F, 5.0F, 9.0F);
- this.RightWseEye.setTextureSize(64, 32);
- this.RightWseEye.mirror = true;
- this.setRotation(this.RightWseEye, 0.0F, 0.0F, 0.0F);
- this.StandCenterBar = new ModelRenderer(this, 47, 27);
- this.StandCenterBar.addBox(-1.0F, 0.0F, -8.0F, 1, 2, 16);
- this.StandCenterBar.setRotationPoint(-9.0F, 6.0F, 0.0F);
- this.StandCenterBar.setTextureSize(64, 32);
- this.StandCenterBar.mirror = true;
- this.setRotation(this.StandCenterBar, 0.0F, 0.0F, 0.0F);
- this.StandLeft = new ModelRenderer(this, 37, 27);
- this.StandLeft.addBox(-1.0F, 2.0F, -8.0F, 1, 5, 2);
- this.StandLeft.setRotationPoint(-9.0F, 6.0F, 0.0F);
- this.StandLeft.setTextureSize(64, 32);
- this.StandLeft.mirror = true;
- this.setRotation(this.StandLeft, 0.0F, 0.0F, 0.0F);
- this.StandRight = new ModelRenderer(this, 84, 27);
- this.StandRight.addBox(-1.0F, 2.0F, 6.0F, 1, 5, 2);
- this.StandRight.setRotationPoint(-9.0F, 6.0F, 0.0F);
- this.StandRight.setTextureSize(64, 32);
- this.StandRight.mirror = true;
- this.setRotation(this.StandRight, 0.0F, 0.0F, 0.0F);
- }
-
- /**
- * Sets the models various rotation angles then renders the model.
- */
- @Override
- public void render (Entity var1, float var2, float var3, float var4, float var5, float var6, float var7)
- {
- super.render(var1, var2, var3, var4, var5, var6, var7);
- this.setRotationAngles(var2, var3, var4, var5, var6, var7, var1);
- this.LeftWheelAxle.rotateAngleZ = this.LeftWCenterHbeam.rotateAngleZ = this.LeftWCenterVtop.rotateAngleZ = this.LeftWCenterVbottom.rotateAngleZ = this.LeftWnwH.rotateAngleZ = this.LeftWnwM.rotateAngleZ = this.LeftWnwV.rotateAngleZ = this.LeftWnwEye.rotateAngleZ = this.LeftWneH.rotateAngleZ = this.LeftWneM.rotateAngleZ = this.LeftWneV.rotateAngleZ = this.LeftWneEye.rotateAngleZ = this.LeftWswH.rotateAngleZ = this.LeftWswM.rotateAngleZ = this.LeftWswV.rotateAngleZ = this.LeftWswEye.rotateAngleZ = this.LeftWseH.rotateAngleZ = this.LeftWseM.rotateAngleZ = this.LeftWseV.rotateAngleZ = this.LeftWseEye.rotateAngleZ = this.RightWheelAxle.rotateAngleZ = this.RightWCenterHbeam.rotateAngleZ = this.RightWCenterVtop.rotateAngleZ = this.RightWCenterVbottom.rotateAngleZ = this.RightWnwH.rotateAngleZ = this.RightWnwM.rotateAngleZ = this.RightWnwV.rotateAngleZ = this.RightWnwEye.rotateAngleZ = this.RoghtWneH.rotateAngleZ = this.RightWneM.rotateAngleZ = this.RightWneV.rotateAngleZ = this.RightWneEye.rotateAngleZ = this.RightWswH.rotateAngleZ = this.RightWswM.rotateAngleZ = this.RightWswV.rotateAngleZ = this.RightWswEye.rotateAngleZ = this.RightWseH.rotateAngleZ = this.RightWseM.rotateAngleZ = this.RightWseV.rotateAngleZ = this.RightWseEye.rotateAngleZ;
- this.Bottom.render(var7);
- this.Left.render(var7);
- this.Right.render(var7);
- this.Back.render(var7);
- this.Front.render(var7);
- this.Leftpull.render(var7);
- this.Rightpull.render(var7);
- this.HandBrakeMain.render(var7);
- this.HandbrakeJamb.render(var7);
- this.LeftWheelAxle.render(var7);
- this.LeftWCenterHbeam.render(var7);
- this.LeftWCenterVtop.render(var7);
- this.LeftWCenterVbottom.render(var7);
- this.LeftWnwH.render(var7);
- this.LeftWnwM.render(var7);
- this.LeftWnwV.render(var7);
- this.LeftWnwEye.render(var7);
- this.LeftWneH.render(var7);
- this.LeftWneM.render(var7);
- this.LeftWneV.render(var7);
- this.LeftWneEye.render(var7);
- this.LeftWswH.render(var7);
- this.LeftWswM.render(var7);
- this.LeftWswV.render(var7);
- this.LeftWswEye.render(var7);
- this.LeftWseH.render(var7);
- this.LeftWseM.render(var7);
- this.LeftWseV.render(var7);
- this.LeftWseEye.render(var7);
- this.RightWheelAxle.render(var7);
- this.RightWCenterHbeam.render(var7);
- this.RightWCenterVtop.render(var7);
- this.RightWCenterVbottom.render(var7);
- this.RightWnwH.render(var7);
- this.RightWnwM.render(var7);
- this.RightWnwV.render(var7);
- this.RightWnwEye.render(var7);
- this.RoghtWneH.render(var7);
- this.RightWneM.render(var7);
- this.RightWneV.render(var7);
- this.RightWneEye.render(var7);
- this.RightWswH.render(var7);
- this.RightWswM.render(var7);
- this.RightWswV.render(var7);
- this.RightWswEye.render(var7);
- this.RightWseH.render(var7);
- this.RightWseM.render(var7);
- this.RightWseV.render(var7);
- this.RightWseEye.render(var7);
- this.StandCenterBar.render(var7);
- this.StandLeft.render(var7);
- this.StandRight.render(var7);
- }
-
- private void setRotation (ModelRenderer var1, float var2, float var3, float var4)
- {
- var1.rotateAngleX = var2;
- var1.rotateAngleY = var3;
- var1.rotateAngleZ = var4;
- }
-
- /**
- * Sets the models various rotation angles.
- */
- @Override
- public void setRotationAngles (float var1, float var2, float var3, float var4, float var5, float var6, Entity par7Entity)
- {
- super.setRotationAngles(var1, var2, var3, var4, var5, var6, par7Entity);
- }
-}
diff --git a/src/main/java/tconstruct/client/entity/SlimeModel.java b/src/main/java/tconstruct/client/entity/SlimeModel.java
deleted file mode 100644
index c6077fbb..00000000
--- a/src/main/java/tconstruct/client/entity/SlimeModel.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package tconstruct.client.entity;
-
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class SlimeModel extends ModelBase
-{
- /** The slime's bodies, both the inside box and the outside box */
- ModelRenderer slimeBodies;
-
- /** The slime's right eye */
- ModelRenderer slimeRightEye;
-
- /** The slime's left eye */
- ModelRenderer slimeLeftEye;
-
- /** The slime's mouth */
- ModelRenderer slimeMouth;
-
- public SlimeModel(int par1)
- {
- this.slimeBodies = new ModelRenderer(this, 0, par1);
- this.slimeBodies.addBox(-4.0F, 16.0F, -4.0F, 8, 8, 8);
-
- if (par1 > 0)
- {
- this.slimeBodies = new ModelRenderer(this, 0, par1);
- this.slimeBodies.addBox(-3.0F, 17.0F, -3.0F, 6, 6, 6);
- this.slimeRightEye = new ModelRenderer(this, 32, 0);
- this.slimeRightEye.addBox(-3.25F, 18.0F, -3.5F, 2, 2, 2);
- this.slimeLeftEye = new ModelRenderer(this, 32, 4);
- this.slimeLeftEye.addBox(1.25F, 18.0F, -3.5F, 2, 2, 2);
- this.slimeMouth = new ModelRenderer(this, 32, 8);
- this.slimeMouth.addBox(0.0F, 21.0F, -3.5F, 1, 1, 1);
- }
- }
-
- /**
- * Sets the models various rotation angles then renders the model.
- */
- public void render (Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7)
- {
- this.setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity);
- this.slimeBodies.render(par7);
-
- if (this.slimeRightEye != null)
- {
- this.slimeRightEye.render(par7);
- this.slimeLeftEye.render(par7);
- this.slimeMouth.render(par7);
- }
- }
-}
diff --git a/src/main/java/tconstruct/client/entity/SlimeRender.java b/src/main/java/tconstruct/client/entity/SlimeRender.java
deleted file mode 100644
index 6b1b4ba5..00000000
--- a/src/main/java/tconstruct/client/entity/SlimeRender.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package tconstruct.client.entity;
-
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.renderer.entity.RenderLiving;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.boss.BossStatus;
-import net.minecraft.util.ResourceLocation;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.entity.BlueSlime;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class SlimeRender extends RenderLiving
-{
- static final ResourceLocation texture = new ResourceLocation("tinker", "textures/mob/slimeedible.png");
- private ModelBase scaleAmount;
-
- public SlimeRender(ModelBase par1ModelBase, ModelBase par2ModelBase, float par3)
- {
- super(par1ModelBase, par3);
- this.scaleAmount = par2ModelBase;
- }
-
- @Override
- public void doRenderLiving (EntityLiving par1EntityLiving, double par2, double par4, double par6, float par8, float par9)
- {
- super.doRenderLiving(par1EntityLiving, par2, par4, par6, par8, par9);
- renderBossHealth((BlueSlime) par1EntityLiving);
- }
-
- public void renderBossHealth (BlueSlime slime)
- {
- if (slime.getSlimeSize() >= 8)
- BossStatus.setBossStatus(slime, true);
- }
-
- /**
- * Determines whether Slime Render should pass or not.
- */
- protected int shouldSlimeRenderPass (BlueSlime blueSlime, int par2, float par3)
- {
- if (blueSlime.isInvisible())
- {
- return 0;
- }
- else if (par2 == 0)
- {
- this.setRenderPassModel(this.scaleAmount);
- GL11.glEnable(GL11.GL_NORMALIZE);
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
- return 1;
- }
- else
- {
- if (par2 == 1)
- {
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- }
-
- return -1;
- }
- }
-
- /**
- * sets the scale for the slime based on getSlimeSize in EdibleSlime
- */
- protected void scaleSlime (BlueSlime par1EdibleSlime, float par2)
- {
- float f1 = (float) par1EdibleSlime.getSlimeSize();
- float f2 = (par1EdibleSlime.sizeHeight + (par1EdibleSlime.sizeFactor - par1EdibleSlime.sizeHeight) * par2) / (f1 * 0.5F + 1.0F);
- float f3 = 1.0F / (f2 + 1.0F);
- GL11.glScalef(f3 * f1, 1.0F / f3 * f1, f3 * f1);
- }
-
- /**
- * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args:
- * entityLiving, partialTickTime
- */
- @Override
- protected void preRenderCallback (EntityLivingBase par1EntityLiving, float par2)
- {
- this.scaleSlime((BlueSlime) par1EntityLiving, par2);
- }
-
- /**
- * Queries whether should render the specified pass or not.
- */
- @Override
- protected int shouldRenderPass (EntityLivingBase par1EntityLiving, int par2, float par3)
- {
- return this.shouldSlimeRenderPass((BlueSlime) par1EntityLiving, par2, par3);
- }
-
- @Override
- protected ResourceLocation getEntityTexture (Entity par1Entity)
- {
- return texture;
- }
-}
diff --git a/src/main/java/tconstruct/client/entity/item/ExplosiveRender.java b/src/main/java/tconstruct/client/entity/item/ExplosiveRender.java
deleted file mode 100644
index bb5420ef..00000000
--- a/src/main/java/tconstruct/client/entity/item/ExplosiveRender.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package tconstruct.client.entity.item;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.entity.Render;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.item.EntityTNTPrimed;
-import net.minecraft.util.ResourceLocation;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.common.TContent;
-import tconstruct.entity.item.ExplosivePrimed;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class ExplosiveRender extends Render
-{
- private RenderBlocks blockRenderer = new RenderBlocks();
-
- public ExplosiveRender()
- {
- this.shadowSize = 0.5F;
- }
-
- public void renderPrimedTNT (ExplosivePrimed par1EntityTNTPrimed, double par2, double par4, double par6, float par8, float par9)
- {
- GL11.glPushMatrix();
- GL11.glTranslatef((float) par2, (float) par4, (float) par6);
- float f2;
-
- if ((float) par1EntityTNTPrimed.fuse - par9 + 1.0F < 10.0F)
- {
- f2 = 1.0F - ((float) par1EntityTNTPrimed.fuse - par9 + 1.0F) / 10.0F;
-
- if (f2 < 0.0F)
- {
- f2 = 0.0F;
- }
-
- if (f2 > 1.0F)
- {
- f2 = 1.0F;
- }
-
- f2 *= f2;
- f2 *= f2;
- float f3 = 1.0F + f2 * 0.3F;
- GL11.glScalef(f3, f3, f3);
- }
-
- f2 = (1.0F - ((float) par1EntityTNTPrimed.fuse - par9 + 1.0F) / 100.0F) * 0.8F;
- this.bindEntityTexture(par1EntityTNTPrimed);
- this.blockRenderer.renderBlockAsItem(TContent.slimeExplosive, 0, par1EntityTNTPrimed.getBrightness(par9));
-
- if (par1EntityTNTPrimed.fuse / 5 % 2 == 0)
- {
- GL11.glDisable(GL11.GL_TEXTURE_2D);
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_DST_ALPHA);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, f2);
- this.blockRenderer.renderBlockAsItem(Block.tnt, 0, 1.0F);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glEnable(GL11.GL_TEXTURE_2D);
- }
-
- GL11.glPopMatrix();
- }
-
- protected ResourceLocation func_110808_a (ExplosivePrimed par1EntityTNTPrimed)
- {
- return TextureMap.locationBlocksTexture;
- }
-
- /**
- * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
- */
- protected ResourceLocation getEntityTexture (Entity par1Entity)
- {
- return this.func_110808_a((ExplosivePrimed) par1Entity);
- }
-
- /**
- * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
- * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
- * (Render 0)
- {
- f5 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / f7;
- f4 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / f7;
- f6 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / f7;
- GL11.glTranslatef(f5, f4, f6);
- }
-
- f5 = 1.0F;
- this.itemRenderBlocks.renderBlockAsItem(block, itemstack.getItemDamage(), f5);
- GL11.glPopMatrix();
- }
- }
- else
- {
- float f8;
-
- if (itemstack.getItemSpriteNumber() == 1 && itemstack.getItem().requiresMultipleRenderPasses())
- {
- GL11.glScalef(0.5F, 0.5F, 0.5F);
-
- for (int k = 0; k < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); ++k)
- {
- this.random.setSeed(187L);
- Icon icon = itemstack.getItem().getIcon(itemstack, k);
- f8 = 1.0F;
-
- if (this.renderWithColor)
- {
- i = Item.itemsList[itemstack.itemID].getColorFromItemStack(itemstack, k);
- f5 = (float) (i >> 16 & 255) / 255.0F;
- f4 = (float) (i >> 8 & 255) / 255.0F;
- f6 = (float) (i & 255) / 255.0F;
- GL11.glColor4f(f5 * f8, f4 * f8, f6 * f8, 1.0F);
- this.renderDroppedItem(par1ArrowEntity, icon, b0, par9, f5 * f8, f4 * f8, f6 * f8, k);
- }
- else
- {
- this.renderDroppedItem(par1ArrowEntity, icon, b0, par9, 1.0F, 1.0F, 1.0F, k);
- }
- }
- }
- else
- {
- GL11.glScalef(0.5F, 0.5F, 0.5F);
-
- Icon icon1 = itemstack.getIconIndex();
-
- if (this.renderWithColor)
- {
- int l = Item.itemsList[itemstack.itemID].getColorFromItemStack(itemstack, 0);
- f8 = (float) (l >> 16 & 255) / 255.0F;
- float f9 = (float) (l >> 8 & 255) / 255.0F;
- f5 = (float) (l & 255) / 255.0F;
- f4 = 1.0F;
- this.renderDroppedItem(par1ArrowEntity, icon1, b0, par9, f8 * f4, f9 * f4, f5 * f4);
- }
- else
- {
- this.renderDroppedItem(par1ArrowEntity, icon1, b0, par9, 1.0F, 1.0F, 1.0F);
- }
- }
- }
-
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- GL11.glPopMatrix();
- }
- }
-
- protected ResourceLocation func_110796_a (ArrowEntity par1ArrowEntity)
- {
- return this.renderManager.renderEngine.getResourceLocation(par1ArrowEntity.getEntityItem().getItemSpriteNumber());
- }
-
- /**
- * Renders a dropped item
- */
- private void renderDroppedItem (ArrowEntity par1ArrowEntity, Icon par2Icon, int par3, float par4, float par5, float par6, float par7)
- {
- renderDroppedItem(par1ArrowEntity, par2Icon, par3, par4, par5, par6, par7, 0);
- }
-
- private void renderDroppedItem (ArrowEntity arrow, Icon par2Icon, int par3, float par4, float par5, float par6, float par7, int pass)
- {
- Tessellator tessellator = Tessellator.instance;
-
- if (par2Icon == null)
- {
- TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
- ResourceLocation resourcelocation = texturemanager.getResourceLocation(arrow.getEntityItem().getItemSpriteNumber());
- par2Icon = ((TextureMap) texturemanager.getTexture(resourcelocation)).getAtlasSprite("missingno");
- }
-
- float f4 = ((Icon) par2Icon).getMinU();
- float f5 = ((Icon) par2Icon).getMaxU();
- float f6 = ((Icon) par2Icon).getMinV();
- float f7 = ((Icon) par2Icon).getMaxV();
- float f8 = 1.0F;
- float f9 = 0.5F;
- float f10 = 0.25F;
- float f11;
-
- GL11.glPushMatrix();
-
- GL11.glRotatef((((float) 0 + par4) / 20.0F + 0) * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F);
-
- float f12 = 0.0625F;
- f11 = 0.021875F;
- ItemStack itemstack = arrow.getEntityItem();
- int j = itemstack.stackSize;
- byte b0 = 1;
-
- GL11.glTranslatef(-f9, -f10, -((f12 + f11) * (float) b0 / 2.0F));
-
- for (int k = 0; k < b0; ++k)
- {
- GL11.glRotatef(arrow.prevRotationYaw + (arrow.rotationYaw - arrow.prevRotationYaw) * par4 - 90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef(arrow.prevRotationPitch + (arrow.rotationPitch - arrow.prevRotationPitch) * par4 - 45.0F, 0.0F, 0.0F, 1.0F);
- // Makes items offset when in 3D, like when in 2D, looks much better. Considered a vanilla bug...
- if (k > 0 && shouldSpreadItems())
- {
- float x = (random.nextFloat() * 2.0F - 1.0F) * 0.3F / 0.5F;
- float y = (random.nextFloat() * 2.0F - 1.0F) * 0.3F / 0.5F;
- float z = (random.nextFloat() * 2.0F - 1.0F) * 0.3F / 0.5F;
- GL11.glTranslatef(x, y, f12 + f11);
- }
- else
- {
- GL11.glTranslatef(0f, 0f, f12 + f11);
- }
-
- if (itemstack.getItemSpriteNumber() == 0)
- {
- this.bindTexture(TextureMap.locationBlocksTexture);
- }
- else
- {
- this.bindTexture(TextureMap.locationItemsTexture);
- }
-
- GL11.glColor4f(par5, par6, par7, 1.0F);
-
- ItemRenderer.renderItemIn2D(tessellator, f5, f6, f4, f7, ((Icon) par2Icon).getIconWidth(), ((Icon) par2Icon).getIconHeight(), f12);
-
- if (itemstack.hasEffect(pass))
- {
- GL11.glDepthFunc(GL11.GL_EQUAL);
- GL11.glDisable(GL11.GL_LIGHTING);
- this.renderManager.renderEngine.bindTexture(field_110798_h);
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
- float f13 = 0.76F;
- GL11.glColor4f(0.5F * f13, 0.25F * f13, 0.8F * f13, 1.0F);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f14 = 0.125F;
- GL11.glScalef(f14, f14, f14);
- float f15 = (float) (Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F;
- GL11.glTranslatef(f15, 0.0F, 0.0F);
- GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 255, 255, f12);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f14, f14, f14);
- f15 = (float) (Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F;
- GL11.glTranslatef(-f15, 0.0F, 0.0F);
- GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 255, 255, f12);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- }
- }
-
- GL11.glPopMatrix();
- }
-
- protected ResourceLocation getEntityTexture (Entity par1Entity)
- {
- return this.func_110796_a((ArrowEntity) par1Entity);
- }
-
- /**
- * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
- * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
- * (Render 0.0F)
- GL11.glRotatef(-MathHelper.sin(shake * 3) * shake, 0, 0, 1);
- GL11.glTranslatef(-7 / 16f, -8 / 16f, -1 / 32f);
- float scale = 1.35f;
- GL11.glScalef(scale, scale, scale);
- ForgeHooksClient.renderEntityItem(null, item, 0, 0, random, renderManager.renderEngine, renderBlocks);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- GL11.glPopMatrix();
- }
-
- /**
- * Renders the item's icon or block into the UI at the specified position.
- */
- public void renderItemIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- renderer.renderItemIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5);
- }
-
- /**
- * Render the item's icon or block into the GUI, including the glint effect.
- */
- public void renderItemAndEffectIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- renderer.renderItemIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5);
- }
-
- /**
- * Renders the item's overlay information. Examples being stack count or
- * damage on top of the item's image at the specified position.
- */
- public void renderItemOverlayIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- renderer.renderItemOverlayIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5);
- }
-
- /**
- * Actually renders the given argument. This is a synthetic bridge method,
- * always casting down its argument and then handing it off to a worker
- * function which does the actual work. In all probabilty, the class Render
- * is generic (Render 0)
- {
- f5 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / f7;
- f4 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / f7;
- f6 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / f7;
- GL11.glTranslatef(f5, f4, f6);
- }
-
- f5 = 1.0F;
- this.itemRenderBlocks.renderBlockAsItem(block, itemstack.getItemDamage(), f5);
- GL11.glPopMatrix();
- }
- }
- else
- {
- float f8;
-
- if (itemstack.getItemSpriteNumber() == 1 && itemstack.getItem().requiresMultipleRenderPasses())
- {
- if (renderInFrame)
- {
- GL11.glScalef(0.5128205F, 0.5128205F, 0.5128205F);
- GL11.glTranslatef(0.0F, -0.05F, 0.0F);
- }
- else
- {
- GL11.glScalef(0.5F, 0.5F, 0.5F);
- }
-
- for (int k = 0; k < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); ++k)
- {
- this.random.setSeed(187L);
- Icon icon = itemstack.getItem().getIcon(itemstack, k);
- f8 = 1.0F;
-
- if (this.renderWithColor)
- {
- i = Item.itemsList[itemstack.itemID].getColorFromItemStack(itemstack, k);
- f5 = (float) (i >> 16 & 255) / 255.0F;
- f4 = (float) (i >> 8 & 255) / 255.0F;
- f6 = (float) (i & 255) / 255.0F;
- GL11.glColor4f(f5 * f8, f4 * f8, f6 * f8, 1.0F);
- this.renderDroppedItem(par1ArrowEntity, icon, b0, par9, f5 * f8, f4 * f8, f6 * f8, k);
- }
- else
- {
- this.renderDroppedItem(par1ArrowEntity, icon, b0, par9, 1.0F, 1.0F, 1.0F, k);
- }
- }
- }
- else
- {
- if (renderInFrame)
- {
- GL11.glScalef(0.5128205F, 0.5128205F, 0.5128205F);
- GL11.glTranslatef(0.0F, -0.05F, 0.0F);
- }
- else
- {
- GL11.glScalef(0.5F, 0.5F, 0.5F);
- }
-
- Icon icon1 = itemstack.getIconIndex();
-
- if (this.renderWithColor)
- {
- int l = Item.itemsList[itemstack.itemID].getColorFromItemStack(itemstack, 0);
- f8 = (float) (l >> 16 & 255) / 255.0F;
- float f9 = (float) (l >> 8 & 255) / 255.0F;
- f5 = (float) (l & 255) / 255.0F;
- f4 = 1.0F;
- this.renderDroppedItem(par1ArrowEntity, icon1, b0, par9, f8 * f4, f9 * f4, f5 * f4);
- }
- else
- {
- this.renderDroppedItem(par1ArrowEntity, icon1, b0, par9, 1.0F, 1.0F, 1.0F);
- }
- }
- }
-
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- GL11.glPopMatrix();
- }
- }
-
- protected ResourceLocation func_110796_a (DaggerEntity par1ArrowEntity)
- {
- return this.renderManager.renderEngine.getResourceLocation(par1ArrowEntity.getEntityItem().getItemSpriteNumber());
- }
-
- /**
- * Renders a dropped item
- */
- private void renderDroppedItem (DaggerEntity par1ArrowEntity, Icon par2Icon, int par3, float par4, float par5, float par6, float par7)
- {
- renderDroppedItem(par1ArrowEntity, par2Icon, par3, par4, par5, par6, par7, 0);
- }
-
- private void renderDroppedItem (DaggerEntity dagger, Icon par2Icon, int par3, float par4, float par5, float par6, float par7, int pass)
- {
- Tessellator tessellator = Tessellator.instance;
-
- if (par2Icon == null)
- {
- TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
- ResourceLocation resourcelocation = texturemanager.getResourceLocation(dagger.getEntityItem().getItemSpriteNumber());
- par2Icon = ((TextureMap) texturemanager.getTexture(resourcelocation)).getAtlasSprite("missingno");
- }
-
- float f4 = ((Icon) par2Icon).getMinU();
- float f5 = ((Icon) par2Icon).getMaxU();
- float f6 = ((Icon) par2Icon).getMinV();
- float f7 = ((Icon) par2Icon).getMaxV();
- float f8 = 1.0F;
- float f9 = 0.5F;
- float f10 = 0.25F;
- float f11;
- float rotation = dagger.prevRotationPitch + (dagger.rotationPitch - dagger.prevRotationPitch) * par7 * -20;
-
- //GL11.glRotatef(arrow.prevRotationYaw + (arrow.rotationYaw - arrow.prevRotationYaw) * par4 - 90.0F, 0.0F, 1.0F, 0.0F);
- //GL11.glRotatef(arrow.prevRotationPitch + (arrow.rotationPitch - arrow.prevRotationPitch) * par4 - 45.0F, 0.0F, 0.0F, 1.0F);
-
- GL11.glPushMatrix();
-
- if (renderInFrame)
- {
- GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
- }
- else
- {
- GL11.glRotatef((((float) 0 + par4) / 20.0F + 0) * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F);
- }
-
- float f12 = 0.0625F;
- f11 = 0.021875F;
- ItemStack itemstack = dagger.getEntityItem();
- int j = itemstack.stackSize;
- byte b0 = getMiniItemCount(itemstack);
-
- GL11.glTranslatef(-f9, -f10, -((f12 + f11) * (float) b0 / 2.0F));
-
- for (int k = 0; k < b0; ++k)
- {
- // Makes items offset when in 3D, like when in 2D, looks much better. Considered a vanilla bug...
- GL11.glTranslatef(0f, 0f, f12 + f11);
-
- if (itemstack.getItemSpriteNumber() == 0)
- {
- this.bindTexture(TextureMap.locationBlocksTexture);
- }
- else
- {
- this.bindTexture(TextureMap.locationItemsTexture);
- }
-
- GL11.glColor4f(par5, par6, par7, 1.0F);
- GL11.glRotatef(90, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef(rotation, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, f5, f6, f4, f7, ((Icon) par2Icon).getIconWidth(), ((Icon) par2Icon).getIconHeight(), f12);
-
- /*if (itemstack.hasEffect(pass))
- {
- GL11.glDepthFunc(GL11.GL_EQUAL);
- GL11.glDisable(GL11.GL_LIGHTING);
- this.renderManager.renderEngine.bindTexture(field_110798_h);
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
- float f13 = 0.76F;
- GL11.glColor4f(0.5F * f13, 0.25F * f13, 0.8F * f13, 1.0F);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f14 = 0.125F;
- GL11.glScalef(f14, f14, f14);
- float f15 = (float) (Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F;
- GL11.glTranslatef(f15, 0.0F, 0.0F);
- GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 255, 255, f12);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f14, f14, f14);
- f15 = (float) (Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F;
- GL11.glTranslatef(-f15, 0.0F, 0.0F);
- GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 255, 255, f12);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- }*/
- }
-
- GL11.glPopMatrix();
- }
-
- /**
- * Renders the item's icon or block into the UI at the specified position.
- */
- public void renderItemIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- renderItemIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5, false);
- }
-
- public void renderItemIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5, boolean renderEffect)
- {
- int k = par3ItemStack.itemID;
- int l = par3ItemStack.getItemDamage();
- Object object = par3ItemStack.getIconIndex();
- float f;
- int i1;
- float f1;
- float f2;
-
- Block block = (k < Block.blocksList.length ? Block.blocksList[k] : null);
- if (par3ItemStack.getItemSpriteNumber() == 0 && block != null && RenderBlocks.renderItemIn3d(Block.blocksList[k].getRenderType()))
- {
- par2TextureManager.bindTexture(TextureMap.locationBlocksTexture);
- GL11.glPushMatrix();
- GL11.glTranslatef((float) (par4 - 2), (float) (par5 + 3), -3.0F + this.zLevel);
- GL11.glScalef(10.0F, 10.0F, 10.0F);
- GL11.glTranslatef(1.0F, 0.5F, 1.0F);
- GL11.glScalef(1.0F, 1.0F, -1.0F);
- GL11.glRotatef(210.0F, 1.0F, 0.0F, 0.0F);
- GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
- i1 = Item.itemsList[k].getColorFromItemStack(par3ItemStack, 0);
- f = (float) (i1 >> 16 & 255) / 255.0F;
- f1 = (float) (i1 >> 8 & 255) / 255.0F;
- f2 = (float) (i1 & 255) / 255.0F;
-
- if (this.renderWithColor)
- {
- GL11.glColor4f(f, f1, f2, 1.0F);
- }
-
- GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
- this.itemRenderBlocks.useInventoryTint = this.renderWithColor;
- this.itemRenderBlocks.renderBlockAsItem(block, l, 1.0F);
- this.itemRenderBlocks.useInventoryTint = true;
- GL11.glPopMatrix();
- }
- else if (Item.itemsList[k].requiresMultipleRenderPasses())
- {
- GL11.glDisable(GL11.GL_LIGHTING);
-
- for (int j1 = 0; j1 < Item.itemsList[k].getRenderPasses(l); ++j1)
- {
- par2TextureManager.bindTexture(par3ItemStack.getItemSpriteNumber() == 0 ? TextureMap.locationBlocksTexture : TextureMap.locationItemsTexture);
- Icon icon = Item.itemsList[k].getIcon(par3ItemStack, j1);
- int k1 = Item.itemsList[k].getColorFromItemStack(par3ItemStack, j1);
- f1 = (float) (k1 >> 16 & 255) / 255.0F;
- f2 = (float) (k1 >> 8 & 255) / 255.0F;
- float f3 = (float) (k1 & 255) / 255.0F;
-
- if (this.renderWithColor)
- {
- GL11.glColor4f(f1, f2, f3, 1.0F);
- }
-
- this.renderIcon(par4, par5, icon, 16, 16);
-
- if (par3ItemStack.hasEffect(j1))
- {
- renderEffect(par2TextureManager, par4, par5);
- }
- }
-
- GL11.glEnable(GL11.GL_LIGHTING);
- }
- else
- {
- GL11.glDisable(GL11.GL_LIGHTING);
- ResourceLocation resourcelocation = par2TextureManager.getResourceLocation(par3ItemStack.getItemSpriteNumber());
- par2TextureManager.bindTexture(resourcelocation);
-
- if (object == null)
- {
- object = ((TextureMap) Minecraft.getMinecraft().getTextureManager().getTexture(resourcelocation)).getAtlasSprite("missingno");
- }
-
- i1 = Item.itemsList[k].getColorFromItemStack(par3ItemStack, 0);
- f = (float) (i1 >> 16 & 255) / 255.0F;
- f1 = (float) (i1 >> 8 & 255) / 255.0F;
- f2 = (float) (i1 & 255) / 255.0F;
-
- if (this.renderWithColor)
- {
- GL11.glColor4f(f, f1, f2, 1.0F);
- }
-
- this.renderIcon(par4, par5, (Icon) object, 16, 16);
- GL11.glEnable(GL11.GL_LIGHTING);
-
- if (par3ItemStack.hasEffect(0))
- {
- renderEffect(par2TextureManager, par4, par5);
- }
- }
-
- GL11.glEnable(GL11.GL_CULL_FACE);
- }
-
- private void renderEffect (TextureManager manager, int x, int y)
- {
- GL11.glDepthFunc(GL11.GL_GREATER);
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDepthMask(false);
- manager.bindTexture(field_110798_h);
- this.zLevel -= 50.0F;
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_DST_COLOR, GL11.GL_DST_COLOR);
- GL11.glColor4f(0.5F, 0.25F, 0.8F, 1.0F);
- this.renderGlint(x * 431278612 + y * 32178161, x - 2, y - 2, 20, 20);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthMask(true);
- this.zLevel += 50.0F;
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- }
-
- /**
- * Render the item's icon or block into the GUI, including the glint effect.
- */
- public void renderItemAndEffectIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- if (par3ItemStack != null)
- {
- if (!ForgeHooksClient.renderInventoryItem(renderBlocks, par2TextureManager, par3ItemStack, renderWithColor, zLevel, (float) par4, (float) par5))
- {
- this.renderItemIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5, true);
- }
-
- /* Modders must handle this themselves if they use custom renderers!
- if (par3ItemStack.hasEffect())
- {
- GL11.glDepthFunc(GL11.GL_GREATER);
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDepthMask(false);
- par2TextureManager.bindTexture(field_110798_h);
- this.zLevel -= 50.0F;
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_DST_COLOR, GL11.GL_DST_COLOR);
- GL11.glColor4f(0.5F, 0.25F, 0.8F, 1.0F);
- this.renderGlint(par4 * 431278612 + par5 * 32178161, par4 - 2, par5 - 2, 20, 20);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthMask(true);
- this.zLevel += 50.0F;
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- }
- */
- }
- }
-
- private void renderGlint (int par1, int par2, int par3, int par4, int par5)
- {
- for (int j1 = 0; j1 < 2; ++j1)
- {
- if (j1 == 0)
- {
- GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
- }
-
- if (j1 == 1)
- {
- GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
- }
-
- float f = 0.00390625F;
- float f1 = 0.00390625F;
- float f2 = (float) (Minecraft.getSystemTime() % (long) (3000 + j1 * 1873)) / (3000.0F + (float) (j1 * 1873)) * 256.0F;
- float f3 = 0.0F;
- Tessellator tessellator = Tessellator.instance;
- float f4 = 4.0F;
-
- if (j1 == 1)
- {
- f4 = -1.0F;
- }
-
- tessellator.startDrawingQuads();
- tessellator.addVertexWithUV((double) (par2 + 0), (double) (par3 + par5), (double) this.zLevel, (double) ((f2 + (float) par5 * f4) * f), (double) ((f3 + (float) par5) * f1));
- tessellator.addVertexWithUV((double) (par2 + par4), (double) (par3 + par5), (double) this.zLevel, (double) ((f2 + (float) par4 + (float) par5 * f4) * f),
- (double) ((f3 + (float) par5) * f1));
- tessellator.addVertexWithUV((double) (par2 + par4), (double) (par3 + 0), (double) this.zLevel, (double) ((f2 + (float) par4) * f), (double) ((f3 + 0.0F) * f1));
- tessellator.addVertexWithUV((double) (par2 + 0), (double) (par3 + 0), (double) this.zLevel, (double) ((f2 + 0.0F) * f), (double) ((f3 + 0.0F) * f1));
- tessellator.draw();
- }
- }
-
- /**
- * Renders the item's overlay information. Examples being stack count or damage on top of the item's image at the
- * specified position.
- */
- public void renderItemOverlayIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- this.renderItemOverlayIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5, (String) null);
- }
-
- public void renderItemOverlayIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5, String par6Str)
- {
- if (par3ItemStack != null)
- {
- if (par3ItemStack.stackSize > 1 || par6Str != null)
- {
- String s1 = par6Str == null ? String.valueOf(par3ItemStack.stackSize) : par6Str;
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDisable(GL11.GL_DEPTH_TEST);
- par1FontRenderer.drawStringWithShadow(s1, par4 + 19 - 2 - par1FontRenderer.getStringWidth(s1), par5 + 6 + 3, 16777215);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glEnable(GL11.GL_DEPTH_TEST);
- }
-
- if (par3ItemStack.isItemDamaged())
- {
- int k = (int) Math.round(13.0D - (double) par3ItemStack.getItemDamageForDisplay() * 13.0D / (double) par3ItemStack.getMaxDamage());
- int l = (int) Math.round(255.0D - (double) par3ItemStack.getItemDamageForDisplay() * 255.0D / (double) par3ItemStack.getMaxDamage());
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDisable(GL11.GL_DEPTH_TEST);
- GL11.glDisable(GL11.GL_TEXTURE_2D);
- Tessellator tessellator = Tessellator.instance;
- int i1 = 255 - l << 16 | l << 8;
- int j1 = (255 - l) / 4 << 16 | 16128;
- this.renderQuad(tessellator, par4 + 2, par5 + 13, 13, 2, 0);
- this.renderQuad(tessellator, par4 + 2, par5 + 13, 12, 1, j1);
- this.renderQuad(tessellator, par4 + 2, par5 + 13, k, 1, i1);
- GL11.glEnable(GL11.GL_TEXTURE_2D);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glEnable(GL11.GL_DEPTH_TEST);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- }
- }
- }
-
- /**
- * Adds a quad to the tesselator at the specified position with the set width and height and color. Args:
- * tessellator, x, y, width, height, color
- */
- private void renderQuad (Tessellator par1Tessellator, int par2, int par3, int par4, int par5, int par6)
- {
- par1Tessellator.startDrawingQuads();
- par1Tessellator.setColorOpaque_I(par6);
- par1Tessellator.addVertex((double) (par2 + 0), (double) (par3 + 0), 0.0D);
- par1Tessellator.addVertex((double) (par2 + 0), (double) (par3 + par5), 0.0D);
- par1Tessellator.addVertex((double) (par2 + par4), (double) (par3 + par5), 0.0D);
- par1Tessellator.addVertex((double) (par2 + par4), (double) (par3 + 0), 0.0D);
- par1Tessellator.draw();
- }
-
- public void renderIcon (int par1, int par2, Icon par3Icon, int par4, int par5)
- {
- Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawingQuads();
- tessellator.addVertexWithUV((double) (par1 + 0), (double) (par2 + par5), (double) this.zLevel, (double) par3Icon.getMinU(), (double) par3Icon.getMaxV());
- tessellator.addVertexWithUV((double) (par1 + par4), (double) (par2 + par5), (double) this.zLevel, (double) par3Icon.getMaxU(), (double) par3Icon.getMaxV());
- tessellator.addVertexWithUV((double) (par1 + par4), (double) (par2 + 0), (double) this.zLevel, (double) par3Icon.getMaxU(), (double) par3Icon.getMinV());
- tessellator.addVertexWithUV((double) (par1 + 0), (double) (par2 + 0), (double) this.zLevel, (double) par3Icon.getMinU(), (double) par3Icon.getMinV());
- tessellator.draw();
- }
-
- protected ResourceLocation getEntityTexture (Entity par1Entity)
- {
- return this.func_110796_a((DaggerEntity) par1Entity);
- }
-
- /**
- * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
- * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
- * (Render 1)
- ret = 2;
- if (stack.stackSize > 5)
- ret = 3;
- if (stack.stackSize > 20)
- ret = 4;
- if (stack.stackSize > 40)
- ret = 5;
- return ret;
- }
-
- /**
- * Allows for a subclass to override how many rendered items appear in a
- * "mini item 3d stack"
- * @param stack
- * @return
- */
- public byte getMiniItemCount (ItemStack stack)
- {
- byte ret = 1;
- if (stack.stackSize > 1)
- ret = 2;
- if (stack.stackSize > 15)
- ret = 3;
- if (stack.stackSize > 31)
- ret = 4;
- return ret;
- }
-}
diff --git a/src/main/java/tconstruct/client/entity/projectile/DaggerRenderCustom.java b/src/main/java/tconstruct/client/entity/projectile/DaggerRenderCustom.java
deleted file mode 100644
index fbfc9473..00000000
--- a/src/main/java/tconstruct/client/entity/projectile/DaggerRenderCustom.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package tconstruct.client.entity.projectile;
-
-import java.util.Random;
-
-import net.minecraft.client.gui.FontRenderer;
-import net.minecraft.client.renderer.entity.Render;
-import net.minecraft.client.renderer.entity.RenderItem;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.entity.Entity;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.client.ForgeHooksClient;
-
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-
-import tconstruct.entity.projectile.DaggerEntity;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class DaggerRenderCustom extends Render
-{
- private static RenderItem renderer = new RenderItem();
- private Random random = new Random();
-
- public DaggerRenderCustom()
- {
- this.shadowSize = 0.15F;
- this.shadowOpaque = 0.75F;
- }
-
- /**
- * Renders the item
- */
- public void doRenderItem (DaggerEntity dagger, double par2, double par4, double par6, float par8, float par9)
- {
- random.setSeed(187L);
- ItemStack item = dagger.getEntityItem();
- GL11.glPushMatrix();
- GL11.glTranslatef((float) par2, (float) par4, (float) par6);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- GL11.glRotatef(dagger.prevRotationYaw + (dagger.rotationYaw - dagger.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef(dagger.prevRotationPitch + (dagger.rotationPitch - dagger.prevRotationPitch) * par9 - 45.0F, 0.0F, 0.0F, 1.0F);
-
- float rotation = dagger.prevRotationPitch + (dagger.rotationPitch - dagger.prevRotationPitch) * par9;
- GL11.glRotatef(dagger.rotationYaw + 90, 0.0F, 0.0F, 1.0F);
- GL11.glRotatef(rotation * 15, 0.0F, 0.0F, 1.0F);
-
- float shake = dagger.arrowShake - par9;
- if (shake > 0.0F)
- GL11.glRotatef(-MathHelper.sin(shake * 3) * shake, 0, 0, 1);
- GL11.glTranslatef(-7 / 16f, -8 / 16f, -1 / 32f);
- float scale = 1.35f;
- GL11.glScalef(scale, scale, scale);
- ForgeHooksClient.renderEntityItem(null, item, 0, 0, random, renderManager.renderEngine, renderBlocks);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- GL11.glPopMatrix();
- }
-
- /**
- * Renders the item's icon or block into the UI at the specified position.
- */
- public void renderItemIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- renderer.renderItemIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5);
- }
-
- /**
- * Render the item's icon or block into the GUI, including the glint effect.
- */
- public void renderItemAndEffectIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- renderer.renderItemIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5);
- }
-
- /**
- * Renders the item's overlay information. Examples being stack count or
- * damage on top of the item's image at the specified position.
- */
- public void renderItemOverlayIntoGUI (FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
- {
- renderer.renderItemOverlayIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5);
- }
-
- /**
- * Actually renders the given argument. This is a synthetic bridge method,
- * always casting down its argument and then handing it off to a worker
- * function which does the actual work. In all probabilty, the class Render
- * is generic (Render> 16 & 255) / 255.0F;
- float f3 = (float) (i >> 8 & 255) / 255.0F;
- float f4 = (float) (i & 255) / 255.0F;
- GL11.glColor3f(f2, f3, f4);
- GL11.glPushMatrix();
- this.func_77026_a(tessellator, ItemPotion.func_94589_d("overlay"));
- GL11.glPopMatrix();
- GL11.glColor3f(1.0F, 1.0F, 1.0F);
- }
-
- this.func_77026_a(tessellator, icon);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- GL11.glPopMatrix();
- }
- }
-
- protected ResourceLocation getEntityTexture (Entity par1Entity)
- {
- return TextureMap.locationItemsTexture;
- }
-
- private void func_77026_a (Tessellator par1Tessellator, Icon par2Icon)
- {
- float f = par2Icon.getMinU();
- float f1 = par2Icon.getMaxU();
- float f2 = par2Icon.getMinV();
- float f3 = par2Icon.getMaxV();
- float f4 = 1.0F;
- float f5 = 0.5F;
- float f6 = 0.25F;
- GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
- par1Tessellator.startDrawingQuads();
- par1Tessellator.setNormal(0.0F, 1.0F, 0.0F);
- par1Tessellator.addVertexWithUV((double) (0.0F - f5), (double) (0.0F - f6), 0.0D, (double) f, (double) f3);
- par1Tessellator.addVertexWithUV((double) (f4 - f5), (double) (0.0F - f6), 0.0D, (double) f1, (double) f3);
- par1Tessellator.addVertexWithUV((double) (f4 - f5), (double) (f4 - f6), 0.0D, (double) f1, (double) f2);
- par1Tessellator.addVertexWithUV((double) (0.0F - f5), (double) (f4 - f6), 0.0D, (double) f, (double) f2);
- par1Tessellator.draw();
- }
-
-}
diff --git a/src/main/java/tconstruct/client/entity/projectile/RangedRenderBase.java b/src/main/java/tconstruct/client/entity/projectile/RangedRenderBase.java
deleted file mode 100644
index 793ca4e8..00000000
--- a/src/main/java/tconstruct/client/entity/projectile/RangedRenderBase.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package tconstruct.client.entity.projectile;
-
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.entity.Render;
-import net.minecraft.entity.Entity;
-
-public abstract class RangedRenderBase extends Render
-{
- public RangedRenderBase()
- {
- }
-
- public void doRender (Entity entity, double d, double d1, double d2, float f, float f1)
- {
- }
-
- public void renderItem (Tessellator tessellator, float f, float f1, float f2, float f3, float f4, float f5)
- {
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, 1.0F);
- tessellator.addVertexWithUV(0.0D, 0.0D - (double) f5, 0.0D, f1, f3);
- tessellator.addVertexWithUV(f4, 0.0D - (double) f5, 0.0D, f, f3);
- tessellator.addVertexWithUV(f4, 0.0D - (double) f5, 1.0D, f, f2);
- tessellator.addVertexWithUV(0.0D, 0.0D - (double) f5, 1.0D, f1, f2);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 0.0F, -1F);
- tessellator.addVertexWithUV(0.0D, 0.0D, 1.0D, f1, f2);
- tessellator.addVertexWithUV(f4, 0.0D, 1.0D, f, f2);
- tessellator.addVertexWithUV(f4, 0.0D, 0.0D, f, f3);
- tessellator.addVertexWithUV(0.0D, 0.0D, 0.0D, f1, f3);
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(-1F, 0.0F, 0.0F);
- for (int i = 0; i < 16; i++)
- {
- float f6 = (float) i / 16F;
- float f10 = (f1 + (f - f1) * f6) - 0.001953125F;
- float f14 = f4 * f6 + 0.0625F;
- tessellator.addVertexWithUV(f14, 0.0F - f5, 0.0D, f10, f3);
- tessellator.addVertexWithUV(f14, 0.0D, 0.0D, f10, f3);
- tessellator.addVertexWithUV(f14, 0.0D, 1.0D, f10, f2);
- tessellator.addVertexWithUV(f14, 0.0F - f5, 1.0D, f10, f2);
- }
-
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(1.0F, 0.0F, 0.0F);
- for (int j = 0; j < 16; j++)
- {
- float f7 = (float) j / 16F;
- float f11 = (f1 + (f - f1) * f7) - 0.001953125F;
- float f15 = f4 * f7;
- tessellator.addVertexWithUV(f15, 0.0F - f5, 1.0D, f11, f2);
- tessellator.addVertexWithUV(f15, 0.0D, 1.0D, f11, f2);
- tessellator.addVertexWithUV(f15, 0.0D, 0.0D, f11, f3);
- tessellator.addVertexWithUV(f15, 0.0F - f5, 0.0D, f11, f3);
- }
-
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, 1.0F, 0.0F);
- for (int k = 0; k < 16; k++)
- {
- float f8 = (float) k / 16F;
- float f12 = (f3 + (f2 - f3) * f8) - 0.001953125F;
- float f16 = f4 * f8;
- tessellator.addVertexWithUV(0.0D, 0.0D, f16, f1, f12);
- tessellator.addVertexWithUV(f4, 0.0D, f16, f, f12);
- tessellator.addVertexWithUV(f4, 0.0F - f5, f16, f, f12);
- tessellator.addVertexWithUV(0.0D, 0.0F - f5, f16, f1, f12);
- }
-
- tessellator.draw();
- tessellator.startDrawingQuads();
- tessellator.setNormal(0.0F, -1F, 0.0F);
- for (int l = 0; l < 16; l++)
- {
- float f9 = (float) l / 16F;
- float f13 = (f3 + (f2 - f3) * f9) - 0.001953125F;
- float f17 = f4 * f9 + 0.0625F;
- tessellator.addVertexWithUV(f4, 0.0D, f17, f, f13);
- tessellator.addVertexWithUV(0.0D, 0.0D, f17, f1, f13);
- tessellator.addVertexWithUV(0.0D, 0.0F - f5, f17, f1, f13);
- tessellator.addVertexWithUV(f4, 0.0F - f5, f17, f, f13);
- }
-
- tessellator.draw();
- }
-}
diff --git a/src/main/java/tconstruct/client/event/EventCloakRender.java b/src/main/java/tconstruct/client/event/EventCloakRender.java
deleted file mode 100644
index 52a3fce3..00000000
--- a/src/main/java/tconstruct/client/event/EventCloakRender.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package tconstruct.client.event;
-
-import cpw.mods.fml.common.Loader;
-
-import java.awt.*;
-import java.awt.image.BufferedImage;
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-import javax.swing.ImageIcon;
-
-import tconstruct.util.config.PHConstruct;
-import net.minecraft.client.entity.AbstractClientPlayer;
-import net.minecraftforge.client.event.RenderPlayerEvent;
-import net.minecraftforge.event.ForgeSubscribe;
-
-public class EventCloakRender
-{
-
- private final String serverLocation = "https://raw.github.com/SlimeKnights/TinkersConstruct/master/capes.txt";
- private final int timeout = 1000;
-
- private static final Graphics TEST_GRAPHICS = new BufferedImage(128, 128, BufferedImage.TYPE_INT_RGB).getGraphics();
- private HashMap cloaks = new HashMap();
- private ArrayList capePlayers = new ArrayList();
-
- public static EventCloakRender instance;
-
- public EventCloakRender()
- {
- buildCloakURLDatabase();
- instance = this;
- }
-
- @ForgeSubscribe
- public void onPreRenderSpecials (RenderPlayerEvent.Specials.Pre event)
- {
- if (Loader.isModLoaded("shadersmod")|| !PHConstruct.capesEnabled)
- {
- return;
- }
- if (event.entityPlayer instanceof AbstractClientPlayer)
- {
- AbstractClientPlayer abstractClientPlayer = (AbstractClientPlayer) event.entityPlayer;
-
- if (!capePlayers.contains(abstractClientPlayer))
- {
- String cloakURL = cloaks.get(event.entityPlayer.username);
-
- if (cloakURL == null)
- {
- return;
- }
- capePlayers.add(abstractClientPlayer);
- abstractClientPlayer.getTextureCape().textureUploaded = false;
- new Thread(new CloakThread(abstractClientPlayer, cloakURL)).start();
- event.renderCape = true;
-
- }
- }
- }
-
- public void buildCloakURLDatabase ()
- {
- URL url;
- try
- {
- url = new URL(serverLocation);
- URLConnection con = url.openConnection();
- con.setConnectTimeout(timeout);
- con.setReadTimeout(timeout);
- InputStream io = con.getInputStream();
- BufferedReader br = new BufferedReader(new InputStreamReader(io));
-
- String str;
- int linetracker = 1;
- while ((str = br.readLine()) != null)
- {
- if (!str.startsWith("--"))
- {
- if (str.contains(":"))
- {
- String nick = str.substring(0, str.indexOf(":"));
- String link = str.substring(str.indexOf(":") + 1);
- new Thread(new CloakPreload(link)).start();
- cloaks.put(nick, link);
- }
- else
- {
- System.err.println("[TinkersConstruct] [skins.txt] Syntax error on line " + linetracker + ": " + str);
- }
- }
- linetracker++;
- }
-
- br.close();
- }
- catch (MalformedURLException e)
- {
- e.printStackTrace();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- }
-
- private class CloakThread implements Runnable
- {
-
- AbstractClientPlayer abstractClientPlayer;
- String cloakURL;
-
- public CloakThread(AbstractClientPlayer player, String cloak)
- {
- abstractClientPlayer = player;
- cloakURL = cloak;
- }
-
- @Override
- public void run ()
- {
- try
- {
- Image cape = new ImageIcon(new URL(cloakURL)).getImage();
- BufferedImage bo = new BufferedImage(cape.getWidth(null), cape.getHeight(null), BufferedImage.TYPE_INT_ARGB);
- bo.getGraphics().drawImage(cape, 0, 0, null);
- abstractClientPlayer.getTextureCape().bufferedImage = bo;
- }
- catch (MalformedURLException e)
- {
- e.printStackTrace();
- }
- }
- }
-
- private class CloakPreload implements Runnable
- {
- String cloakURL;
-
- public CloakPreload(String link)
- {
- cloakURL = link;
- }
-
- @Override
- public void run ()
- {
- try
- {
- TEST_GRAPHICS.drawImage(new ImageIcon(new URL(cloakURL)).getImage(), 0, 0, null);
- }
- catch (MalformedURLException e)
- {
- e.printStackTrace();
- }
- }
- }
-
- public void refreshCapes ()
- {
- cloaks.clear();
- capePlayers.clear();
- buildCloakURLDatabase();
- }
-}
diff --git a/src/main/java/tconstruct/client/gui/AdaptiveSmelteryGui.java b/src/main/java/tconstruct/client/gui/AdaptiveSmelteryGui.java
deleted file mode 100644
index d514a85d..00000000
--- a/src/main/java/tconstruct/client/gui/AdaptiveSmelteryGui.java
+++ /dev/null
@@ -1,506 +0,0 @@
-package tconstruct.client.gui;
-
-import java.util.*;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.*;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.util.*;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.fluids.*;
-import net.minecraft.util.StatCollector;
-
-import org.lwjgl.input.Mouse;
-import org.lwjgl.opengl.*;
-
-import tconstruct.TConstruct;
-import tconstruct.blocks.component.SmelteryComponent;
-import tconstruct.blocks.logic.AdaptiveSmelteryLogic;
-import tconstruct.inventory.*;
-import tconstruct.library.component.MultiFluidTank;
-
-public class AdaptiveSmelteryGui extends NewContainerGui
-{
- public AdaptiveSmelteryLogic logic;
- String username;
- boolean isScrolling = false;
- boolean wasClicking;
- float currentScroll = 0.0F;
- int slotPos = 0;
- int prevSlotPos = 0;
- private final SmelteryComponent scomp;
- private final MultiFluidTank multitank;
-
- public AdaptiveSmelteryGui(InventoryPlayer inventoryplayer, AdaptiveSmelteryLogic smeltery, World world, int x, int y, int z)
- {
- super((ActiveContainer) smeltery.getGuiContainer(inventoryplayer, world, x, y, z));
- logic = smeltery;
- username = inventoryplayer.player.username;
- xSize = 248;
- scomp = logic.getSmeltery();
- multitank = logic.getMultiTank();
- scomp.update();
-
- }
-
- @Override
- public void drawScreen (int mouseX, int mouseY, float par3)
- {
- super.drawScreen(mouseX, mouseY, par3);
- updateScrollbar(mouseX, mouseY, par3);
- }
-
- protected void updateScrollbar (int mouseX, int mouseY, float par3)
- {
- if (logic.getSizeInventory() > 24)
- {
- boolean mouseDown = Mouse.isButtonDown(0);
- int lefto = this.guiLeft;
- int topo = this.guiTop;
- int xScroll = lefto + 67;
- int yScroll = topo + 8;
- int scrollWidth = xScroll + 14;
- int scrollHeight = yScroll + 144;
-
- if (!this.wasClicking && mouseDown && mouseX >= xScroll && mouseY >= yScroll && mouseX < scrollWidth && mouseY < scrollHeight)
- {
- this.isScrolling = true;
- }
-
- if (!mouseDown)
- {
- this.isScrolling = false;
- }
-
- if (wasClicking && !isScrolling && slotPos != prevSlotPos)
- {
- prevSlotPos = slotPos;
- }
-
- this.wasClicking = mouseDown;
-
- if (this.isScrolling)
- {
- this.currentScroll = (mouseY - yScroll - 7.5F) / (scrollHeight - yScroll - 15.0F);
-
- if (this.currentScroll < 0.0F)
- {
- this.currentScroll = 0.0F;
- }
-
- if (this.currentScroll > 1.0F)
- {
- this.currentScroll = 1.0F;
- }
-
- int s = ((AdaptiveSmelteryContainer) this.container).scrollTo(this.currentScroll);
- if (s != -1)
- slotPos = s;
- }
- }
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer (int mouseX, int mouseY)
- {
- fontRenderer.drawString(StatCollector.translateToLocal("crafters.Smeltery"), 86, 5, 0x404040);
- fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 90, (ySize - 96) + 2, 0x404040);
-
- int base = 0;
- int cornerX = (width - xSize) / 2 + 36;
- int cornerY = (height - ySize) / 2;
- FluidTankInfo[] info = logic.getTankInfo(ForgeDirection.UNKNOWN);
-
- int capacity = 0;
-
- for (int i = 0; i < info.length - 1; i++)
- {
- FluidStack liquid = info[i].fluid;
- if (liquid != null)
- capacity += info[i].capacity;
- }
-
- for (int i = 0; i < info.length - 1; i++)
- {
- FluidStack liquid = info[i].fluid;
- int basePos = 54;
- int initialLiquidSize = 0;
- int liquidSize = 0;
- if (capacity > 0)
- {
- liquidSize = liquid.amount * 52 / capacity;
- if (liquidSize == 0)
- liquidSize = 1;
- base += liquidSize;
-
- }
-
- int leftX = cornerX + basePos;
- int topY = (cornerY + 68) - base;
- int sizeX = 52;
- int sizeY = liquidSize;
- if (mouseX >= leftX && mouseX <= leftX + sizeX && mouseY >= topY && mouseY < topY + sizeY)
- {
- drawFluidStackTooltip(liquid, mouseX - cornerX + 36, mouseY - cornerY);
-
- }
- }
- if (scomp.fuelGague > 0)
- {
- int leftX = cornerX + 117;
- int topY = (cornerY + 68) - scomp.getScaledFuelGague(52);
- int sizeX = 12;
- int sizeY = scomp.getScaledFuelGague(52);
- if (mouseX >= leftX && mouseX <= leftX + sizeX && mouseY >= topY && mouseY < topY + sizeY)
- {
- drawFluidStackTooltip(new FluidStack(-37, scomp.fuelAmount), mouseX - cornerX + 36, mouseY - cornerY);
- }
- }
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/smeltery.png");
- private static final ResourceLocation backgroundSide = new ResourceLocation("tinker", "textures/gui/smelteryside.png");
- private static final ResourceLocation terrain = new ResourceLocation("terrain.png");
-
- @Override
- protected void drawGuiContainerBackgroundLayer (float f, int mouseX, int mouseY)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(background);
- int cornerX = (width - xSize) / 2 + 36;
- int cornerY = (height - ySize) / 2;
- drawTexturedModalRect(cornerX + 46, cornerY, 0, 0, 176, ySize);
-
- //Fuel - Lava
- this.mc.getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
- if (scomp.fuelGague > 0)
- {
- Icon lavaIcon = Block.lavaStill.getIcon(0, 0);
- int fuel = scomp.getScaledFuelGague(52);
- int count = 0;
- while (fuel > 0)
- {
- int size = fuel >= 16 ? 16 : fuel;
- fuel -= size;
- drawLiquidRect(cornerX + 117, (cornerY + 68) - size - 16 * count, lavaIcon, 12, size);
- count++;
- }
- }
-
- FluidTankInfo[] info = logic.getTankInfo(ForgeDirection.UNKNOWN);
- int capacity = 0;
-
- for (int i = 0; i < info.length - 1; i++)
- {
- FluidStack liquid = info[i].fluid;
- if (liquid != null)
- capacity += info[i].capacity;
- }
-
- //Liquids - molten metal
- int base = 0;
- for (int i = 0; i < info.length - 1; i++)
- {
- FluidStack liquid = info[i].fluid;
- Icon renderIndex = liquid.getFluid().getStillIcon();
- int basePos = 54;
- if (capacity > 0)
- {
- int liquidSize = liquid.amount * 52 / capacity;
- if (liquidSize == 0)
- liquidSize = 1;
- while (liquidSize > 0)
- {
- int size = liquidSize >= 16 ? 16 : liquidSize;
- drawLiquidRect(cornerX + basePos, (cornerY + 68) - size - base, renderIndex, 16, size);
- drawLiquidRect(cornerX + basePos + 16, (cornerY + 68) - size - base, renderIndex, 16, size);
- drawLiquidRect(cornerX + basePos + 32, (cornerY + 68) - size - base, renderIndex, 16, size);
- drawLiquidRect(cornerX + basePos + 48, (cornerY + 68) - size - base, renderIndex, 4, size);
- liquidSize -= size;
- base += size;
-
- }
- }
- }
-
- //Liquid gague
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
-
- this.mc.getTextureManager().bindTexture(background);
- drawTexturedModalRect(cornerX + 54, cornerY + 16, 176, 76, 52, 52);
-
- //Side inventory
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(backgroundSide);
- //if (logic.layers > 0)
- {
- /*if (logic.layers == 1)
- {
- drawTexturedModalRect(cornerX - 46, cornerY, 0, 0, 98, 43);
- drawTexturedModalRect(cornerX - 46, cornerY + 43, 0, 133, 98, 25);
- }
- else if (logic.layers == 2)
- {
- drawTexturedModalRect(cornerX - 46, cornerY, 0, 0, 98, 61);
- drawTexturedModalRect(cornerX - 46, cornerY + 61, 0, 97, 98, 61);
- }
- else*/
- {
- drawTexturedModalRect(cornerX - 46, cornerY, 0, 0, 98, ySize - 8);
- }
- drawTexturedModalRect(cornerX + 32, (int) (cornerY + 8 + 127 * currentScroll), 98, 0, 12, 15);
- }
-
- //Temperature
- int slotSize = logic.getSizeInventory();
- if (slotSize > 24)
- slotSize = 24;
- for (int iter = 0; iter < slotSize; iter++)
- {
- int slotTemp = logic.getTempForSlot(iter + slotPos * 3) - 20;
- int maxTemp = logic.getMeltingPointForSlot(iter + slotPos * 3) - 20;
- if (slotTemp > 0 && maxTemp > 0)
- {
- int size = 16 * slotTemp / maxTemp + 1;
- drawTexturedModalRect(cornerX - 38 + (iter % 3 * 22), cornerY + 8 + (iter / 3 * 18) + 16 - size, 98, 15 + 16 - size, 5, size);
- }
- }
- }
-
- protected void drawFluidStackTooltip (FluidStack par1ItemStack, int par2, int par3)
- {
- this.zLevel = 100;
- List list = getLiquidTooltip(par1ItemStack, this.mc.gameSettings.advancedItemTooltips);
-
- for (int k = 0; k < list.size(); ++k)
- {
- list.set(k, EnumChatFormatting.GRAY + (String) list.get(k));
- }
-
- this.drawToolTip(list, par2, par3);
- this.zLevel = 0;
- }
-
- public List getLiquidTooltip (FluidStack liquid, boolean par2)
- {
- ArrayList list = new ArrayList();
- if (liquid.fluidID == -37)
- {
- list.add("\u00A7f" + StatCollector.translateToLocal("gui.smeltery1"));
- list.add("mB: " + liquid.amount);
- }
- else
- {
- String name = StatCollector.translateToLocal(FluidRegistry.getFluidName(liquid));
- list.add("\u00A7f" + name);
- if (name.equals("liquified emerald"))
- {
- list.add("Emeralds: " + liquid.amount / 320f);
- }
- else if (name.contains("Molten"))
- {
- int ingots = liquid.amount / TConstruct.ingotLiquidValue;
- if (ingots > 0)
- list.add("Ingots: " + ingots);
- int mB = liquid.amount % TConstruct.ingotLiquidValue;
- if (mB > 0)
- {
- int nuggets = mB / TConstruct.nuggetLiquidValue;
- int junk = (mB % TConstruct.nuggetLiquidValue);
- if (nuggets > 0)
- list.add("Nuggets: " + nuggets);
- if (junk > 0)
- list.add("mB: " + junk);
- }
- }
- else if (name.equals("Seared Stone"))
- {
- int ingots = liquid.amount / TConstruct.ingotLiquidValue;
- if (ingots > 0)
- list.add("Blocks: " + ingots);
- int mB = liquid.amount % TConstruct.ingotLiquidValue;
- if (mB > 0)
- list.add("mB: " + mB);
- }
- else if (name.equals("Molten Glass"))
- {
- int blocks = liquid.amount / 1000;
- if (blocks > 0)
- list.add("Blocks: " + blocks);
- int panels = (liquid.amount % 1000) / 250;
- if (panels > 0)
- list.add("Panels: " + panels);
- int mB = (liquid.amount % 1000) % 250;
- if (mB > 0)
- list.add("mB: " + mB);
- }
- else
- {
- list.add("mB: " + liquid.amount);
- }
- }
- return list;
- }
-
- protected void drawToolTip (List par1List, int par2, int par3)
- {
- if (!par1List.isEmpty())
- {
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- RenderHelper.disableStandardItemLighting();
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDisable(GL11.GL_DEPTH_TEST);
- int k = 0;
- Iterator iterator = par1List.iterator();
-
- while (iterator.hasNext())
- {
- String s = (String) iterator.next();
- int l = this.fontRenderer.getStringWidth(s);
-
- if (l > k)
- {
- k = l;
- }
- }
-
- int i1 = par2 + 12;
- int j1 = par3 - 12;
- int k1 = 8;
-
- if (par1List.size() > 1)
- {
- k1 += 2 + (par1List.size() - 1) * 10;
- }
-
- if (i1 + k > this.width)
- {
- i1 -= 28 + k;
- }
-
- if (j1 + k1 + 6 > this.height)
- {
- j1 = this.height - k1 - 6;
- }
-
- this.zLevel = 300.0F;
- itemRenderer.zLevel = 300.0F;
- int l1 = -267386864;
- this.drawGradientRect(i1 - 3, j1 - 4, i1 + k + 3, j1 - 3, l1, l1);
- this.drawGradientRect(i1 - 3, j1 + k1 + 3, i1 + k + 3, j1 + k1 + 4, l1, l1);
- this.drawGradientRect(i1 - 3, j1 - 3, i1 + k + 3, j1 + k1 + 3, l1, l1);
- this.drawGradientRect(i1 - 4, j1 - 3, i1 - 3, j1 + k1 + 3, l1, l1);
- this.drawGradientRect(i1 + k + 3, j1 - 3, i1 + k + 4, j1 + k1 + 3, l1, l1);
- int i2 = 1347420415;
- int j2 = (i2 & 16711422) >> 1 | i2 & -16777216;
- this.drawGradientRect(i1 - 3, j1 - 3 + 1, i1 - 3 + 1, j1 + k1 + 3 - 1, i2, j2);
- this.drawGradientRect(i1 + k + 2, j1 - 3 + 1, i1 + k + 3, j1 + k1 + 3 - 1, i2, j2);
- this.drawGradientRect(i1 - 3, j1 - 3, i1 + k + 3, j1 - 3 + 1, i2, i2);
- this.drawGradientRect(i1 - 3, j1 + k1 + 2, i1 + k + 3, j1 + k1 + 3, j2, j2);
-
- for (int k2 = 0; k2 < par1List.size(); ++k2)
- {
- String s1 = (String) par1List.get(k2);
- this.fontRenderer.drawStringWithShadow(s1, i1, j1, -1);
-
- if (k2 == 0)
- {
- j1 += 2;
- }
-
- j1 += 10;
- }
-
- this.zLevel = 0.0F;
- itemRenderer.zLevel = 0.0F;
- }
- }
-
- public void drawLiquidRect (int startU, int startV, Icon par3Icon, int endU, int endV)
- {
- Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawingQuads();
- tessellator.addVertexWithUV(startU + 0, startV + endV, this.zLevel, par3Icon.getMinU(), par3Icon.getMaxV());//Bottom left
- tessellator.addVertexWithUV(startU + endU, startV + endV, this.zLevel, par3Icon.getMaxU(), par3Icon.getMaxV());//Bottom right
- tessellator.addVertexWithUV(startU + endU, startV + 0, this.zLevel, par3Icon.getMaxU(), par3Icon.getMinV());//Top right
- tessellator.addVertexWithUV(startU + 0, startV + 0, this.zLevel, par3Icon.getMinU(), par3Icon.getMinV()); //Top left
- tessellator.draw();
- }
-
- /*@Override
- public void mouseClicked(int mouseX, int mouseY, int mouseButton)
- {
- super.mouseClicked(mouseX, mouseY, mouseButton);
-
- int base = 0;
- int cornerX = (width - xSize) / 2 + 36;
- int cornerY = (height - ySize) / 2;
- int fluidToBeBroughtUp = -1;
-
- for (FluidStack liquid : multitank.getAllFluids())
- {
- int basePos = 54;
- int initialLiquidSize = 0;
- int liquidSize = 0;//liquid.amount * 52 / liquidLayers;
- if (multitank.getCapacity() > 0)
- {
- int total = multitank.getFluidAmount();
- int liquidLayers = (total / 20000 + 1) * 20000;
- if (liquidLayers > 0)
- {
- liquidSize = liquid.amount * 52 / liquidLayers;
- if (liquidSize == 0)
- liquidSize = 1;
- base += liquidSize;
- }
- }
-
- int leftX = cornerX + basePos;
- int topY = (cornerY + 68) - base;
- int sizeX = 52;
- int sizeY = liquidSize;
- if (mouseX >= leftX && mouseX <= leftX + sizeX && mouseY >= topY && mouseY < topY + sizeY)
- {
- fluidToBeBroughtUp = liquid.fluidID;
-
- Packet250CustomPayload packet = new Packet250CustomPayload();
-
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- DataOutputStream dos = new DataOutputStream(bos);
-
- try
- {
- dos.write(11);
-
- dos.writeInt(logic.worldObj.provider.dimensionId);
- dos.writeInt(logic.xCoord);
- dos.writeInt(logic.yCoord);
- dos.writeInt(logic.zCoord);
-
- dos.writeBoolean(this.isShiftKeyDown());
-
- dos.writeInt(fluidToBeBroughtUp);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
-
- packet.channel = "TConstruct";
- packet.data = bos.toByteArray();
- packet.length = bos.size();
-
- PacketDispatcher.sendPacketToServer(packet);
- }
- }
- }*/
-
- @Override
- public void onGuiClosed ()
- {
- super.onGuiClosed();
- logic.worldObj.markBlockForUpdate(logic.xCoord, logic.yCoord, logic.zCoord);
- }
-}
diff --git a/src/main/java/tconstruct/client/gui/ArmorExtendedGui.java b/src/main/java/tconstruct/client/gui/ArmorExtendedGui.java
deleted file mode 100644
index 2de013bc..00000000
--- a/src/main/java/tconstruct/client/gui/ArmorExtendedGui.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package tconstruct.client.gui;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.InventoryEffectRenderer;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderHelper;
-import net.minecraft.client.renderer.entity.RenderManager;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import tconstruct.client.tabs.InventoryTabArmorExtended;
-import tconstruct.client.tabs.TabRegistry;
-import tconstruct.common.TContent;
-import tconstruct.inventory.ArmorExtendedContainer;
-import tconstruct.util.player.ArmorExtended;
-
-public class ArmorExtendedGui extends InventoryEffectRenderer
-{
- public InventoryPlayer inv;
- public ArmorExtended stats;
-
- private float xSize_lo;
- private float ySize_lo;
-
- public ArmorExtendedGui(InventoryPlayer inventoryplayer, ArmorExtended holder)
- {
- super(new ArmorExtendedContainer(inventoryplayer, holder));
- inv = inventoryplayer;
- stats = holder;
- }
-
- public void initGui ()
- {
- super.initGui();
-
- int cornerX = guiLeft;
- int cornerY = (this.height - this.ySize) / 2;
- this.buttonList.clear();
-
- // InventoryTab tab = new InventoryTab(2, cornerX, cornerY - 28, new ItemStack(Block.workbench), 0);
- // this.buttonList.add(tab);
- // tab = new InventoryTab(3, cornerX + 28, cornerY - 28, new ItemStack(Item.plateDiamond), 1);
- // tab.enabled = false;
- // this.buttonList.add(tab);
-
- TabRegistry.updateTabValues(cornerX, cornerY, InventoryTabArmorExtended.class);
- TabRegistry.addTabsToList(this.buttonList);
- }
-
- protected void drawGuiContainerForegroundLayer (int par1, int par2)
- {
- //fontRenderer.drawString(StatCollector.translateToLocal("inventory.armorextended"), 60, 6, 0x404040);
- //fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 17, (ySize - 96) + 2, 0x404040);
- }
-
- public void drawScreen (int par1, int par2, float par3)
- {
- super.drawScreen(par1, par2, par3);
- this.xSize_lo = (float) par1;
- this.ySize_lo = (float) par2;
- // if (stats.inventory[2] != null && stats.inventory[2].getItem() == TContent.knapsack)
- // {
- // if (this.buttonList.size() < 3)
- // {
- // int cornerX = guiLeft;
- // int cornerY = (this.height - this.ySize) / 2;
- // InventoryTab tab = new InventoryTab(4, cornerX + 56, cornerY - 28, new ItemStack(TContent.knapsack), 1);
- // this.buttonList.add(tab);
- // }
- // }
- // else
- // {
- // if (this.buttonList.size() >= 3)
- // {
- // buttonList.remove(2);
- // }
- // }
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/armorextended.png");
-
- protected void drawGuiContainerBackgroundLayer (float f, int i, int j)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- //mc.renderEngine.bindTexture("/mods/tinker/textures/gui/armorextended.png");
- this.mc.getTextureManager().bindTexture(background);
- int cornerX = guiLeft;
- int cornerY = (height - ySize) / 2;
- drawTexturedModalRect(cornerX, cornerY, 0, 0, xSize, ySize);
-
- if (!stats.isStackInSlot(0))
- drawTexturedModalRect(cornerX + 79, cornerY + 16, 176, 9, 18, 18);
- if (!stats.isStackInSlot(1))
- drawTexturedModalRect(cornerX + 79, cornerY + 34, 176, 27, 18, 18);
- if (!stats.isStackInSlot(2))
- drawTexturedModalRect(cornerX + 115, cornerY + 16, 212, 9, 18, 18);
- if (!stats.isStackInSlot(3))
- drawTexturedModalRect(cornerX + 115, cornerY + 34, 212, 27, 18, 18);
- if (!stats.isStackInSlot(4))
- drawTexturedModalRect(cornerX + 151, cornerY + 16, 230, 0, 18, 18);
- if (!stats.isStackInSlot(5))
- drawTexturedModalRect(cornerX + 151, cornerY + 34, 230, 18, 18, 18);
- if (!stats.isStackInSlot(6))
- drawTexturedModalRect(cornerX + 151, cornerY + 52, 230, 36, 18, 18);
-
- cornerX = this.guiLeft;
- cornerY = this.guiTop;
- drawPlayerOnGui(this.mc, cornerX + 33, cornerY + 75, 30, (float) (cornerX + 51) - this.xSize_lo, (float) (cornerY + 75 - 50) - this.ySize_lo);
- }
-
- public static void drawPlayerOnGui (Minecraft par0Minecraft, int par1, int par2, int par3, float par4, float par5)
- {
- GL11.glEnable(GL11.GL_COLOR_MATERIAL);
- GL11.glPushMatrix();
- GL11.glTranslatef((float) par1, (float) par2, 50.0F);
- GL11.glScalef((float) (-par3), (float) par3, (float) par3);
- GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
- float f2 = par0Minecraft.thePlayer.renderYawOffset;
- float f3 = par0Minecraft.thePlayer.rotationYaw;
- float f4 = par0Minecraft.thePlayer.rotationPitch;
- par4 -= 19;
- GL11.glRotatef(135.0F, 0.0F, 1.0F, 0.0F);
- RenderHelper.enableStandardItemLighting();
- GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef(-((float) Math.atan((double) (par5 / 40.0F))) * 20.0F, 1.0F, 0.0F, 0.0F);
- par0Minecraft.thePlayer.renderYawOffset = (float) Math.atan((double) (par4 / 40.0F)) * 20.0F;
- par0Minecraft.thePlayer.rotationYaw = (float) Math.atan((double) (par4 / 40.0F)) * 40.0F;
- par0Minecraft.thePlayer.rotationPitch = -((float) Math.atan((double) (par5 / 40.0F))) * 20.0F;
- par0Minecraft.thePlayer.rotationYawHead = par0Minecraft.thePlayer.rotationYaw;
- GL11.glTranslatef(0.0F, par0Minecraft.thePlayer.yOffset, 0.0F);
- RenderManager.instance.playerViewY = 180.0F;
- RenderManager.instance.renderEntityWithPosYaw(par0Minecraft.thePlayer, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F);
- par0Minecraft.thePlayer.renderYawOffset = f2;
- par0Minecraft.thePlayer.rotationYaw = f3;
- par0Minecraft.thePlayer.rotationPitch = f4;
- GL11.glPopMatrix();
- RenderHelper.disableStandardItemLighting();
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit);
- GL11.glDisable(GL11.GL_TEXTURE_2D);
- OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit);
- }
-
- /*protected void keyTyped(char par1, int par2)
- {
- if (par2 == TControls.armorKey.keyCode)
- {
- this.mc.thePlayer.closeScreen();
- }
-
- super.keyTyped(par1, par2);
- }*/
-}
diff --git a/src/main/java/tconstruct/client/gui/CraftingStationGui.java b/src/main/java/tconstruct/client/gui/CraftingStationGui.java
deleted file mode 100644
index 89a4c228..00000000
--- a/src/main/java/tconstruct/client/gui/CraftingStationGui.java
+++ /dev/null
@@ -1,398 +0,0 @@
-package tconstruct.client.gui;
-
-import java.math.RoundingMode;
-import java.text.DecimalFormat;
-import java.util.Arrays;
-import java.util.List;
-
-import net.minecraft.client.gui.GuiTextField;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.World;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.blocks.logic.CraftingStationLogic;
-import tconstruct.library.armor.ArmorCore;
-import tconstruct.library.tools.ToolCore;
-
-public class CraftingStationGui extends GuiContainer
-{
- public boolean active;
- public String toolName;
- public GuiTextField text;
- public String title, body = "";
- CraftingStationLogic logic;
-
- public CraftingStationGui(InventoryPlayer inventory, CraftingStationLogic logic, World world, int x, int y, int z)
- {
- super(logic.getGuiContainer(inventory, world, x, y, z));
- this.logic = logic;
- //text = new GuiTextField(this.fontRenderer, this.xSize / 2 - 5, 8, 30, 12);
- //this.text.setText("");
- title = "\u00A7n" + StatCollector.translateToLocal("gui.toolforge1");
- body = StatCollector.translateToLocal("gui.toolforge2");
- toolName = "";
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer (int par1, int par2)
- {
- this.fontRenderer.drawString(StatCollector.translateToLocal(logic.tinkerTable ? "crafters.TinkerTable" : logic.getInvName()), 8, 6, 0x202020);
- this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 0x202020);
- if (logic.chest != null)
- this.fontRenderer.drawString(StatCollector.translateToLocal(logic.chest.get().getInvName()), -108, this.ySize - 160, 0x202020);
- //this.fontRenderer.drawString(toolName + "_", this.xSize / 2 - 18, 8, 0xffffff);
-
- if (logic.tinkerTable)
- {
- if (logic.isStackInSlot(0))
- drawToolStats();
- else
- drawToolInformation();
- }
- }
-
- void drawToolStats ()
- {
- ItemStack stack = logic.getStackInSlot(0);
- if (stack.getItem() instanceof ToolCore)
- {
- ToolCore tool = (ToolCore) stack.getItem();
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- this.drawCenteredString(fontRenderer, "\u00A7n" + tool.getToolName(), xSize + 63, 8, 0xffffff);
-
- drawModularToolStats(stack, tool, tags);
- }
- else if (stack.getItem() instanceof ArmorCore)
- {
- ArmorCore armor = (ArmorCore) stack.getItem();
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("TinkerArmor");
- this.drawCenteredString(fontRenderer, "\u00A7n" + StatCollector.translateToLocal("armortype."+armor.getArmorName()), xSize + 63, 8, 0xffffff);
-
- drawModularArmorStats(stack, armor, tags);
- }
- }
-
- void drawModularArmorStats (ItemStack stack, ArmorCore tool, NBTTagCompound tags)
- {
- int modifiers = tags.getInteger("Modifiers");
- int base = 24;
- int offset = 0;
- if (modifiers > 0)
- {
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation18") + tags.getInteger("Modifiers"), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- }
-
- boolean displayToolTips = true;
- int tipNum = 0;
- while (displayToolTips)
- {
- tipNum++;
- String tooltip = "ModifierTip" + tipNum;
- if (tags.hasKey(tooltip))
- {
- String tipName = tags.getString(tooltip);
- fontRenderer.drawString("- " + tipName, xSize + 8, base + (offset + tipNum) * 10, 0xffffff);
- }
- else
- displayToolTips = false;
- }
- }
-
- void drawModularToolStats (ItemStack stack, ToolCore tool, NBTTagCompound tags)
- {
- List categories = Arrays.asList(tool.toolCategories());
- final int durability = tags.getInteger("Damage");
- final int maxDur = tags.getInteger("TotalDurability");
- int availableDurability = maxDur - durability;
-
- //Durability
- int base = 24;
- int offset = 0;
- if (maxDur > 0)
- {
- if (maxDur >= 10000)
- {
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation1"), xSize + 8, base + offset * 11, 0xffffff);
- offset++;
- fontRenderer.drawString("- " + availableDurability + "/" + maxDur, xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- }
- else
- {
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation2") + availableDurability + "/" + maxDur, xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- }
- }
-
- final float stonebound = tags.getFloat("Shoddy");
- //Attack
- if (categories.contains("weapon"))
- {
- int attack = (int) (tags.getInteger("Attack"));
- float stoneboundDamage = (float) Math.log(durability / 72f + 1) * -2 * stonebound;
- attack += stoneboundDamage;
- attack *= tool.getDamageModifier();
- if (attack < 1)
- attack = 1;
-
- String heart = attack == 2 ? StatCollector.translateToLocal("gui.partcrafter9") : StatCollector.translateToLocal("gui.partcrafter10");
- if (attack % 2 == 0)
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation3") + attack / 2 + heart, xSize + 8, base + offset * 10, 0xffffff);
- else
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation3") + attack / 2f + heart, xSize + 8, base + offset * 10, 0xffffff);
- offset++;
-
- if (stoneboundDamage != 0)
- {
- heart = stoneboundDamage == 2 ? StatCollector.translateToLocal("gui.partcrafter9") : StatCollector.translateToLocal("gui.partcrafter10");
- String bloss = stoneboundDamage > 0 ? StatCollector.translateToLocal("gui.toolstation4") : StatCollector.translateToLocal("gui.toolstation5");
- this.fontRenderer.drawString(bloss + (int) stoneboundDamage / 2 + heart, xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- }
- offset++;
- }
-
- if (categories.contains("bow"))
- {
- DecimalFormat df = new DecimalFormat("##.##");
- df.setRoundingMode(RoundingMode.DOWN);
- int drawSpeed = tags.getInteger("DrawSpeed");
- float flightSpeed = tags.getFloat("FlightSpeed");
- float trueDraw = drawSpeed / 20f * flightSpeed;
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation6") + df.format(trueDraw) + "s", xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation7") + df.format(flightSpeed) + "x", xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- offset++;
- }
-
- if (categories.contains("ammo"))
- {
- DecimalFormat df = new DecimalFormat("##.##");
- df.setRoundingMode(RoundingMode.DOWN);
- int attack = (int) (tags.getInteger("Attack"));
- float mass = tags.getFloat("Mass");
- float shatter = tags.getFloat("BreakChance");
- float accuracy = tags.getFloat("Accuracy");
-
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation10"), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- String heart = attack == 2 ? StatCollector.translateToLocal("gui.partcrafter9") : StatCollector.translateToLocal("gui.partcrafter10");
- if (attack % 2 == 0)
- this.fontRenderer.drawString("- " + attack / 2 + heart, xSize + 8, base + offset * 10, 0xffffff);
- else
- this.fontRenderer.drawString("- " + attack / 2f + heart, xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- int minAttack = attack;
- int maxAttack = attack * 2;
- heart = StatCollector.translateToLocal("gui.partcrafter10");
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation11"), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- this.fontRenderer.drawString(df.format(minAttack / 2f) + "-" + df.format(maxAttack / 2f) + heart, xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- offset++;
-
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation8") + df.format(mass), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation9") + df.format(accuracy - 4) + "%", xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- /*this.fontRenderer.drawString("Chance to break: " + df.format(shatter)+"%", xSize + 8, base + offset * 10, 0xffffff);
- offset++;*/
- offset++;
- }
-
- //Mining
- if (categories.contains("dualharvest"))
- {
- float mineSpeed = tags.getInteger("MiningSpeed") / 100f;
- float mineSpeed2 = tags.getInteger("MiningSpeed2") / 100f;
- float stoneboundSpeed = (float) Math.log(durability / 90f + 1) * 2 * stonebound;
- DecimalFormat df = new DecimalFormat("##.##");
- df.setRoundingMode(RoundingMode.DOWN);
- float trueSpeed = mineSpeed + stoneboundSpeed;
- float trueSpeed2 = mineSpeed + stoneboundSpeed;
-
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation12"), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- fontRenderer.drawString("- " + df.format(trueSpeed) + ", " + df.format(trueSpeed2), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- if (stoneboundSpeed != 0)
- {
- String bloss = stoneboundSpeed > 0 ? StatCollector.translateToLocal("gui.toolstation4") : StatCollector.translateToLocal("gui.toolstation5");
- fontRenderer.drawString(bloss + df.format(stoneboundSpeed), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- }
- offset++;
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation13"), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- fontRenderer
- .drawString("- " + getHarvestLevelName(tags.getInteger("HarvestLevel")) + ", " + getHarvestLevelName(tags.getInteger("HarvestLevel2")), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- offset++;
- }
- else if (categories.contains("harvest"))
- {
- float mineSpeed = tags.getInteger("MiningSpeed");
- int heads = 1;
-
- if (tags.hasKey("MiningSpeed2"))
- {
- mineSpeed += tags.getInteger("MiningSpeed2");
- heads++;
- }
-
- if (tags.hasKey("MiningSpeedHandle"))
- {
- mineSpeed += tags.getInteger("MiningSpeedHandle");
- heads++;
- }
-
- if (tags.hasKey("MiningSpeedExtra"))
- {
- mineSpeed += tags.getInteger("MiningSpeedExtra");
- heads++;
- }
-
- float trueSpeed = mineSpeed / (heads * 100f);
-
- float stoneboundSpeed = (float) Math.log(durability / 90f + 1) * 2 * stonebound;
- DecimalFormat df = new DecimalFormat("##.##");
- df.setRoundingMode(RoundingMode.DOWN);
- trueSpeed += stoneboundSpeed;
- if (trueSpeed < 0)
- trueSpeed = 0;
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation14") + df.format(trueSpeed), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- if (stoneboundSpeed != 0)
- {
- String bloss = stoneboundSpeed > 0 ? StatCollector.translateToLocal("gui.toolstation4") : StatCollector.translateToLocal("gui.toolstation5");
- fontRenderer.drawString(bloss + df.format(stoneboundSpeed), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- }
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation15") + getHarvestLevelName(tags.getInteger("HarvestLevel")), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- offset++;
- }
- else if (categories.contains("utility"))
- {
- float mineSpeed = tags.getInteger("MiningSpeed");
- float trueSpeed = mineSpeed / (100f);
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation16") + trueSpeed, xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- offset++;
- }
-
- int modifiers = tags.getInteger("Modifiers");
- if (modifiers > 0)
- {
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation18") + tags.getInteger("Modifiers"), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- }
- if (tags.hasKey("Tooltip1"))
- {
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation17"), xSize + 8, base + offset * 10, 0xffffff);
- }
-
- boolean displayToolTips = true;
- int tipNum = 0;
- while (displayToolTips)
- {
- tipNum++;
- String tooltip = "ModifierTip" + tipNum;
- if (tags.hasKey(tooltip))
- {
- String tipName = tags.getString(tooltip);
- fontRenderer.drawString("- " + tipName, xSize + 8, base + (offset + tipNum) * 10, 0xffffff);
- }
- else
- displayToolTips = false;
- }
- }
-
- protected String getHarvestLevelName (int num)
- {
- switch (num)
- {
- case 0:
- return StatCollector.translateToLocal("gui.partcrafter.mining1");
- case 1:
- return StatCollector.translateToLocal("gui.partcrafter.mining2");
- case 2:
- return StatCollector.translateToLocal("gui.partcrafter.mining3");
- case 3:
- return StatCollector.translateToLocal("gui.partcrafter.mining4");
- case 4:
- return StatCollector.translateToLocal("gui.partcrafter.mining5");
- case 5:
- return StatCollector.translateToLocal("gui.partcrafter.mining6");
- default:
- return String.valueOf(num);
- }
- }
-
- void drawToolInformation ()
- {
- this.drawCenteredString(fontRenderer, title, xSize + 63, 8, 0xffffff);
- fontRenderer.drawSplitString(body, xSize + 8, 24, 115, 0xffffff);
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/tinkertable.png");
- private static final ResourceLocation description = new ResourceLocation("tinker", "textures/gui/description.png");
- private static final ResourceLocation icons = new ResourceLocation("tinker", "textures/gui/icons.png");
- private static final ResourceLocation chest = new ResourceLocation("tinker", "textures/gui/chestside.png");
-
- @Override
- protected void drawGuiContainerBackgroundLayer (float par1, int par2, int par3)
- {
- // Draw the background
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(background);
- int cornerX = (this.width - this.xSize) / 2;
- int cornerY = (this.height - this.ySize) / 2;
- this.drawTexturedModalRect(cornerX, cornerY, 0, 0, this.xSize, this.ySize);
-
- if (active)
- {
- this.drawTexturedModalRect(cornerX + 62, cornerY, 0, this.ySize, 112, 22);
- }
-
- this.mc.getTextureManager().bindTexture(icons);
- // Draw the slots
-
- if (logic.tinkerTable && !logic.isStackInSlot(5))
- this.drawTexturedModalRect(cornerX + 47, cornerY + 33, 0, 233, 18, 18);
-
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(icons);
-
- //Draw chest side
- if (logic.chest != null)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(chest);
- if (logic.doubleChest == null)
- this.drawTexturedModalRect(cornerX - 116, cornerY, 0, 0, 121, this.ySize);
- else
- this.drawTexturedModalRect(cornerX - 116, cornerY, 125, 0, 122, this.ySize + 21);
- }
-
- // Draw description
- if (logic.tinkerTable)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(description);
- cornerX = (this.width + this.xSize) / 2;
- cornerY = (this.height - this.ySize) / 2;
- this.drawTexturedModalRect(cornerX, cornerY, 0, 0, 126, this.ySize + 30);
- }
-
- }
-
-}
diff --git a/src/main/java/tconstruct/client/gui/FrypanGui.java b/src/main/java/tconstruct/client/gui/FrypanGui.java
deleted file mode 100644
index 8506551a..00000000
--- a/src/main/java/tconstruct/client/gui/FrypanGui.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package tconstruct.client.gui;
-
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.World;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.blocks.logic.FrypanLogic;
-
-public class FrypanGui extends GuiContainer
-{
- public FrypanLogic logic;
-
- public FrypanGui(InventoryPlayer inventoryplayer, FrypanLogic frypan, World world, int x, int y, int z)
- {
- super(frypan.getGuiContainer(inventoryplayer, world, x, y, z));
- logic = frypan;
- }
-
- protected void drawGuiContainerForegroundLayer (int par1, int par2)
- {
- fontRenderer.drawString(StatCollector.translateToLocal("crafters.Frypan"), 60, 6, 0x404040);
- fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, (ySize - 96) + 2, 0x404040);
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/frypan.png");
-
- protected void drawGuiContainerBackgroundLayer (float f, int i, int j)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(background);
- int cornerX = (width - xSize) / 2;
- int cornerY = (height - ySize) / 2;
- drawTexturedModalRect(cornerX, cornerY, 0, 0, xSize, ySize);
- if (logic.fuel > 0)
- {
- int fuel = logic.gaugeFuelScaled(12);
- drawTexturedModalRect(cornerX + 27, (cornerY + 40) - fuel, 176, 12 - fuel, 14, fuel + 2);
- }
- int fuelgague = logic.gaugeProgressScaled(24);
- drawTexturedModalRect(cornerX + 140, cornerY + 8, 176, 14, fuelgague, 16);
- }
-}
diff --git a/src/main/java/tconstruct/client/gui/FurnaceGui.java b/src/main/java/tconstruct/client/gui/FurnaceGui.java
deleted file mode 100644
index 94d3612f..00000000
--- a/src/main/java/tconstruct/client/gui/FurnaceGui.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package tconstruct.client.gui;
-
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.client.resources.I18n;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.util.ResourceLocation;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.blocks.logic.FurnaceLogic;
-import tconstruct.inventory.FurnaceContainer;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class FurnaceGui extends GuiContainer
-{
- private static final ResourceLocation furnaceGuiTextures = new ResourceLocation("textures/gui/container/furnace.png");
- private FurnaceLogic logic;
-
- public FurnaceGui(InventoryPlayer inventory, FurnaceLogic furnace)
- {
- super(new FurnaceContainer(inventory, furnace));
- this.logic = furnace;
- }
-
- /**
- * Draw the foreground layer for the GuiContainer (everything in front of the items)
- */
- protected void drawGuiContainerForegroundLayer (int par1, int par2)
- {
- String s = this.logic.isInvNameLocalized() ? this.logic.getInvName() : I18n.getString(this.logic.getInvName());
- this.fontRenderer.drawString(s, this.xSize / 2 - this.fontRenderer.getStringWidth(s) / 2, 6, 4210752);
- this.fontRenderer.drawString(I18n.getString("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
- }
-
- /**
- * Draw the background layer for the GuiContainer (everything behind the items)
- */
- protected void drawGuiContainerBackgroundLayer (float par1, int par2, int par3)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(furnaceGuiTextures);
- int k = (this.width - this.xSize) / 2;
- int l = (this.height - this.ySize) / 2;
- this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);
- int i1;
-
- if (this.logic.isBurning())
- {
- i1 = this.logic.gaugeFuelScaled(12);
- this.drawTexturedModalRect(k + 56, l + 36 + 12 - i1, 176, 12 - i1, 14, i1 + 2);
- }
-
- i1 = this.logic.gaugeProgressScaled(24);
- this.drawTexturedModalRect(k + 79, l + 34, 176, 14, i1 + 1, 16);
- }
-}
diff --git a/src/main/java/tconstruct/client/gui/GuiButtonTool.java b/src/main/java/tconstruct/client/gui/GuiButtonTool.java
deleted file mode 100644
index 87996618..00000000
--- a/src/main/java/tconstruct/client/gui/GuiButtonTool.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package tconstruct.client.gui;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.util.ResourceLocation;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.library.client.ToolGuiElement;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class GuiButtonTool extends GuiButton
-{
- /**
- * True for pointing right (next page), false for pointing left (previous page).
- */
- int textureX;
- int textureY;
- public String texture;
- public ToolGuiElement element;
- private static ResourceLocation background;// = new ResourceLocation("tinker", "textures/gui/armorextended.png");
-
- public GuiButtonTool(int id, int posX, int posY, int texX, int texY, String domain, String tex, ToolGuiElement e)
- {
- super(id, posX, posY, 18, 18, "");
- textureX = texX;
- textureY = texY;
- texture = tex;
- element = e;
- background = new ResourceLocation(domain, tex);
- }
-
- /**
- * Draws this button to the screen.
- */
- public void drawButton (Minecraft mc, int mouseX, int mouseY)
- {
- if (this.drawButton)
- {
- boolean var4 = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height;
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.getTextureManager().bindTexture(background);
-
- this.field_82253_i = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height;
- int var5 = this.getHoverState(this.field_82253_i);
- int index = 18 * getHoverState(field_82253_i);
- this.drawTexturedModalRect(this.xPosition, this.yPosition, 144 + index * 2, 216, 18, 18);
- this.drawTexturedModalRect(this.xPosition, this.yPosition, textureX * 18, textureY * 18, 18, 18);
- }
- }
-}
diff --git a/src/main/java/tconstruct/client/gui/GuiLandmine.java b/src/main/java/tconstruct/client/gui/GuiLandmine.java
deleted file mode 100644
index 168ec441..00000000
--- a/src/main/java/tconstruct/client/gui/GuiLandmine.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package tconstruct.client.gui;
-
-import java.util.List;
-
-import net.minecraft.client.gui.FontRenderer;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.inventory.ContainerLandmine;
-import tconstruct.util.landmine.behavior.Behavior;
-
-/**
- *
- * @author fuj1n
- *
- */
-public class GuiLandmine extends GuiContainer
-{
-
- ContainerLandmine container;
-
- ResourceLocation background = new ResourceLocation("tinker:textures/gui/landmine.png");
-
- public GuiLandmine(ContainerLandmine par1Container)
- {
- super(par1Container);
- container = par1Container;
- }
-
- @Override
- protected void drawItemStackTooltip (ItemStack par1ItemStack, int par2, int par3)
- {
- List list = par1ItemStack.getTooltip(this.mc.thePlayer, this.mc.gameSettings.advancedItemTooltips);
-
- Behavior b = Behavior.getBehaviorFromStack(par1ItemStack);
- if (b != null)
- {
- b.getInformation(par1ItemStack, list);
- }
-
- for (int k = 0; k < list.size(); ++k)
- {
- if (k == 0)
- {
- list.set(k, "\u00a7" + Integer.toHexString(par1ItemStack.getRarity().rarityColor) + (String) list.get(k));
- }
- else
- {
- list.set(k, EnumChatFormatting.GRAY + (String) list.get(k));
- }
- }
-
- FontRenderer font = par1ItemStack.getItem().getFontRenderer(par1ItemStack);
- drawHoveringText(list, par2, par3, (font == null ? fontRenderer : font));
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer (int i, int j)
- {
- if (container.te != null)
- {
- fontRenderer.drawString(container.te.getInvName(), 8, 5, 4210752);
- }
- else
- {
- fontRenderer.drawString(StatCollector.translateToLocal("gui.landmine"), 8, 5, 4210752);
- }
- fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, ySize - 96 + 3, 4210752);
- }
-
- @Override
- protected void drawGuiContainerBackgroundLayer (float f, int i, int j)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(background);
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
- }
-
-}
diff --git a/src/main/java/tconstruct/client/gui/GuiManual.java b/src/main/java/tconstruct/client/gui/GuiManual.java
deleted file mode 100644
index 1c985d93..00000000
--- a/src/main/java/tconstruct/client/gui/GuiManual.java
+++ /dev/null
@@ -1,193 +0,0 @@
-package tconstruct.client.gui;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-
-import org.lwjgl.opengl.GL11;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import tconstruct.client.RenderItemCopy;
-import tconstruct.client.TProxyClient;
-import tconstruct.client.block.SmallFontRenderer;
-import tconstruct.client.pages.BookPage;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class GuiManual extends GuiScreen
-{
- ItemStack itemstackBook;
- Document manual;
- public RenderItemCopy renderitem = new RenderItemCopy();
- int bookImageWidth = 206;
- int bookImageHeight = 200;
- int bookTotalPages = 1;
- int currentPage;
- int maxPages;
-
- private TurnPageButton buttonNextPage;
- private TurnPageButton buttonPreviousPage;
-
- BookPage pageLeft;
- BookPage pageRight;
-
- public SmallFontRenderer fonts = TProxyClient.smallFontRenderer;
-
- public GuiManual(ItemStack stack, Document doc)
- {
- this.mc = Minecraft.getMinecraft();
- this.itemstackBook = stack;
- currentPage = 0; //Stack page
- manual = doc;
- //renderitem.renderInFrame = true;
- }
-
- /*@Override
- public void setWorldAndResolution (Minecraft minecraft, int w, int h)
- {
- this.guiParticles = new GuiParticle(minecraft);
- this.mc = minecraft;
- this.width = w;
- this.height = h;
- this.buttonList.clear();
- this.initGui();
- }*/
-
- public void initGui ()
- {
- maxPages = manual.getElementsByTagName("page").getLength();
- updateText();
- int xPos = (this.width) / 2;
- this.buttonList.add(this.buttonNextPage = new TurnPageButton(1, xPos + bookImageWidth - 50, 180, true));
- this.buttonList.add(this.buttonPreviousPage = new TurnPageButton(2, xPos - bookImageWidth + 24, 180, false));
- }
-
- protected void actionPerformed (GuiButton button)
- {
- if (button.enabled)
- {
- if (button.id == 1)
- currentPage += 2;
- if (button.id == 2)
- currentPage -= 2;
-
- updateText();
- }
- }
-
- void updateText ()
- {
- if (maxPages % 2 == 1)
- {
- if (currentPage > maxPages)
- currentPage = maxPages;
- }
- else
- {
- if (currentPage >= maxPages)
- currentPage = maxPages - 2;
- }
- if (currentPage % 2 == 1)
- currentPage--;
- if (currentPage < 0)
- currentPage = 0;
-
- NodeList nList = manual.getElementsByTagName("page");
-
- Node node = nList.item(currentPage);
- if (node.getNodeType() == Node.ELEMENT_NODE)
- {
- Element element = (Element) node;
- Class clazz = TProxyClient.getPageClass(element.getAttribute("type"));
- if (clazz != null)
- {
- try
- {
- pageLeft = (BookPage) clazz.newInstance();
- pageLeft.init(this, 0);
- pageLeft.readPageFromXML(element);
- }
- catch (Exception e)
- {
- }
- }
- else
- {
- pageLeft = null;
- }
- }
-
- node = nList.item(currentPage + 1);
- if (node != null && node.getNodeType() == Node.ELEMENT_NODE)
- {
- Element element = (Element) node;
- Class clazz = TProxyClient.getPageClass(element.getAttribute("type"));
- if (clazz != null)
- {
- try
- {
- pageRight = (BookPage) clazz.newInstance();
- pageRight.init(this, 1);
- pageRight.readPageFromXML(element);
- }
- catch (Exception e)
- {
- }
- }
- else
- {
- pageLeft = null;
- }
- }
- else
- {
- pageRight = null;
- }
- }
-
- private static final ResourceLocation bookRight = new ResourceLocation("tinker", "textures/gui/bookright.png");
- private static final ResourceLocation bookLeft = new ResourceLocation("tinker", "textures/gui/bookleft.png");
-
- public void drawScreen (int par1, int par2, float par3)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(bookRight);
- int localWidth = (this.width) / 2;
- byte localHeight = 8;
- this.drawTexturedModalRect(localWidth, localHeight, 0, 0, this.bookImageWidth, this.bookImageHeight);
-
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(bookLeft);
- localWidth = localWidth - this.bookImageWidth;
- this.drawTexturedModalRect(localWidth, localHeight, 256 - this.bookImageWidth, 0, this.bookImageWidth, this.bookImageHeight);
-
- super.drawScreen(par1, par2, par3); //16, 12, 220, 12
-
- if (pageLeft != null)
- pageLeft.renderBackgroundLayer(localWidth + 16, localHeight + 12);
- if (pageRight != null)
- pageRight.renderBackgroundLayer(localWidth + 220, localHeight + 12);
-
- if (pageLeft != null)
- pageLeft.renderContentLayer(localWidth + 16, localHeight + 12);
- if (pageRight != null)
- pageRight.renderContentLayer(localWidth + 220, localHeight + 12);
- }
-
- public Minecraft getMC ()
- {
- return mc;
- }
-
- public boolean doesGuiPauseGame ()
- {
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/client/gui/KnapsackGui.java b/src/main/java/tconstruct/client/gui/KnapsackGui.java
deleted file mode 100644
index c7a37295..00000000
--- a/src/main/java/tconstruct/client/gui/KnapsackGui.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package tconstruct.client.gui;
-
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-import org.lwjgl.opengl.GL11;
-import tconstruct.client.tabs.InventoryTabKnapsack;
-import tconstruct.client.tabs.TabRegistry;
-import tconstruct.inventory.KnapsackContainer;
-import tconstruct.util.player.KnapsackInventory;
-
-public class KnapsackGui extends GuiContainer
-{
- public InventoryPlayer inv;
- public KnapsackInventory stats;
-
- public KnapsackGui(InventoryPlayer inventoryplayer, KnapsackInventory holder)
- {
- super(new KnapsackContainer(inventoryplayer, holder));
- inv = inventoryplayer;
- stats = holder;
- }
-
- public void initGui ()
- {
- super.initGui();
-
- int cornerX = guiLeft;
- int cornerY = (this.height - this.ySize) / 2;
- this.buttonList.clear();
-
- TabRegistry.updateTabValues(cornerX, cornerY, InventoryTabKnapsack.class);
- TabRegistry.addTabsToList(this.buttonList);
-
- // InventoryTab tab = new InventoryTab(2, cornerX, cornerY - 28, new ItemStack(Block.workbench), 0);
- // this.buttonList.add(tab);
- // tab = new InventoryTab(3, cornerX + 28, cornerY - 28, new ItemStack(Item.plateDiamond), 1);
- // this.buttonList.add(tab);
- // tab = new InventoryTab(4, cornerX + 56, cornerY - 28, new ItemStack(TContent.knapsack), 1);
- // tab.enabled = false;
- // this.buttonList.add(tab);
- }
-
- protected void drawGuiContainerForegroundLayer (int par1, int par2)
- {
- fontRenderer.drawString(StatCollector.translateToLocal("inventory.knapsack"), 8, 6, 0x404040);
- fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, (ySize - 96) + 4, 0x404040);
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/knapsack.png");
-
- protected void drawGuiContainerBackgroundLayer (float f, int i, int j)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(background);
- int cornerX = guiLeft;
- int cornerY = (height - ySize) / 2;
- drawTexturedModalRect(cornerX, cornerY, 0, 0, xSize, ySize);
- }
-
- /*protected void keyTyped(char par1, int par2)
- {
- if (par2 == TControls.armorKey.keyCode)
- {
- this.mc.thePlayer.closeScreen();
- }
-
- super.keyTyped(par1, par2);
- }*/
-}
diff --git a/src/main/java/tconstruct/client/gui/NewContainerGui.java b/src/main/java/tconstruct/client/gui/NewContainerGui.java
deleted file mode 100644
index b86e9506..00000000
--- a/src/main/java/tconstruct/client/gui/NewContainerGui.java
+++ /dev/null
@@ -1,904 +0,0 @@
-package tconstruct.client.gui;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.RenderHelper;
-import net.minecraft.client.renderer.entity.RenderItem;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-
-import org.lwjgl.input.Keyboard;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-
-import tconstruct.inventory.ActiveContainer;
-import tconstruct.inventory.ActiveSlot;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public abstract class NewContainerGui extends GuiScreen
-{
- /** Stacks renderer. Icons, stack size, health, etc... */
- protected static RenderItem itemRenderer = new RenderItem();
-
- /** The X/Y size of the inventory window in stretched pixels. */
- protected int xSize = 176;
- protected int ySize = 166;
-
- /** A list of the players inventory slots. */
- public ActiveContainer container;
-
- /**
- * Starting X/Y position for the Gui. Inconsistent use for Gui backgrounds.
- */
- protected int guiLeft;
- protected int guiTop;
-
- protected Slot mainSlot;
-
- /** Used when touchscreen is enabled */
- protected Slot clickedSlot = null;
- protected boolean isRightMouseClick = false;
- protected ItemStack draggedStack = null;
-
- protected int field_85049_r = 0;
- protected int field_85048_s = 0;
- protected Slot returningStackDestSlot = null;
- protected long returningStackTime = 0L;
-
- /** Used when touchscreen is enabled */
- protected ItemStack returningStack = null;
- protected Slot field_92033_y = null;
- protected long field_92032_z = 0L;
- protected final Set field_94077_p = new HashSet();
- protected boolean field_94076_q;
- protected int field_94071_C = 0;
- protected int field_94067_D = 0;
- protected boolean field_94068_E = false;
- protected int field_94069_F;
- protected long field_94070_G = 0L;
- protected Slot field_94072_H = null;
- protected int field_94073_I = 0;
- protected boolean field_94074_J;
- protected ItemStack field_94075_K = null;
-
- public NewContainerGui(ActiveContainer container)
- {
- this.container = container;
- this.field_94068_E = true;
- }
-
- /**
- * Adds the buttons (and other controls) to the screen in question.
- */
- public void initGui ()
- {
- super.initGui();
- this.mc.thePlayer.openContainer = this.container;
- this.guiLeft = (this.width - this.xSize) / 2;
- this.guiTop = (this.height - this.ySize) / 2;
- }
-
- /**
- * Draws the screen and all the components in it.
- */
- public void drawScreen (int mouseX, int mouseY, float par3)
- {
- this.drawDefaultBackground();
- int gLeft = this.guiLeft;
- int gTop = this.guiTop;
- this.drawGuiContainerBackgroundLayer(par3, mouseX, mouseY);
-
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- RenderHelper.disableStandardItemLighting();
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDisable(GL11.GL_DEPTH_TEST);
- super.drawScreen(mouseX, mouseY, par3);
-
- RenderHelper.enableGUIStandardItemLighting();
- GL11.glPushMatrix();
- GL11.glTranslatef((float) gLeft, (float) gTop, 0.0F);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
-
- this.mainSlot = null;
- short short1 = 240;
- short short2 = 240;
-
- OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) short1 / 1.0F, (float) short2 / 1.0F);
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- int slotXPos;
- int slotYPos;
-
- for (int slotIter = 0; slotIter < this.container.inventorySlots.size(); ++slotIter)
- {
- Slot slot = (Slot) this.container.inventorySlots.get(slotIter);
- if (!(slot instanceof ActiveSlot) || ((ActiveSlot) slot).getActive())
- {
- this.drawSlotInventory(slot);
-
- if (this.isMouseOverSlot(slot, mouseX, mouseY))
- {
- this.mainSlot = slot;
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDisable(GL11.GL_DEPTH_TEST);
- slotXPos = slot.xDisplayPosition;
- slotYPos = slot.yDisplayPosition;
- this.drawGradientRect(slotXPos, slotYPos, slotXPos + 16, slotYPos + 16, -2130706433, -2130706433);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glEnable(GL11.GL_DEPTH_TEST);
- }
- }
- }
-
- /*for (int slotIter = 0; slotIter < this.container.otherInventorySlots.size(); ++slotIter)
- {
- ActiveSlot slot = (ActiveSlot) this.container.otherInventorySlots.get(slotIter);
- if (slot.getActive())
- {
- this.drawSlotInventory(slot);
-
- if (this.isMouseOverSlot(slot, mouseX, mouseY))
- {
- this.mainSlot = slot;
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDisable(GL11.GL_DEPTH_TEST);
- slotXPos = slot.xDisplayPosition;
- slotYPos = slot.yDisplayPosition;
- this.drawGradientRect(slotXPos, slotYPos, slotXPos + 16, slotYPos + 16, -2130706433, -2130706433);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glEnable(GL11.GL_DEPTH_TEST);
- }
- }
- }*/
-
- this.drawGuiContainerForegroundLayer(mouseX, mouseY);
- InventoryPlayer inventoryplayer = this.mc.thePlayer.inventory;
- ItemStack itemstack = this.draggedStack == null ? inventoryplayer.getItemStack() : this.draggedStack;
-
- if (itemstack != null)
- {
- byte b0 = 8;
- slotYPos = this.draggedStack == null ? 8 : 16;
- String s = null;
-
- if (this.draggedStack != null && this.isRightMouseClick)
- {
- itemstack = itemstack.copy();
- itemstack.stackSize = MathHelper.ceiling_float_int((float) itemstack.stackSize / 2.0F);
- }
- else if (this.field_94076_q && this.field_94077_p.size() > 1)
- {
- itemstack = itemstack.copy();
- itemstack.stackSize = this.field_94069_F;
-
- if (itemstack.stackSize == 0)
- {
- s = "" + EnumChatFormatting.YELLOW + "0";
- }
- }
-
- this.drawItemStack(itemstack, mouseX - gLeft - b0, mouseY - gTop - slotYPos, s);
- }
-
- if (this.returningStack != null)
- {
- float f1 = (float) (Minecraft.getSystemTime() - this.returningStackTime) / 100.0F;
-
- if (f1 >= 1.0F)
- {
- f1 = 1.0F;
- this.returningStack = null;
- }
-
- slotXPos = this.returningStackDestSlot.xDisplayPosition - this.field_85049_r;
- slotYPos = this.returningStackDestSlot.yDisplayPosition - this.field_85048_s;
- int xPos = this.field_85049_r + (int) ((float) slotXPos * f1);
- int yPos = this.field_85048_s + (int) ((float) slotYPos * f1);
- this.drawItemStack(this.returningStack, xPos, yPos, (String) null);
- }
-
- GL11.glPopMatrix();
-
- if (inventoryplayer.getItemStack() == null && this.mainSlot != null && this.mainSlot.getHasStack())
- {
- ItemStack itemstack1 = this.mainSlot.getStack();
- this.drawItemStackTooltip(itemstack1, mouseX, mouseY);
- }
-
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glEnable(GL11.GL_DEPTH_TEST);
- RenderHelper.enableStandardItemLighting();
- }
-
- protected void drawItemStack (ItemStack par1ItemStack, int par2, int par3, String par4Str)
- {
- GL11.glTranslatef(0.0F, 0.0F, 32.0F);
- this.zLevel = 200.0F;
- itemRenderer.zLevel = 200.0F;
- itemRenderer.renderItemAndEffectIntoGUI(this.fontRenderer, this.mc.renderEngine, par1ItemStack, par2, par3);
- itemRenderer.renderItemOverlayIntoGUI(this.fontRenderer, this.mc.renderEngine, par1ItemStack, par2, par3 - (this.draggedStack == null ? 0 : 8), par4Str);
- this.zLevel = 0.0F;
- itemRenderer.zLevel = 0.0F;
- }
-
- protected void drawItemStackTooltip (ItemStack par1ItemStack, int par2, int par3)
- {
- List list = par1ItemStack.getTooltip(this.mc.thePlayer, this.mc.gameSettings.advancedItemTooltips);
-
- for (int k = 0; k < list.size(); ++k)
- {
- if (k == 0)
- {
- list.set(k, "\u00a7" + Integer.toHexString(par1ItemStack.getRarity().rarityColor) + (String) list.get(k));
- }
- else
- {
- list.set(k, EnumChatFormatting.GRAY + (String) list.get(k));
- }
- }
-
- this.func_102021_a(list, par2, par3);
- }
-
- /**
- * Draws the text when mouse is over creative inventory tab. Params: current creative tab to be checked, current
- * mouse x position, current mouse y position.
- */
- protected void drawCreativeTabHoveringText (String par1Str, int par2, int par3)
- {
- this.func_102021_a(Arrays.asList(new String[] { par1Str }), par2, par3);
- }
-
- protected void func_102021_a (List par1List, int par2, int par3)
- {
- if (!par1List.isEmpty())
- {
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- RenderHelper.disableStandardItemLighting();
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDisable(GL11.GL_DEPTH_TEST);
- int k = 0;
- Iterator iterator = par1List.iterator();
-
- while (iterator.hasNext())
- {
- String s = (String) iterator.next();
- int l = this.fontRenderer.getStringWidth(s);
-
- if (l > k)
- {
- k = l;
- }
- }
-
- int i1 = par2 + 12;
- int j1 = par3 - 12;
- int k1 = 8;
-
- if (par1List.size() > 1)
- {
- k1 += 2 + (par1List.size() - 1) * 10;
- }
-
- if (i1 + k > this.width)
- {
- i1 -= 28 + k;
- }
-
- if (j1 + k1 + 6 > this.height)
- {
- j1 = this.height - k1 - 6;
- }
-
- this.zLevel = 300.0F;
- itemRenderer.zLevel = 300.0F;
- int l1 = -267386864;
- this.drawGradientRect(i1 - 3, j1 - 4, i1 + k + 3, j1 - 3, l1, l1);
- this.drawGradientRect(i1 - 3, j1 + k1 + 3, i1 + k + 3, j1 + k1 + 4, l1, l1);
- this.drawGradientRect(i1 - 3, j1 - 3, i1 + k + 3, j1 + k1 + 3, l1, l1);
- this.drawGradientRect(i1 - 4, j1 - 3, i1 - 3, j1 + k1 + 3, l1, l1);
- this.drawGradientRect(i1 + k + 3, j1 - 3, i1 + k + 4, j1 + k1 + 3, l1, l1);
- int i2 = 1347420415;
- int j2 = (i2 & 16711422) >> 1 | i2 & -16777216;
- this.drawGradientRect(i1 - 3, j1 - 3 + 1, i1 - 3 + 1, j1 + k1 + 3 - 1, i2, j2);
- this.drawGradientRect(i1 + k + 2, j1 - 3 + 1, i1 + k + 3, j1 + k1 + 3 - 1, i2, j2);
- this.drawGradientRect(i1 - 3, j1 - 3, i1 + k + 3, j1 - 3 + 1, i2, i2);
- this.drawGradientRect(i1 - 3, j1 + k1 + 2, i1 + k + 3, j1 + k1 + 3, j2, j2);
-
- for (int k2 = 0; k2 < par1List.size(); ++k2)
- {
- String s1 = (String) par1List.get(k2);
- this.fontRenderer.drawStringWithShadow(s1, i1, j1, -1);
-
- if (k2 == 0)
- {
- j1 += 2;
- }
-
- j1 += 10;
- }
-
- this.zLevel = 0.0F;
- itemRenderer.zLevel = 0.0F;
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glEnable(GL11.GL_DEPTH_TEST);
- RenderHelper.enableStandardItemLighting();
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- }
- }
-
- /**
- * Draw the foreground layer for the GuiContainer (everything in front of the items)
- */
- protected void drawGuiContainerForegroundLayer (int par1, int par2)
- {
- }
-
- /**
- * Draw the background layer for the GuiContainer (everything behind the items)
- */
- protected abstract void drawGuiContainerBackgroundLayer (float f, int i, int j);
-
- /**
- * Draws an inventory slot
- */
- protected void drawSlotInventory (Slot par1Slot)
- {
- int i = par1Slot.xDisplayPosition;
- int j = par1Slot.yDisplayPosition;
- ItemStack itemstack = par1Slot.getStack();
- boolean flag = false;
- boolean flag1 = par1Slot == this.clickedSlot && this.draggedStack != null && !this.isRightMouseClick;
- ItemStack itemstack1 = this.mc.thePlayer.inventory.getItemStack();
- String s = null;
-
- if (par1Slot == this.clickedSlot && this.draggedStack != null && this.isRightMouseClick && itemstack != null)
- {
- itemstack = itemstack.copy();
- itemstack.stackSize /= 2;
- }
- else if (this.field_94076_q && this.field_94077_p.contains(par1Slot) && itemstack1 != null)
- {
- if (this.field_94077_p.size() == 1)
- {
- return;
- }
-
- if (Container.func_94527_a(par1Slot, itemstack1, true) && this.container.canDragIntoSlot(par1Slot))
- {
- itemstack = itemstack1.copy();
- flag = true;
- Container.func_94525_a(this.field_94077_p, this.field_94071_C, itemstack, par1Slot.getStack() == null ? 0 : par1Slot.getStack().stackSize);
-
- if (itemstack.stackSize > itemstack.getMaxStackSize())
- {
- s = EnumChatFormatting.YELLOW + "" + itemstack.getMaxStackSize();
- itemstack.stackSize = itemstack.getMaxStackSize();
- }
-
- if (itemstack.stackSize > par1Slot.getSlotStackLimit())
- {
- s = EnumChatFormatting.YELLOW + "" + par1Slot.getSlotStackLimit();
- itemstack.stackSize = par1Slot.getSlotStackLimit();
- }
- }
- else
- {
- this.field_94077_p.remove(par1Slot);
- this.func_94066_g();
- }
- }
-
- this.zLevel = 100.0F;
- itemRenderer.zLevel = 100.0F;
-
- if (itemstack == null)
- {
- Icon icon = par1Slot.getBackgroundIconIndex();
-
- if (icon != null)
- {
- GL11.glDisable(GL11.GL_LIGHTING);
- this.mc.getTextureManager().bindTexture(TextureMap.locationItemsTexture);
- this.drawTexturedModelRectFromIcon(i, j, icon, 16, 16);
- GL11.glEnable(GL11.GL_LIGHTING);
- flag1 = true;
- }
- }
-
- if (!flag1)
- {
- if (flag)
- {
- drawRect(i, j, i + 16, j + 16, -2130706433);
- }
-
- GL11.glEnable(GL11.GL_DEPTH_TEST);
- itemRenderer.renderItemAndEffectIntoGUI(this.fontRenderer, this.mc.renderEngine, itemstack, i, j);
- itemRenderer.renderItemOverlayIntoGUI(this.fontRenderer, this.mc.renderEngine, itemstack, i, j, s);
- }
-
- itemRenderer.zLevel = 0.0F;
- this.zLevel = 0.0F;
- }
-
- protected void func_94066_g ()
- {
- ItemStack itemstack = this.mc.thePlayer.inventory.getItemStack();
-
- if (itemstack != null && this.field_94076_q)
- {
- this.field_94069_F = itemstack.stackSize;
- ItemStack itemstack1;
- int i;
-
- for (Iterator iterator = this.field_94077_p.iterator(); iterator.hasNext(); this.field_94069_F -= itemstack1.stackSize - i)
- {
- Slot slot = (Slot) iterator.next();
- itemstack1 = itemstack.copy();
- i = slot.getStack() == null ? 0 : slot.getStack().stackSize;
- Container.func_94525_a(this.field_94077_p, this.field_94071_C, itemstack1, i);
-
- if (itemstack1.stackSize > itemstack1.getMaxStackSize())
- {
- itemstack1.stackSize = itemstack1.getMaxStackSize();
- }
-
- if (itemstack1.stackSize > slot.getSlotStackLimit())
- {
- itemstack1.stackSize = slot.getSlotStackLimit();
- }
- }
- }
- }
-
- /**
- * Returns the slot at the given coordinates or null if there is none.
- */
- protected Slot getSlotAtPosition (int mouseX, int mouseY)
- {
- for (int k = 0; k < this.container.inventorySlots.size(); ++k)
- {
- Slot slot = (Slot) this.container.inventorySlots.get(k);
-
- if (this.isMouseOverSlot(slot, mouseX, mouseY))
- {
- return slot;
- }
- }
-
- return null;
- }
-
- /**
- * Called when the mouse is clicked.
- */
- protected void mouseClicked (int mouseX, int mouseY, int mouseButton)
- {
- super.mouseClicked(mouseX, mouseY, mouseButton);
- boolean flag = mouseButton == this.mc.gameSettings.keyBindPickBlock.keyCode + 100;
- Slot slot = this.getSlotAtPosition(mouseX, mouseY);
- long l = Minecraft.getSystemTime();
- this.field_94074_J = this.field_94072_H == slot && l - this.field_94070_G < 250L && this.field_94073_I == mouseButton;
- this.field_94068_E = false;
-
- if (mouseButton == 0 || mouseButton == 1 || flag)
- {
- int gLeft = this.guiLeft;
- int gTop = this.guiTop;
- boolean flag1 = mouseX < gLeft || mouseY < gTop || mouseX >= gLeft + this.xSize || mouseY >= gTop + this.ySize;
- int k1 = -1;
-
- if (slot != null)
- {
- k1 = slot.slotNumber;
- }
-
- if (flag1)
- {
- k1 = -999;
- }
-
- if (this.mc.gameSettings.touchscreen && flag1 && this.mc.thePlayer.inventory.getItemStack() == null)
- {
- this.mc.displayGuiScreen((GuiScreen) null);
- return;
- }
-
- if (k1 != -1)
- {
- if (this.mc.gameSettings.touchscreen)
- {
- if (slot != null && slot.getHasStack())
- {
- this.clickedSlot = slot;
- this.draggedStack = null;
- this.isRightMouseClick = mouseButton == 1;
- }
- else
- {
- this.clickedSlot = null;
- }
- }
- else if (!this.field_94076_q)
- {
- if (this.mc.thePlayer.inventory.getItemStack() == null)
- {
- if (mouseButton == this.mc.gameSettings.keyBindPickBlock.keyCode + 100)
- {
- this.handleMouseClick(slot, k1, mouseButton, 3);
- }
- else
- {
- boolean flag2 = k1 != -999 && (Keyboard.isKeyDown(42) || Keyboard.isKeyDown(54));
- byte b0 = 0;
-
- if (flag2)
- {
- this.field_94075_K = slot != null && slot.getHasStack() ? slot.getStack() : null;
- b0 = 1;
- }
- else if (k1 == -999)
- {
- b0 = 4;
- }
-
- this.handleMouseClick(slot, k1, mouseButton, b0);
- }
-
- this.field_94068_E = true;
- }
- else
- {
- this.field_94076_q = true;
- this.field_94067_D = mouseButton;
- this.field_94077_p.clear();
-
- if (mouseButton == 0)
- {
- this.field_94071_C = 0;
- }
- else if (mouseButton == 1)
- {
- this.field_94071_C = 1;
- }
- }
- }
- }
- }
-
- this.field_94072_H = slot;
- this.field_94070_G = l;
- this.field_94073_I = mouseButton;
- }
-
- protected void func_85041_a (int par1, int par2, int par3, long par4)
- {
- Slot slot = this.getSlotAtPosition(par1, par2);
- ItemStack itemstack = this.mc.thePlayer.inventory.getItemStack();
-
- if (this.clickedSlot != null && this.mc.gameSettings.touchscreen)
- {
- if (par3 == 0 || par3 == 1)
- {
- if (this.draggedStack == null)
- {
- if (slot != this.clickedSlot)
- {
- this.draggedStack = this.clickedSlot.getStack().copy();
- }
- }
- else if (this.draggedStack.stackSize > 1 && slot != null && Container.func_94527_a(slot, this.draggedStack, false))
- {
- long i1 = Minecraft.getSystemTime();
-
- if (this.field_92033_y == slot)
- {
- if (i1 - this.field_92032_z > 500L)
- {
- this.handleMouseClick(this.clickedSlot, this.clickedSlot.slotNumber, 0, 0);
- this.handleMouseClick(slot, slot.slotNumber, 1, 0);
- this.handleMouseClick(this.clickedSlot, this.clickedSlot.slotNumber, 0, 0);
- this.field_92032_z = i1 + 750L;
- --this.draggedStack.stackSize;
- }
- }
- else
- {
- this.field_92033_y = slot;
- this.field_92032_z = i1;
- }
- }
- }
- }
- else if (this.field_94076_q && slot != null && itemstack != null && itemstack.stackSize > this.field_94077_p.size() && Container.func_94527_a(slot, itemstack, true)
- && slot.isItemValid(itemstack) && this.container.canDragIntoSlot(slot))
- {
- this.field_94077_p.add(slot);
- this.func_94066_g();
- }
- }
-
- /**
- * Called when the mouse is moved or a mouse button is released. Signature: (mouseX, mouseY, which) which==-1 is
- * mouseMove, which==0 or which==1 is mouseUp
- */
- protected void mouseMovedOrUp (int par1, int par2, int par3)
- {
- Slot slot = this.getSlotAtPosition(par1, par2);
- int l = this.guiLeft;
- int i1 = this.guiTop;
- boolean flag = par1 < l || par2 < i1 || par1 >= l + this.xSize || par2 >= i1 + this.ySize;
- int j1 = -1;
-
- if (slot != null)
- {
- j1 = slot.slotNumber;
- }
-
- if (flag)
- {
- j1 = -999;
- }
-
- Slot slot1;
- Iterator iterator;
-
- if (this.field_94074_J && slot != null && par3 == 0 && this.container.func_94530_a((ItemStack) null, slot))
- {
- if (isShiftKeyDown())
- {
- if (slot != null && slot.inventory != null && this.field_94075_K != null)
- {
- iterator = this.container.inventorySlots.iterator();
-
- while (iterator.hasNext())
- {
- slot1 = (Slot) iterator.next();
-
- if (slot1 != null && slot1.canTakeStack(this.mc.thePlayer) && slot1.getHasStack() && slot1.inventory == slot.inventory
- && Container.func_94527_a(slot1, this.field_94075_K, true))
- {
- this.handleMouseClick(slot1, slot1.slotNumber, par3, 1);
- }
- }
- }
- }
- else
- {
- this.handleMouseClick(slot, j1, par3, 6);
- }
-
- this.field_94074_J = false;
- this.field_94070_G = 0L;
- }
- else
- {
- if (this.field_94076_q && this.field_94067_D != par3)
- {
- this.field_94076_q = false;
- this.field_94077_p.clear();
- this.field_94068_E = true;
- return;
- }
-
- if (this.field_94068_E)
- {
- this.field_94068_E = false;
- return;
- }
-
- boolean flag1;
-
- if (this.clickedSlot != null && this.mc.gameSettings.touchscreen)
- {
- if (par3 == 0 || par3 == 1)
- {
- if (this.draggedStack == null && slot != this.clickedSlot)
- {
- this.draggedStack = this.clickedSlot.getStack();
- }
-
- flag1 = Container.func_94527_a(slot, this.draggedStack, false);
-
- if (j1 != -1 && this.draggedStack != null && flag1)
- {
- this.handleMouseClick(this.clickedSlot, this.clickedSlot.slotNumber, par3, 0);
- this.handleMouseClick(slot, j1, 0, 0);
-
- if (this.mc.thePlayer.inventory.getItemStack() != null)
- {
- this.handleMouseClick(this.clickedSlot, this.clickedSlot.slotNumber, par3, 0);
- this.field_85049_r = par1 - l;
- this.field_85048_s = par2 - i1;
- this.returningStackDestSlot = this.clickedSlot;
- this.returningStack = this.draggedStack;
- this.returningStackTime = Minecraft.getSystemTime();
- }
- else
- {
- this.returningStack = null;
- }
- }
- else if (this.draggedStack != null)
- {
- this.field_85049_r = par1 - l;
- this.field_85048_s = par2 - i1;
- this.returningStackDestSlot = this.clickedSlot;
- this.returningStack = this.draggedStack;
- this.returningStackTime = Minecraft.getSystemTime();
- }
-
- this.draggedStack = null;
- this.clickedSlot = null;
- }
- }
- else if (this.field_94076_q && !this.field_94077_p.isEmpty())
- {
- this.handleMouseClick((Slot) null, -999, Container.func_94534_d(0, this.field_94071_C), 5);
- iterator = this.field_94077_p.iterator();
-
- while (iterator.hasNext())
- {
- slot1 = (Slot) iterator.next();
- this.handleMouseClick(slot1, slot1.slotNumber, Container.func_94534_d(1, this.field_94071_C), 5);
- }
-
- this.handleMouseClick((Slot) null, -999, Container.func_94534_d(2, this.field_94071_C), 5);
- }
- else if (this.mc.thePlayer.inventory.getItemStack() != null)
- {
- if (par3 == this.mc.gameSettings.keyBindPickBlock.keyCode + 100)
- {
- this.handleMouseClick(slot, j1, par3, 3);
- }
- else
- {
- flag1 = j1 != -999 && (Keyboard.isKeyDown(42) || Keyboard.isKeyDown(54));
-
- if (flag1)
- {
- this.field_94075_K = slot != null && slot.getHasStack() ? slot.getStack() : null;
- }
-
- this.handleMouseClick(slot, j1, par3, flag1 ? 1 : 0);
- }
- }
- }
-
- if (this.mc.thePlayer.inventory.getItemStack() == null)
- {
- this.field_94070_G = 0L;
- }
-
- this.field_94076_q = false;
- }
-
- /**
- * Returns if the passed mouse position is over the specified slot.
- */
- protected boolean isMouseOverSlot (Slot slot, int mouseX, int mouseY)
- {
- if (!(slot instanceof ActiveSlot) || ((ActiveSlot) slot).getActive())
- {
- return this.isPointInRegion(slot.xDisplayPosition, slot.yDisplayPosition, 16, 16, mouseX, mouseY);
- }
- return false;
- }
-
- /**
- * Args: left, top, width, height, pointX, pointY. Note: left, top are local to Gui, pointX, pointY are local to
- * screen
- */
- protected boolean isPointInRegion (int par1, int par2, int par3, int par4, int par5, int par6)
- {
- int k1 = this.guiLeft;
- int l1 = this.guiTop;
- par5 -= k1;
- par6 -= l1;
- return par5 >= par1 - 1 && par5 < par1 + par3 + 1 && par6 >= par2 - 1 && par6 < par2 + par4 + 1;
- }
-
- protected void handleMouseClick (Slot par1Slot, int par2, int par3, int par4)
- {
- if (par1Slot != null)
- {
- par2 = par1Slot.slotNumber;
- }
-
- this.mc.playerController.windowClick(this.container.windowId, par2, par3, par4, this.mc.thePlayer);
- }
-
- /**
- * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e).
- */
- protected void keyTyped (char par1, int par2)
- {
- if (par2 == 1 || par2 == this.mc.gameSettings.keyBindInventory.keyCode)
- {
- this.mc.thePlayer.closeScreen();
- }
-
- this.checkHotbarKeys(par2);
-
- if (this.mainSlot != null && this.mainSlot.getHasStack())
- {
- if (par2 == this.mc.gameSettings.keyBindPickBlock.keyCode)
- {
- this.handleMouseClick(this.mainSlot, this.mainSlot.slotNumber, 0, 3);
- }
- else if (par2 == this.mc.gameSettings.keyBindDrop.keyCode)
- {
- this.handleMouseClick(this.mainSlot, this.mainSlot.slotNumber, isCtrlKeyDown() ? 1 : 0, 4);
- }
- }
- }
-
- /**
- * This function is what controls the hotbar shortcut check when you press a number key when hovering a stack.
- */
- protected boolean checkHotbarKeys (int par1)
- {
- if (this.mc.thePlayer.inventory.getItemStack() == null && this.mainSlot != null)
- {
- for (int j = 0; j < 9; ++j)
- {
- if (par1 == 2 + j)
- {
- this.handleMouseClick(this.mainSlot, this.mainSlot.slotNumber, j, 2);
- return true;
- }
- }
- }
-
- return false;
- }
-
- /**
- * Called when the screen is unloaded. Used to disable keyboard repeat events
- */
- public void onGuiClosed ()
- {
- if (this.mc.thePlayer != null)
- {
- this.container.onContainerClosed(this.mc.thePlayer);
- }
- }
-
- /**
- * Returns true if this GUI should pause the game when it is displayed in single-player
- */
- public boolean doesGuiPauseGame ()
- {
- return false;
- }
-
- /**
- * Called from the main game loop to update the screen.
- */
- public void updateScreen ()
- {
- super.updateScreen();
-
- if (!this.mc.thePlayer.isEntityAlive() || this.mc.thePlayer.isDead)
- {
- this.mc.thePlayer.closeScreen();
- }
- }
-}
diff --git a/src/main/java/tconstruct/client/gui/PartCrafterGui.java b/src/main/java/tconstruct/client/gui/PartCrafterGui.java
deleted file mode 100644
index 91733cb0..00000000
--- a/src/main/java/tconstruct/client/gui/PartCrafterGui.java
+++ /dev/null
@@ -1,299 +0,0 @@
-package tconstruct.client.gui;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.World;
-
-import org.lwjgl.input.Keyboard;
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.blocks.logic.PartBuilderLogic;
-import tconstruct.inventory.ActiveContainer;
-import tconstruct.inventory.PartCrafterChestContainer;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.crafting.PatternBuilder;
-import tconstruct.library.tools.ToolMaterial;
-
-public class PartCrafterGui extends NewContainerGui
-{
- PartBuilderLogic logic;
- String title, otherTitle = "";
- boolean drawChestPart;
- boolean hasTop, hasBottom;
- ItemStack topMaterial, bottomMaterial;
- ToolMaterial topEnum, bottomEnum;
-
- public PartCrafterGui(InventoryPlayer inventoryplayer, PartBuilderLogic partlogic, World world, int x, int y, int z)
- {
- super((ActiveContainer) partlogic.getGuiContainer(inventoryplayer, world, x, y, z));
- logic = partlogic;
- drawChestPart = container instanceof PartCrafterChestContainer;
-
- title = "\u00A7n"+(StatCollector.translateToLocal("gui.partcrafter1"));
- }
-
- protected void drawGuiContainerForegroundLayer (int par1, int par2)
- {
- this.fontRenderer.drawString(StatCollector.translateToLocal("crafters.PartBuilder"), 6, 6, 4210752);
- this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
- if (drawChestPart)
- this.fontRenderer.drawString(StatCollector.translateToLocal("inventory.PatternChest"), -108, this.ySize - 148, 4210752);
-
- drawMaterialInformation();
- }
-
- void drawDefaultInformation ()
- {
- title = "\u00A7n" + StatCollector.translateToLocal("gui.partcrafter2");
- this.drawCenteredString(fontRenderer, title, xSize + 63, 8, 16777215);
- fontRenderer.drawSplitString(StatCollector.translateToLocal("gui.partcrafter3"), xSize + 8, 24, 115, 16777215);
- }
-
- void drawMaterialInformation ()
- {
- ItemStack top = logic.getStackInSlot(2);
- //ItemStack topResult = logic.getStackInSlot(4);
- ItemStack bottom = logic.getStackInSlot(3);
- //ItemStack bottomResult = logic.getStackInSlot(6);
- if (topMaterial != top)
- {
- topMaterial = top;
- int topID = PatternBuilder.instance.getPartID(top);
-
- if (topID != Short.MAX_VALUE)// && topResult != null)
- {
- topEnum = TConstructRegistry.getMaterial(topID);
- hasTop = true;
- title = "\u00A7n" + topEnum.name();
- }
- else
- hasTop = false;
- }
-
- if (bottomMaterial != bottom)
- {
- bottomMaterial = bottom;
- int bottomID = PatternBuilder.instance.getPartID(bottom);
-
- if (bottomID != Short.MAX_VALUE)// && bottomResult != null)
- {
- bottomEnum = TConstructRegistry.getMaterial(bottomID);
- hasBottom = true;
- otherTitle = "\u00A7n" + bottomEnum.name();
- }
- else
- hasBottom = false;
- }
-
- int offset = 8;
- if (hasTop)
- {
- this.drawCenteredString(fontRenderer, title, xSize + 63, offset, 16777215);
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.partcrafter4") + topEnum.durability(), xSize + 8, offset + 16, 16777215);
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.partcrafter5") + topEnum.handleDurability() + "x", xSize + 8, offset + 27, 16777215);
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.partcrafter6") + topEnum.toolSpeed() / 100f, xSize + 8, offset + 38, 16777215);
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.partcrafter7") + getHarvestLevelName(topEnum.harvestLevel()), xSize + 8, offset + 49, 16777215);
-
- int attack = topEnum.attack();
- String heart = attack == 2 ? StatCollector.translateToLocal("gui.partcrafter8") : StatCollector.translateToLocal("gui.partcrafter9");
- if (attack % 2 == 0)
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.partcrafter10") + attack / 2 + heart, xSize + 8, offset + 60, 0xffffff);
- else
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.partcrafter10") + attack / 2f + heart, xSize + 8, offset + 60, 0xffffff);
- }
-
- offset = 90;
- if (hasBottom)
- {
- this.drawCenteredString(fontRenderer, otherTitle, xSize + 63, offset, 16777215);
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.partcrafter4") + bottomEnum.durability(), xSize + 8, offset + 16, 16777215);
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.partcrafter5") + bottomEnum.handleDurability() + "x", xSize + 8, offset + 27, 16777215);
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.partcrafter6") + bottomEnum.toolSpeed() / 100f, xSize + 8, offset + 38, 16777215);
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.partcrafter7") + getHarvestLevelName(bottomEnum.harvestLevel()), xSize + 8, offset + 49, 16777215);
- int attack = bottomEnum.attack();
- String heart = attack == 2 ? StatCollector.translateToLocal("gui.partcrafter8") : StatCollector.translateToLocal("gui.partcrafter9");
- if (attack % 2 == 0)
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.partcrafter10") + attack / 2 + heart, xSize + 8, offset + 60, 0xffffff);
- else
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.partcrafter10") + attack / 2f + heart, xSize + 8, offset + 60, 0xffffff);
- }
-
- if (!hasTop && !hasBottom)
- drawDefaultInformation();
- }
-
- public static String getHarvestLevelName (int num)
- {
- switch (num)
- {
- case 0:
- return (StatCollector.translateToLocal("gui.partcrafter.mining1"));
- case 1:
- return (StatCollector.translateToLocal("gui.partcrafter.mining2"));
- case 2:
- return (StatCollector.translateToLocal("gui.partcrafter.mining3"));
- case 3:
- return (StatCollector.translateToLocal("gui.partcrafter.mining4"));
- case 4:
- return (StatCollector.translateToLocal("gui.partcrafter.mining5"));
- case 5:
- return (StatCollector.translateToLocal("gui.partcrafter.mining6"));
- default:
- return String.valueOf(num);
- }
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/toolparts.png");
- private static final ResourceLocation minichest = new ResourceLocation("tinker", "textures/gui/patternchestmini.png");
- private static final ResourceLocation description = new ResourceLocation("tinker", "textures/gui/description.png");
-
- protected void drawGuiContainerBackgroundLayer (float par1, int par2, int par3)
- {
- // Draw the background
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(background);
- int cornerX = (this.width - this.xSize) / 2;
- int cornerY = (this.height - this.ySize) / 2;
- this.drawTexturedModalRect(cornerX, cornerY, 0, 0, this.xSize, this.ySize);
-
- // Draw Slots
- this.drawTexturedModalRect(cornerX + 39, cornerY + 26, 0, 166, 98, 36);
- if (!logic.isStackInSlot(0))
- {
- this.drawTexturedModalRect(cornerX + 39, cornerY + 26, 176, 0, 18, 18);
- }
- if (!logic.isStackInSlot(2))
- {
- this.drawTexturedModalRect(cornerX + 57, cornerY + 26, 176, 18, 18, 18);
- }
- if (!logic.isStackInSlot(1))
- {
- this.drawTexturedModalRect(cornerX + 39, cornerY + 44, 176, 0, 18, 18);
- }
- if (!logic.isStackInSlot(3))
- {
- this.drawTexturedModalRect(cornerX + 57, cornerY + 44, 176, 36, 18, 18);
- }
-
- // Draw chest
- if (drawChestPart)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(minichest);
- this.drawTexturedModalRect(cornerX - 116, cornerY + 11, 0, 0, this.xSize, this.ySize);
- }
-
- // Draw description
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(description);
- cornerX = (this.width + this.xSize) / 2;
- cornerY = (this.height - this.ySize) / 2;
- this.drawTexturedModalRect(cornerX, cornerY, 126, 0, 126, this.ySize);
- }
-
- @Override
- protected void mouseClicked (int mouseX, int mouseY, int clickNum)
- {
- boolean flag = clickNum == this.mc.gameSettings.keyBindPickBlock.keyCode + 100;
- Slot slot = this.getSlotAtPosition(mouseX, mouseY);
- long l = Minecraft.getSystemTime();
- this.field_94074_J = this.field_94072_H == slot && l - this.field_94070_G < 250L && this.field_94073_I == clickNum;
- this.field_94068_E = false;
-
- int offsetLeft = drawChestPart ? 108 : 0;
-
- if (clickNum == 0 || clickNum == 1 || flag)
- {
- int i1 = this.guiLeft;
- int j1 = this.guiTop;
- boolean flag1 = mouseX < i1 - offsetLeft || mouseY < j1 || mouseX >= i1 + this.xSize || mouseY >= j1 + this.ySize;
- int k1 = -1;
-
- if (slot != null)
- {
- k1 = slot.slotNumber;
- }
-
- if (flag1)
- {
- k1 = -999;
- }
-
- if (this.mc.gameSettings.touchscreen && flag1 && this.mc.thePlayer.inventory.getItemStack() == null)
- {
- this.mc.displayGuiScreen((GuiScreen) null);
- return;
- }
-
- if (k1 != -1)
- {
- if (this.mc.gameSettings.touchscreen)
- {
- if (slot != null && slot.getHasStack())
- {
- this.clickedSlot = slot;
- this.draggedStack = null;
- this.isRightMouseClick = clickNum == 1;
- }
- else
- {
- this.clickedSlot = null;
- }
- }
- else if (!this.field_94076_q)
- {
- if (this.mc.thePlayer.inventory.getItemStack() == null)
- {
- if (clickNum == this.mc.gameSettings.keyBindPickBlock.keyCode + 100)
- {
- this.handleMouseClick(slot, k1, clickNum, 3);
- }
- else
- {
- boolean flag2 = k1 != -999 && (Keyboard.isKeyDown(42) || Keyboard.isKeyDown(54));
- byte b0 = 0;
-
- if (flag2)
- {
- this.field_94075_K = slot != null && slot.getHasStack() ? slot.getStack() : null;
- b0 = 1;
- }
- else if (k1 == -999)
- {
- b0 = 4;
- }
-
- this.handleMouseClick(slot, k1, clickNum, b0);
- }
-
- this.field_94068_E = true;
- }
- else
- {
- this.field_94076_q = true;
- this.field_94067_D = clickNum;
- this.field_94077_p.clear();
-
- if (clickNum == 0)
- {
- this.field_94071_C = 0;
- }
- else if (clickNum == 1)
- {
- this.field_94071_C = 1;
- }
- }
- }
- }
- }
-
- this.field_94072_H = slot;
- this.field_94070_G = l;
- this.field_94073_I = clickNum;
- }
-}
diff --git a/src/main/java/tconstruct/client/gui/PatternChestGui.java b/src/main/java/tconstruct/client/gui/PatternChestGui.java
deleted file mode 100644
index b4b57f5c..00000000
--- a/src/main/java/tconstruct/client/gui/PatternChestGui.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package tconstruct.client.gui;
-
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.World;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.blocks.logic.PatternChestLogic;
-
-public class PatternChestGui extends GuiContainer
-{
- public PatternChestLogic logic;
-
- public PatternChestGui(InventoryPlayer inventoryplayer, PatternChestLogic holder, World world, int x, int y, int z)
- {
- super(holder.getGuiContainer(inventoryplayer, world, x, y, z));
- logic = holder;
- xSize = 194;
- ySize = 168;
- }
-
- protected void drawGuiContainerForegroundLayer (int par1, int par2)
- {
- fontRenderer.drawString(StatCollector.translateToLocal("inventory.PatternChest"), 60, 6, 0x404040);
- fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 17, (ySize - 96) + 2, 0x404040);
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/patternchest.png");
-
- protected void drawGuiContainerBackgroundLayer (float f, int i, int j)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(background);
- int cornerX = (width - xSize) / 2;
- int cornerY = (height - ySize) / 2;
- drawTexturedModalRect(cornerX, cornerY, 0, 0, xSize, ySize);
- }
-}
diff --git a/src/main/java/tconstruct/client/gui/SmelteryGui.java b/src/main/java/tconstruct/client/gui/SmelteryGui.java
deleted file mode 100644
index a335394f..00000000
--- a/src/main/java/tconstruct/client/gui/SmelteryGui.java
+++ /dev/null
@@ -1,484 +0,0 @@
-package tconstruct.client.gui;
-
-import cpw.mods.fml.common.network.PacketDispatcher;
-
-import java.io.*;
-import java.util.*;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.*;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.network.packet.Packet250CustomPayload;
-import net.minecraft.util.*;
-import net.minecraft.world.World;
-import net.minecraftforge.fluids.*;
-import net.minecraft.util.StatCollector;
-
-import org.lwjgl.input.Mouse;
-import org.lwjgl.opengl.*;
-
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.SmelteryLogic;
-import tconstruct.inventory.*;
-
-public class SmelteryGui extends NewContainerGui
-{
- public SmelteryLogic logic;
- String username;
- boolean isScrolling = false;
- boolean wasClicking;
- float currentScroll = 0.0F;
- int slotPos = 0;
- int prevSlotPos = 0;
-
- public SmelteryGui(InventoryPlayer inventoryplayer, SmelteryLogic smeltery, World world, int x, int y, int z)
- {
- super((ActiveContainer) smeltery.getGuiContainer(inventoryplayer, world, x, y, z));
- logic = smeltery;
- username = inventoryplayer.player.username;
- xSize = 248;
- smeltery.updateFuelDisplay();
- }
-
- @Override
- public void drawScreen (int mouseX, int mouseY, float par3)
- {
- super.drawScreen(mouseX, mouseY, par3);
- updateScrollbar(mouseX, mouseY, par3);
- }
-
- protected void updateScrollbar (int mouseX, int mouseY, float par3)
- {
- if (logic.layers > 2)
- {
- boolean mouseDown = Mouse.isButtonDown(0);
- int lefto = this.guiLeft;
- int topo = this.guiTop;
- int xScroll = lefto + 67;
- int yScroll = topo + 8;
- int scrollWidth = xScroll + 14;
- int scrollHeight = yScroll + 144;
-
- if (!this.wasClicking && mouseDown && mouseX >= xScroll && mouseY >= yScroll && mouseX < scrollWidth && mouseY < scrollHeight)
- {
- this.isScrolling = true;
- }
-
- if (!mouseDown)
- {
- this.isScrolling = false;
- }
-
- if (wasClicking && !isScrolling && slotPos != prevSlotPos)
- {
- prevSlotPos = slotPos;
- }
-
- this.wasClicking = mouseDown;
-
- if (this.isScrolling)
- {
- this.currentScroll = (mouseY - yScroll - 7.5F) / (scrollHeight - yScroll - 15.0F);
-
- if (this.currentScroll < 0.0F)
- {
- this.currentScroll = 0.0F;
- }
-
- if (this.currentScroll > 1.0F)
- {
- this.currentScroll = 1.0F;
- }
-
- int s = ((SmelteryContainer) this.container).scrollTo(this.currentScroll);
- if (s != -1)
- slotPos = s;
- }
- }
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer (int mouseX, int mouseY)
- {
- fontRenderer.drawString(StatCollector.translateToLocal("crafters.Smeltery"), 86, 5, 0x404040);
- fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 90, (ySize - 96) + 2, 0x404040);
-
- int base = 0;
- int cornerX = (width - xSize) / 2 + 36;
- int cornerY = (height - ySize) / 2;
-
- for (FluidStack liquid : logic.moltenMetal)
- {
- int basePos = 54;
- int initialLiquidSize = 0;
- int liquidSize = 0;//liquid.amount * 52 / liquidLayers;
- if (logic.getCapacity() > 0)
- {
- int total = logic.getTotalLiquid();
- int liquidLayers = (total / 20000 + 1) * 20000;
- if (liquidLayers > 0)
- {
- liquidSize = liquid.amount * 52 / liquidLayers;
- if (liquidSize == 0)
- liquidSize = 1;
- base += liquidSize;
- }
- }
-
- int leftX = cornerX + basePos;
- int topY = (cornerY + 68) - base;
- int sizeX = 52;
- int sizeY = liquidSize;
- if (mouseX >= leftX && mouseX <= leftX + sizeX && mouseY >= topY && mouseY < topY + sizeY)
- {
- drawFluidStackTooltip(liquid, mouseX - cornerX + 36, mouseY - cornerY);
-
- }
- }
- if (logic.fuelGague > 0)
- {
- int leftX = cornerX + 117;
- int topY = (cornerY + 68) - logic.getScaledFuelGague(52);
- int sizeX = 12;
- int sizeY = logic.getScaledFuelGague(52);
- if (mouseX >= leftX && mouseX <= leftX + sizeX && mouseY >= topY && mouseY < topY + sizeY)
- {
- drawFluidStackTooltip(new FluidStack(-37, logic.fuelAmount), mouseX - cornerX + 36, mouseY - cornerY);
- }
- }
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/smeltery.png");
- private static final ResourceLocation backgroundSide = new ResourceLocation("tinker", "textures/gui/smelteryside.png");
- private static final ResourceLocation terrain = new ResourceLocation("terrain.png");
-
- @Override
- protected void drawGuiContainerBackgroundLayer (float f, int mouseX, int mouseY)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(background);
- int cornerX = (width - xSize) / 2 + 36;
- int cornerY = (height - ySize) / 2;
- drawTexturedModalRect(cornerX + 46, cornerY, 0, 0, 176, ySize);
-
- //Fuel - Lava
- this.mc.getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
- if (logic.fuelGague > 0)
- {
- Icon lavaIcon = Block.lavaStill.getIcon(0, 0);
- int fuel = logic.getScaledFuelGague(52);
- int count = 0;
- while (fuel > 0)
- {
- int size = fuel >= 16 ? 16 : fuel;
- fuel -= size;
- drawLiquidRect(cornerX + 117, (cornerY + 68) - size - 16 * count, lavaIcon, 12, size);
- count++;
- }
- }
-
- //Liquids - molten metal
- int base = 0;
- for (FluidStack liquid : logic.moltenMetal)
- {
- Icon renderIndex = liquid.getFluid().getStillIcon();
- int basePos = 54;
- if (logic.getCapacity() > 0)
- {
- int total = logic.getTotalLiquid();
- int liquidLayers = (total / 20000 + 1) * 20000;
- if (liquidLayers > 0)
- {
- int liquidSize = liquid.amount * 52 / liquidLayers;
- if (liquidSize == 0)
- liquidSize = 1;
- while (liquidSize > 0)
- {
- int size = liquidSize >= 16 ? 16 : liquidSize;
- if (renderIndex != null)
- {
- drawLiquidRect(cornerX + basePos, (cornerY + 68) - size - base, renderIndex, 16, size);
- drawLiquidRect(cornerX + basePos + 16, (cornerY + 68) - size - base, renderIndex, 16, size);
- drawLiquidRect(cornerX + basePos + 32, (cornerY + 68) - size - base, renderIndex, 16, size);
- drawLiquidRect(cornerX + basePos + 48, (cornerY + 68) - size - base, renderIndex, 4, size);
- }
- liquidSize -= size;
- base += size;
- }
- }
- }
- }
-
- //Liquid gague
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
-
- this.mc.getTextureManager().bindTexture(background);
- drawTexturedModalRect(cornerX + 54, cornerY + 16, 176, 76, 52, 52);
-
- //Side inventory
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(backgroundSide);
- if (logic.layers > 0)
- {
- if (logic.layers == 1)
- {
- drawTexturedModalRect(cornerX - 46, cornerY, 0, 0, 98, 43);
- drawTexturedModalRect(cornerX - 46, cornerY + 43, 0, 133, 98, 25);
- }
- else if (logic.layers == 2)
- {
- drawTexturedModalRect(cornerX - 46, cornerY, 0, 0, 98, 61);
- drawTexturedModalRect(cornerX - 46, cornerY + 61, 0, 97, 98, 61);
- }
- else
- {
- drawTexturedModalRect(cornerX - 46, cornerY, 0, 0, 98, ySize - 8);
- }
- drawTexturedModalRect(cornerX + 32, (int) (cornerY + 8 + 127 * currentScroll), 98, 0, 12, 15);
- }
-
- //Temperature
- int slotSize = logic.layers * 9;
- if (slotSize > 24)
- slotSize = 24;
- for (int iter = 0; iter < slotSize; iter++)
- {
- int slotTemp = logic.getTempForSlot(iter + slotPos * 3) - 20;
- int maxTemp = logic.getMeltingPointForSlot(iter + slotPos * 3) - 20;
- if (slotTemp > 0 && maxTemp > 0)
- {
- int size = 16 * slotTemp / maxTemp + 1;
- drawTexturedModalRect(cornerX - 38 + (iter % 3 * 22), cornerY + 8 + (iter / 3 * 18) + 16 - size, 98, 15 + 16 - size, 5, size);
- }
- }
- }
-
- protected void drawFluidStackTooltip (FluidStack par1ItemStack, int par2, int par3)
- {
- this.zLevel = 100;
- List list = getLiquidTooltip(par1ItemStack, this.mc.gameSettings.advancedItemTooltips);
-
- for (int k = 0; k < list.size(); ++k)
- {
- list.set(k, EnumChatFormatting.GRAY + (String) list.get(k));
- }
-
- this.drawToolTip(list, par2, par3);
- this.zLevel = 0;
- }
-
- public List getLiquidTooltip (FluidStack liquid, boolean par2)
- {
- ArrayList list = new ArrayList();
- if (liquid.fluidID == -37)
- {
- list.add("\u00A7f" + StatCollector.translateToLocal("gui.smeltery1"));
- list.add("mB: " + liquid.amount);
- }
- else
- {
- String name = StatCollector.translateToLocal("fluid." + FluidRegistry.getFluidName(liquid));
- list.add("\u00A7f" + name);
- if (name.equals("Liquified Emerald"))
- {
- list.add("Emeralds: " + liquid.amount / 640f);
- }
- else if (name.equals("Molten Glass"))
- {
- int blocks = liquid.amount / 1000;
- if (blocks > 0)
- list.add("Blocks: " + blocks);
- int panels = (liquid.amount % 1000) / 250;
- if (panels > 0)
- list.add("Panels: " + panels);
- int mB = (liquid.amount % 1000) % 250;
- if (mB > 0)
- list.add("mB: " + mB);
- }
- else if (name.contains("Molten"))
- {
- int ingots = liquid.amount / TConstruct.ingotLiquidValue;
- if (ingots > 0)
- list.add("Ingots: " + ingots);
- int mB = liquid.amount % TConstruct.ingotLiquidValue;
- if (mB > 0)
- {
- int nuggets = mB / TConstruct.nuggetLiquidValue;
- int junk = (mB % TConstruct.nuggetLiquidValue);
- if (nuggets > 0)
- list.add("Nuggets: " + nuggets);
- if (junk > 0)
- list.add("mB: " + junk);
- }
- }
- else if (name.equals("Seared Stone"))
- {
- int ingots = liquid.amount / TConstruct.ingotLiquidValue;
- if (ingots > 0)
- list.add("Blocks: " + ingots);
- int mB = liquid.amount % TConstruct.ingotLiquidValue;
- if (mB > 0)
- list.add("mB: " + mB);
- }
- else
- {
- list.add("mB: " + liquid.amount);
- }
- }
- return list;
- }
-
- protected void drawToolTip (List par1List, int par2, int par3)
- {
- if (!par1List.isEmpty())
- {
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- RenderHelper.disableStandardItemLighting();
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDisable(GL11.GL_DEPTH_TEST);
- int k = 0;
- Iterator iterator = par1List.iterator();
-
- while (iterator.hasNext())
- {
- String s = (String) iterator.next();
- int l = this.fontRenderer.getStringWidth(s);
-
- if (l > k)
- {
- k = l;
- }
- }
-
- int i1 = par2 + 12;
- int j1 = par3 - 12;
- int k1 = 8;
-
- if (par1List.size() > 1)
- {
- k1 += 2 + (par1List.size() - 1) * 10;
- }
-
- if (i1 + k > this.width)
- {
- i1 -= 28 + k;
- }
-
- if (j1 + k1 + 6 > this.height)
- {
- j1 = this.height - k1 - 6;
- }
-
- this.zLevel = 300.0F;
- itemRenderer.zLevel = 300.0F;
- int l1 = -267386864;
- this.drawGradientRect(i1 - 3, j1 - 4, i1 + k + 3, j1 - 3, l1, l1);
- this.drawGradientRect(i1 - 3, j1 + k1 + 3, i1 + k + 3, j1 + k1 + 4, l1, l1);
- this.drawGradientRect(i1 - 3, j1 - 3, i1 + k + 3, j1 + k1 + 3, l1, l1);
- this.drawGradientRect(i1 - 4, j1 - 3, i1 - 3, j1 + k1 + 3, l1, l1);
- this.drawGradientRect(i1 + k + 3, j1 - 3, i1 + k + 4, j1 + k1 + 3, l1, l1);
- int i2 = 1347420415;
- int j2 = (i2 & 16711422) >> 1 | i2 & -16777216;
- this.drawGradientRect(i1 - 3, j1 - 3 + 1, i1 - 3 + 1, j1 + k1 + 3 - 1, i2, j2);
- this.drawGradientRect(i1 + k + 2, j1 - 3 + 1, i1 + k + 3, j1 + k1 + 3 - 1, i2, j2);
- this.drawGradientRect(i1 - 3, j1 - 3, i1 + k + 3, j1 - 3 + 1, i2, i2);
- this.drawGradientRect(i1 - 3, j1 + k1 + 2, i1 + k + 3, j1 + k1 + 3, j2, j2);
-
- for (int k2 = 0; k2 < par1List.size(); ++k2)
- {
- String s1 = (String) par1List.get(k2);
- this.fontRenderer.drawStringWithShadow(s1, i1, j1, -1);
-
- if (k2 == 0)
- {
- j1 += 2;
- }
-
- j1 += 10;
- }
-
- this.zLevel = 0.0F;
- itemRenderer.zLevel = 0.0F;
- }
- }
-
- public void drawLiquidRect (int startU, int startV, Icon par3Icon, int endU, int endV)
- {
- Tessellator tessellator = Tessellator.instance;
- tessellator.startDrawingQuads();
- tessellator.addVertexWithUV(startU + 0, startV + endV, this.zLevel, par3Icon.getMinU(), par3Icon.getMaxV());//Bottom left
- tessellator.addVertexWithUV(startU + endU, startV + endV, this.zLevel, par3Icon.getMaxU(), par3Icon.getMaxV());//Bottom right
- tessellator.addVertexWithUV(startU + endU, startV + 0, this.zLevel, par3Icon.getMaxU(), par3Icon.getMinV());//Top right
- tessellator.addVertexWithUV(startU + 0, startV + 0, this.zLevel, par3Icon.getMinU(), par3Icon.getMinV()); //Top left
- tessellator.draw();
- }
-
- @Override
- public void mouseClicked (int mouseX, int mouseY, int mouseButton)
- {
- super.mouseClicked(mouseX, mouseY, mouseButton);
-
- int base = 0;
- int cornerX = (width - xSize) / 2 + 36;
- int cornerY = (height - ySize) / 2;
- int fluidToBeBroughtUp = -1;
-
- for (FluidStack liquid : logic.moltenMetal)
- {
- int basePos = 54;
- int initialLiquidSize = 0;
- int liquidSize = 0;//liquid.amount * 52 / liquidLayers;
- if (logic.getCapacity() > 0)
- {
- int total = logic.getTotalLiquid();
- int liquidLayers = (total / 20000 + 1) * 20000;
- if (liquidLayers > 0)
- {
- liquidSize = liquid.amount * 52 / liquidLayers;
- if (liquidSize == 0)
- liquidSize = 1;
- base += liquidSize;
- }
- }
-
- int leftX = cornerX + basePos;
- int topY = (cornerY + 68) - base;
- int sizeX = 52;
- int sizeY = liquidSize;
- if (mouseX >= leftX && mouseX <= leftX + sizeX && mouseY >= topY && mouseY < topY + sizeY)
- {
- fluidToBeBroughtUp = liquid.fluidID;
-
- Packet250CustomPayload packet = new Packet250CustomPayload();
-
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- DataOutputStream dos = new DataOutputStream(bos);
-
- try
- {
- dos.write(11);
-
- dos.writeInt(logic.worldObj.provider.dimensionId);
- dos.writeInt(logic.xCoord);
- dos.writeInt(logic.yCoord);
- dos.writeInt(logic.zCoord);
-
- dos.writeBoolean(this.isShiftKeyDown());
-
- dos.writeInt(fluidToBeBroughtUp);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
-
- packet.channel = "TConstruct";
- packet.data = bos.toByteArray();
- packet.length = bos.size();
-
- PacketDispatcher.sendPacketToServer(packet);
- }
- }
- }
-}
diff --git a/src/main/java/tconstruct/client/gui/StencilTableGui.java b/src/main/java/tconstruct/client/gui/StencilTableGui.java
deleted file mode 100644
index 70585534..00000000
--- a/src/main/java/tconstruct/client/gui/StencilTableGui.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package tconstruct.client.gui;
-
-import java.io.ByteArrayOutputStream;
-import java.io.DataOutputStream;
-
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.network.packet.Packet250CustomPayload;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.World;
-
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.blocks.logic.StencilTableLogic;
-import tconstruct.common.TContent;
-import tconstruct.inventory.PatternShaperContainer;
-
-import cpw.mods.fml.common.network.PacketDispatcher;
-
-public class StencilTableGui extends GuiContainer
-{
- StencilTableLogic logic;
- int patternIndex;
-
- public StencilTableGui(InventoryPlayer inventoryplayer, StencilTableLogic shaper, World world, int x, int y, int z)
- {
- super(new PatternShaperContainer(inventoryplayer, shaper));
- logic = shaper;
- patternIndex = 0;
- }
-
- public void onGuiClosed ()
- {
- super.onGuiClosed();
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer (int par1, int par2)
- {
- fontRenderer.drawString(StatCollector.translateToLocal("crafters.PatternShaper"), 50, 6, 0x404040);
- fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, (ySize - 96) + 2, 0x404040);
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/patternshaper.png");
-
- protected void drawGuiContainerBackgroundLayer (float par1, int par2, int par3)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(background);
- int cornerX = (this.width - this.xSize) / 2;
- int cornerY = (this.height - this.ySize) / 2;
- this.drawTexturedModalRect(cornerX, cornerY, 0, 0, this.xSize, this.ySize);
- if (!logic.isStackInSlot(0))
- {
- this.drawTexturedModalRect(cornerX + 47, cornerY + 34, 176, 0, 18, 18);
- }
- }
-
- public void initGui ()
- {
- super.initGui();
- int cornerX = (this.width - this.xSize) / 2;
- int cornerY = (this.height - this.ySize) / 2;
-
- this.buttonList.clear();
- /*ToolGuiElement repair = TConstruct.toolButtons.get(0);
- GuiButtonTool repairButton = new GuiButtonTool(0, cornerX - 110, cornerY, repair.buttonIconX, repair.buttonIconY, repair.texture); // Repair
- repairButton.enabled = false;
- this.buttonList.add(repairButton);*/
- this.buttonList.add(new GuiButton(0, cornerX - 120, cornerY, 120, 20, (StatCollector.translateToLocal("gui.stenciltable1"))));
- this.buttonList.add(new GuiButton(1, cornerX - 120, cornerY + 20, 120, 20, (StatCollector.translateToLocal("gui.stenciltable2"))));
-
- //for (int iter = 0; iter < TConstructContent.patternOutputs.length; iter++)
- //{
-
- /*ToolGuiElement element = TConstruct.toolButtons.get(iter);
- GuiButtonTool button = new GuiButtonTool(iter, cornerX - 110 + 22 * (iter % 5), cornerY + 22 * (iter / 5), element.buttonIconX, element.buttonIconY, element.texture); // Repair
- this.buttonList.add(button);*/
- //}
- }
-
- protected void actionPerformed (GuiButton button)
- {
- ItemStack pattern = logic.getStackInSlot(0);
- if (pattern != null && pattern.getItem() == TContent.blankPattern)
- {
- int meta = pattern.getItemDamage();
- if (meta == 0)
- {
- if (button.id == 0)
- {
- patternIndex++;
- if (patternIndex == 21)
- patternIndex++;
- if (patternIndex >= TContent.patternOutputs.length - 1)
- patternIndex = 0;
- }
- else if (button.id == 1)
- {
- patternIndex--;
- if (patternIndex < 0)
- patternIndex = TContent.patternOutputs.length - 2;
- if (patternIndex == 21)
- patternIndex--;
- }
- ItemStack stack = new ItemStack(TContent.woodPattern, 1, patternIndex + 1);
- logic.setInventorySlotContents(1, stack);
- updateServer(stack);
- }
- /*else if (meta == 1 || meta == 2)
- {
- ItemStack stack = new ItemStack(TContent.metalPattern, 1, 0);
- logic.setInventorySlotContents(1, stack);
- updateServer(stack);
- }*/
- }
- }
-
- void updateServer (ItemStack stack)
- {
- ByteArrayOutputStream bos = new ByteArrayOutputStream(8);
- DataOutputStream outputStream = new DataOutputStream(bos);
- try
- {
- outputStream.writeByte(2);
- outputStream.writeInt(logic.worldObj.provider.dimensionId);
- outputStream.writeInt(logic.xCoord);
- outputStream.writeInt(logic.yCoord);
- outputStream.writeInt(logic.zCoord);
- outputStream.writeShort(stack.itemID);
- outputStream.writeShort(stack.getItemDamage());
- }
- catch (Exception ex)
- {
- ex.printStackTrace();
- }
-
- Packet250CustomPayload packet = new Packet250CustomPayload();
- packet.channel = "TConstruct";
- packet.data = bos.toByteArray();
- packet.length = bos.size();
-
- PacketDispatcher.sendPacketToServer(packet);
- }
-}
diff --git a/src/main/java/tconstruct/client/gui/ToolForgeGui.java b/src/main/java/tconstruct/client/gui/ToolForgeGui.java
deleted file mode 100644
index cf5fc74e..00000000
--- a/src/main/java/tconstruct/client/gui/ToolForgeGui.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package tconstruct.client.gui;
-
-import tconstruct.blocks.logic.ToolForgeLogic;
-import tconstruct.library.client.TConstructClientRegistry;
-import tconstruct.library.client.ToolGuiElement;
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.world.World;
-import net.minecraft.util.StatCollector;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class ToolForgeGui extends ToolStationGui
-{
- int selectedButton;
-
- public ToolForgeGui(InventoryPlayer inventoryplayer, ToolForgeLogic stationlogic, World world, int x, int y, int z)
- {
- super(inventoryplayer, stationlogic, world, x, y, z);
- }
-
- protected void mouseClicked (int mouseX, int mouseY, int mouseButton)
- {
- super.mouseClicked(mouseX, mouseY, mouseButton);
- if (mouseButton == 0)
- {
- int gLeft = this.guiLeft + 68;
- int gTop = this.guiTop + 6;
- int gWidth = 102;
- int gHeight = 12;
- active = mouseX > gLeft && mouseX < gLeft + gWidth && mouseY > gTop && mouseY < gTop + gHeight;
- }
- }
-
- public void initGui ()
- {
- super.initGui();
- int cornerX = (this.width - this.xSize) / 2;
- int cornerY = (this.height - this.ySize) / 2;
-
- this.buttonList.clear();
- ToolGuiElement repair = TConstructClientRegistry.toolButtons.get(0);
- GuiButtonTool repairButton = new GuiButtonTool(0, cornerX - 110, cornerY, repair.buttonIconX, repair.buttonIconY, repair.domain, repair.texture, repair); // Repair
- repairButton.enabled = false;
- this.buttonList.add(repairButton);
- int offset = TConstructClientRegistry.tierTwoButtons.size();
-
- for (int iter = 0; iter < TConstructClientRegistry.tierTwoButtons.size(); iter++)
- {
- ToolGuiElement element = TConstructClientRegistry.tierTwoButtons.get(iter);
- GuiButtonTool button = new GuiButtonTool(iter + 1, cornerX - 110 + 22 * ((iter + 1) % 5), cornerY + 22 * ((iter + 1) / 5), element.buttonIconX, element.buttonIconY, repair.domain,
- element.texture, element);
- this.buttonList.add(button);
- }
-
- for (int iter = 1; iter < TConstructClientRegistry.toolButtons.size(); iter++)
- {
- ToolGuiElement element = TConstructClientRegistry.toolButtons.get(iter);
- GuiButtonTool button = new GuiButtonTool(iter + offset, cornerX - 110 + 22 * ((iter + offset) % 5), cornerY + 22 * ((iter + offset) / 5), element.buttonIconX, element.buttonIconY,
- repair.domain, element.texture, element);
- this.buttonList.add(button);
- }
- }
-
- protected void actionPerformed (GuiButton button)
- {
- GuiButtonTool b = (GuiButtonTool) button;
- ((GuiButton) this.buttonList.get(selectedButton)).enabled = true;
- selectedButton = button.id;
- button.enabled = false;
-
- setSlotType(b.element.slotType);
- iconX = b.element.iconsX;
- iconY = b.element.iconsY;
- title = "\u00A7n" + b.element.title;
- body = b.element.body;
- }
-
- @Override
- void resetGui ()
- {
- this.text.setText("");
- selectedButton = 0;
- setSlotType(0);
- iconX = new int[] { 0, 1, 2, 13 };
- iconY = new int[] { 13, 13, 13, 13 };
- title = "\u00A7n"+(StatCollector.translateToLocal("gui.toolforge1"));
- body = (StatCollector.translateToLocal("gui.toolforge2"));
- }
-
- void setSlotType (int type)
- {
- switch (type)
- {
- case 0:
- slotX = new int[] { 56, 38, 38, 14 }; // Repair
- slotY = new int[] { 37, 28, 46, 37 };
- break;
- case 1:
- slotX = new int[] { 56, 56, 56, 14 }; // Three parts
- slotY = new int[] { 19, 55, 37, 37 };
- break;
- case 2:
- slotX = new int[] { 56, 56, 14, 14 }; // Two parts
- slotY = new int[] { 28, 46, 28, 46 };
- break;
- case 3:
- slotX = new int[] { 38, 47, 56, 14 }; // Double head
- slotY = new int[] { 28, 46, 28, 37 };
- break;
- case 4:
- slotX = new int[] { 47, 38, 56, 47 }; // Four parts
- slotY = new int[] { 19, 37, 37, 55 };
- break;
- case 5:
- slotX = new int[] { 38, 47, 56, 47 }; // Four parts, double head
- slotY = new int[] { 19, 55, 19, 37 };
- break;
- case 6:
- slotX = new int[] { 38, 38, 20, 56 }; // Double head
- slotY = new int[] { 28, 46, 28, 28 };
- break;
- case 7:
- slotX = new int[] { 56, 56, 56, 14 }; // Three parts reverse
- slotY = new int[] { 19, 37, 55, 37 };
- break;
- }
- toolSlots.resetSlots(slotX, slotY);
- }
-}
diff --git a/src/main/java/tconstruct/client/gui/ToolStationGui.java b/src/main/java/tconstruct/client/gui/ToolStationGui.java
deleted file mode 100644
index 420b9eb6..00000000
--- a/src/main/java/tconstruct/client/gui/ToolStationGui.java
+++ /dev/null
@@ -1,516 +0,0 @@
-package tconstruct.client.gui;
-
-import java.io.ByteArrayOutputStream;
-import java.io.DataOutputStream;
-import java.math.RoundingMode;
-import java.text.DecimalFormat;
-import java.util.Arrays;
-import java.util.List;
-
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.client.gui.GuiTextField;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.packet.Packet250CustomPayload;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.World;
-
-import org.lwjgl.input.Keyboard;
-import org.lwjgl.opengl.GL11;
-
-import tconstruct.blocks.logic.ToolStationLogic;
-import tconstruct.inventory.ActiveContainer;
-import tconstruct.inventory.ToolStationContainer;
-import tconstruct.library.client.TConstructClientRegistry;
-import tconstruct.library.client.ToolGuiElement;
-import tconstruct.library.tools.ToolCore;
-
-import cpw.mods.fml.common.network.PacketDispatcher;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class ToolStationGui extends NewContainerGui
-{
- public ToolStationLogic logic;
- public ToolStationContainer toolSlots;
- public GuiTextField text;
- public String toolName;
- public int guiType;
- public int[] slotX, slotY, iconX, iconY;
- public boolean active;
- public String title, body = "";
-
- public ToolStationGui(InventoryPlayer inventoryplayer, ToolStationLogic stationlogic, World world, int x, int y, int z)
- {
- super((ActiveContainer) stationlogic.getGuiContainer(inventoryplayer, world, x, y, z));
- this.logic = stationlogic;
- toolSlots = (ToolStationContainer) container;
- text = new GuiTextField(this.fontRenderer, this.xSize / 2 - 5, 8, 30, 12);
- this.text.setMaxStringLength(40);
- this.text.setEnableBackgroundDrawing(false);
- this.text.setVisible(true);
- this.text.setCanLoseFocus(false);
- this.text.setFocused(true);
- this.text.setTextColor(0xffffff);
- toolName = "";
- resetGui();
- Keyboard.enableRepeatEvents(true);
- }
-
- protected void mouseClicked (int mouseX, int mouseY, int mouseButton)
- {
- super.mouseClicked(mouseX, mouseY, mouseButton);
- if (mouseButton == 0)
- {
- int gLeft = this.guiLeft + 68;
- int gTop = this.guiTop + 6;
- int gWidth = 102;
- int gHeight = 12;
- active = mouseX > gLeft && mouseX < gLeft + gWidth && mouseY > gTop && mouseY < gTop + gHeight;
- }
- }
-
- void resetGui ()
- {
- this.text.setText("");
- guiType = 0;
- setSlotType(0);
- iconX = new int[] { 0, 1, 2 };
- iconY = new int[] { 13, 13, 13 };
- title = "\u00A7n" + (StatCollector.translateToLocal("gui.toolforge1"));
- body = (StatCollector.translateToLocal("gui.toolforge2"));
- }
-
- public void initGui ()
- {
- super.initGui();
- int cornerX = (this.width - this.xSize) / 2;
- int cornerY = (this.height - this.ySize) / 2;
-
- this.buttonList.clear();
- ToolGuiElement repair = TConstructClientRegistry.toolButtons.get(0);
- GuiButtonTool repairButton = new GuiButtonTool(0, cornerX - 110, cornerY, repair.buttonIconX, repair.buttonIconY, repair.domain, repair.texture, repair); // Repair
- repairButton.enabled = false;
- this.buttonList.add(repairButton);
-
- for (int iter = 1; iter < TConstructClientRegistry.toolButtons.size(); iter++)
- {
- ToolGuiElement element = TConstructClientRegistry.toolButtons.get(iter);
- GuiButtonTool button = new GuiButtonTool(iter, cornerX - 110 + 22 * (iter % 5), cornerY + 22 * (iter / 5), element.buttonIconX, element.buttonIconY, repair.domain, element.texture,
- element);
- this.buttonList.add(button);
- }
- }
-
- protected void actionPerformed (GuiButton button)
- {
- ((GuiButton) this.buttonList.get(guiType)).enabled = true;
- guiType = button.id;
- button.enabled = false;
-
- ToolGuiElement element = TConstructClientRegistry.toolButtons.get(guiType);
- setSlotType(element.slotType);
- iconX = element.iconsX;
- iconY = element.iconsY;
- title = "\u00A7n" + element.title;
- body = element.body;
- }
-
- void setSlotType (int type)
- {
- switch (type)
- {
- case 0:
- slotX = new int[] { 56, 38, 38 }; // Repair
- slotY = new int[] { 37, 28, 46 };
- break;
- case 1:
- slotX = new int[] { 56, 56, 56 }; // Three parts
- slotY = new int[] { 19, 55, 37 };
- break;
- case 2:
- slotX = new int[] { 56, 56, 14 }; // Two parts
- slotY = new int[] { 28, 46, 37 };
- break;
- case 3:
- slotX = new int[] { 38, 47, 56 }; // Double head
- slotY = new int[] { 28, 46, 28 };
- break;
- case 7:
- slotX = new int[] { 56, 56, 56 }; // Three parts reverse
- slotY = new int[] { 19, 37, 55 };
- break;
- }
- toolSlots.resetSlots(slotX, slotY);
- }
-
- public void updateScreen ()
- {
- super.updateScreen();
- this.text.updateCursorCounter();
- }
-
- /**
- * Draw the foreground layer for the GuiContainer (everything in front of the items)
- */
- protected void drawGuiContainerForegroundLayer (int par1, int par2)
- {
- this.fontRenderer.drawString(StatCollector.translateToLocal(logic.getInvName()), 6, 8, 0x000000);
- this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 0x000000);
- this.fontRenderer.drawString(toolName + "_", this.xSize / 2 - 18, 8, 0xffffff);
-
- if (logic.isStackInSlot(0))
- drawToolStats();
- else
- drawToolInformation();
-
- //this.fontRenderer.drawString("Namebox active: "+active, this.xSize / 2 - 18, -10, 0xffffff);
- }
-
- void drawToolStats ()
- {
- ItemStack stack = logic.getStackInSlot(0);
- if (stack.getItem() instanceof ToolCore)
- {
- ToolCore tool = (ToolCore) stack.getItem();
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- this.drawCenteredString(fontRenderer, "\u00A7n" + tool.getToolName(), xSize + 63, 8, 0xffffff);
-
- drawModularToolStats(stack, tool, tags);
- }
- }
-
- void drawModularToolStats (ItemStack stack, ToolCore tool, NBTTagCompound tags)
- {
- List categories = Arrays.asList(tool.toolCategories());
- final int durability = tags.getInteger("Damage");
- final int maxDur = tags.getInteger("TotalDurability");
- int availableDurability = maxDur - durability;
-
- //Durability
- int base = 24;
- int offset = 0;
- if (maxDur > 0)
- {
- if (maxDur >= 10000)
- {
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation1"), xSize + 8, base + offset * 11, 0xffffff);
- offset++;
- fontRenderer.drawString("- " + availableDurability + "/" + maxDur, xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- }
- else
- {
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation2") + availableDurability + "/" + maxDur, xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- }
- }
-
- final float stonebound = tags.getFloat("Shoddy");
- //Attack
- if (categories.contains("weapon"))
- {
- int attack = (int) (tags.getInteger("Attack"));
- float stoneboundDamage = (float) Math.log(durability / 72f + 1) * -2 * stonebound;
- attack += stoneboundDamage;
- attack *= tool.getDamageModifier();
- if (attack < 1)
- attack = 1;
-
- String heart = attack == 2 ? StatCollector.translateToLocal("gui.partcrafter8") : StatCollector.translateToLocal("gui.partcrafter9");
- if (attack % 2 == 0)
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation3") + attack / 2 + heart, xSize + 8, base + offset * 10, 0xffffff);
- else
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation3") + attack / 2f + heart, xSize + 8, base + offset * 10, 0xffffff);
- offset++;
-
- if (stoneboundDamage != 0)
- {
- heart = stoneboundDamage == 2 ? StatCollector.translateToLocal("gui.partcrafter8") : StatCollector.translateToLocal("gui.partcrafter9");
- String bloss = stoneboundDamage > 0 ? StatCollector.translateToLocal("gui.toolstation4") : StatCollector.translateToLocal("gui.toolstation5");
- this.fontRenderer.drawString(bloss + (int) stoneboundDamage / 2 + heart, xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- }
- offset++;
- }
-
- if (categories.contains("bow"))
- {
- DecimalFormat df = new DecimalFormat("##.##");
- df.setRoundingMode(RoundingMode.DOWN);
- int drawSpeed = tags.getInteger("DrawSpeed");
- float flightSpeed = tags.getFloat("FlightSpeed");
- float trueDraw = drawSpeed / 20f * flightSpeed;
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation6") + df.format(trueDraw) + "s", xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation7") + df.format(flightSpeed) + "x", xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- offset++;
- }
-
- if (categories.contains("ammo"))
- {
- DecimalFormat df = new DecimalFormat("##.##");
- df.setRoundingMode(RoundingMode.DOWN);
- int attack = (int) (tags.getInteger("Attack"));
- float mass = tags.getFloat("Mass");
- float shatter = tags.getFloat("BreakChance");
- float accuracy = tags.getFloat("Accuracy");
-
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation10"), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- String heart = attack == 2 ? StatCollector.translateToLocal("gui.partcrafter8") : StatCollector.translateToLocal("gui.partcrafter9");
- if (attack % 2 == 0)
- this.fontRenderer.drawString("- " + attack / 2 + heart, xSize + 8, base + offset * 10, 0xffffff);
- else
- this.fontRenderer.drawString("- " + attack / 2f + heart, xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- int minAttack = attack;
- int maxAttack = attack * 2;
- heart = StatCollector.translateToLocal("gui.partcrafter9");
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation11"), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- this.fontRenderer.drawString(df.format(minAttack / 2f) + "-" + df.format(maxAttack / 2f) + heart, xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- offset++;
-
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation8") + df.format(mass), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- this.fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation9") + df.format(accuracy - 4) + "%", xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- /*this.fontRenderer.drawString("Chance to break: " + df.format(shatter)+"%", xSize + 8, base + offset * 10, 0xffffff);
- offset++;*/
- offset++;
- }
-
- //Mining
- if (categories.contains("dualharvest"))
- {
- float mineSpeed = tags.getInteger("MiningSpeed") / 100f;
- float mineSpeed2 = tags.getInteger("MiningSpeed2") / 100f;
- float stoneboundSpeed = (float) Math.log(durability / 90f + 1) * 2 * stonebound;
- DecimalFormat df = new DecimalFormat("##.##");
- df.setRoundingMode(RoundingMode.DOWN);
- float trueSpeed = mineSpeed + stoneboundSpeed;
- float trueSpeed2 = mineSpeed + stoneboundSpeed;
-
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation12"), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- fontRenderer.drawString("- " + df.format(trueSpeed) + ", " + df.format(trueSpeed2), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- if (stoneboundSpeed != 0)
- {
- String bloss = stoneboundSpeed > 0 ? StatCollector.translateToLocal("gui.toolstation4") : StatCollector.translateToLocal("gui.toolstation5");
- fontRenderer.drawString(bloss + df.format(stoneboundSpeed), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- }
- offset++;
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation13"), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- fontRenderer
- .drawString("- " + getHarvestLevelName(tags.getInteger("HarvestLevel")) + ", " + getHarvestLevelName(tags.getInteger("HarvestLevel2")), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- offset++;
- }
- else if (categories.contains("harvest"))
- {
- float mineSpeed = tags.getInteger("MiningSpeed");
- int heads = 1;
-
- if (tags.hasKey("MiningSpeed2"))
- {
- mineSpeed += tags.getInteger("MiningSpeed2");
- heads++;
- }
-
- if (tags.hasKey("MiningSpeedHandle"))
- {
- mineSpeed += tags.getInteger("MiningSpeedHandle");
- heads++;
- }
-
- if (tags.hasKey("MiningSpeedExtra"))
- {
- mineSpeed += tags.getInteger("MiningSpeedExtra");
- heads++;
- }
-
- float trueSpeed = mineSpeed / (heads * 100f);
-
- float stoneboundSpeed = (float) Math.log(durability / 90f + 1) * 2 * stonebound;
- DecimalFormat df = new DecimalFormat("##.##");
- df.setRoundingMode(RoundingMode.DOWN);
- trueSpeed += stoneboundSpeed;
- if (trueSpeed < 0)
- trueSpeed = 0;
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation14") + df.format(trueSpeed), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- if (stoneboundSpeed != 0)
- {
- String bloss = stoneboundSpeed > 0 ? StatCollector.translateToLocal("gui.toolstation4") : StatCollector.translateToLocal("gui.toolstation5");
- fontRenderer.drawString(bloss + df.format(stoneboundSpeed), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- }
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation15") + getHarvestLevelName(tags.getInteger("HarvestLevel")), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- offset++;
- }
- else if (categories.contains("utility"))
- {
- float mineSpeed = tags.getInteger("MiningSpeed");
- float trueSpeed = mineSpeed / (100f);
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation16") + trueSpeed, xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- offset++;
- }
-
- int modifiers = tags.getInteger("Modifiers");
- if (modifiers > 0)
- {
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation18") + tags.getInteger("Modifiers"), xSize + 8, base + offset * 10, 0xffffff);
- offset++;
- }
- if (tags.hasKey("Tooltip1"))
- {
- fontRenderer.drawString(StatCollector.translateToLocal("gui.toolstation17"), xSize + 8, base + offset * 10, 0xffffff);
- }
-
- boolean displayToolTips = true;
- int tipNum = 0;
- while (displayToolTips)
- {
- tipNum++;
- String tooltip = "ModifierTip" + tipNum;
- if (tags.hasKey(tooltip))
- {
- String tipName = tags.getString(tooltip);
- fontRenderer.drawString("- " + tipName, xSize + 8, base + (offset + tipNum) * 10, 0xffffff);
- }
- else
- displayToolTips = false;
- }
- }
-
- void drawToolInformation ()
- {
- this.drawCenteredString(fontRenderer, title, xSize + 63, 8, 0xffffff);
- fontRenderer.drawSplitString(body, xSize + 8, 24, 115, 0xffffff);
- }
-
- protected String getHarvestLevelName (int num)
- {
- switch (num)
- {
- case 0:
- return (StatCollector.translateToLocal("gui.partcrafter.mining1"));
- case 1:
- return (StatCollector.translateToLocal("gui.partcrafter.mining2"));
- case 2:
- return (StatCollector.translateToLocal("gui.partcrafter.mining3"));
- case 3:
- return (StatCollector.translateToLocal("gui.partcrafter.mining4")); //Mithril
- case 4:
- return (StatCollector.translateToLocal("gui.partcrafter.mining5"));
- case 5:
- return (StatCollector.translateToLocal("gui.partcrafter.mining6"));
- default:
- return String.valueOf(num);
- }
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/toolstation.png");
- private static final ResourceLocation icons = new ResourceLocation("tinker", "textures/gui/icons.png");
- private static final ResourceLocation description = new ResourceLocation("tinker", "textures/gui/description.png");
-
- /**
- * Draw the background layer for the GuiContainer (everything behind the items)
- */
- protected void drawGuiContainerBackgroundLayer (float par1, int par2, int par3)
- {
- // Draw the background
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(background);
- int cornerX = (this.width - this.xSize) / 2;
- int cornerY = (this.height - this.ySize) / 2;
- this.drawTexturedModalRect(cornerX, cornerY, 0, 0, this.xSize, this.ySize);
-
- if (active)
- {
- this.drawTexturedModalRect(cornerX + 62, cornerY, 0, this.ySize, 112, 22);
- }
-
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(icons);
- // Draw the slots
-
- for (int i = 0; i < slotX.length; i++)
- {
- this.drawTexturedModalRect(cornerX + slotX[i] - 4, cornerY + slotY[i] - 4, 140, 212, 28, 28);
- if (!logic.isStackInSlot(i + 1))
- {
- this.drawTexturedModalRect(cornerX + slotX[i], cornerY + slotY[i], 18 * iconX[i], 18 * iconY[i], 18, 18);
- }
- }
-
- // Draw description
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(description);
- cornerX = (this.width + this.xSize) / 2;
- cornerY = (this.height - this.ySize) / 2;
- this.drawTexturedModalRect(cornerX, cornerY, 0, 0, 126, this.ySize + 30);
-
- }
-
- protected void keyTyped (char par1, int keyCode)
- {
- if (keyCode == 1 || (!active && keyCode == this.mc.gameSettings.keyBindInventory.keyCode))
- {
- logic.setToolname("");
- updateServer("");
- Keyboard.enableRepeatEvents(false);
- this.mc.thePlayer.closeScreen();
- }
- else if (active)
- {
- text.textboxKeyTyped(par1, keyCode);
- toolName = text.getText().trim();
- logic.setToolname(toolName);
- updateServer(toolName);
- }
- }
-
- void updateServer (String name)
- {
- ByteArrayOutputStream bos = new ByteArrayOutputStream(8);
- DataOutputStream outputStream = new DataOutputStream(bos);
- try
- {
- outputStream.writeByte(1);
- outputStream.writeInt(logic.worldObj.provider.dimensionId);
- outputStream.writeInt(logic.xCoord);
- outputStream.writeInt(logic.yCoord);
- outputStream.writeInt(logic.zCoord);
- outputStream.writeUTF(name);
- }
- catch (Exception ex)
- {
- ex.printStackTrace();
- }
-
- Packet250CustomPayload packet = new Packet250CustomPayload();
- packet.channel = "TConstruct";
- packet.data = bos.toByteArray();
- packet.length = bos.size();
-
- PacketDispatcher.sendPacketToServer(packet);
- }
-
- /*protected void mouseClicked(int par1, int par2, int par3)
- {
- super.mouseClicked(par1, par2, par3);
- text.mouseClicked(par1, par2, par3);
- }*/
-}
diff --git a/src/main/java/tconstruct/client/gui/TurnPageButton.java b/src/main/java/tconstruct/client/gui/TurnPageButton.java
deleted file mode 100644
index 13571d40..00000000
--- a/src/main/java/tconstruct/client/gui/TurnPageButton.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package tconstruct.client.gui;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.util.ResourceLocation;
-
-import org.lwjgl.opengl.GL11;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
-public class TurnPageButton extends GuiButton
-{
- /**
- * True for pointing right (next page), false for pointing left (previous page).
- */
- private final boolean nextPage;
-
- public TurnPageButton(int par1, int par2, int par3, boolean par4)
- {
- super(par1, par2, par3, 23, 13, "");
- this.nextPage = par4;
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/bookleft.png");
-
- /**
- * Draws this button to the screen.
- */
- public void drawButton (Minecraft par1Minecraft, int par2, int par3)
- {
- if (this.drawButton)
- {
- boolean var4 = par2 >= this.xPosition && par3 >= this.yPosition && par2 < this.xPosition + this.width && par3 < this.yPosition + this.height;
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- par1Minecraft.getTextureManager().bindTexture(background);
- int var5 = 0;
- int var6 = 192;
-
- if (var4)
- {
- var5 += 23;
- }
-
- if (!this.nextPage)
- {
- var6 += 13;
- }
-
- this.drawTexturedModalRect(this.xPosition, this.yPosition, var5, var6, 23, 13);
- }
- }
-}
diff --git a/src/main/java/tconstruct/client/pages/BlankPage.java b/src/main/java/tconstruct/client/pages/BlankPage.java
deleted file mode 100644
index 3665dc1d..00000000
--- a/src/main/java/tconstruct/client/pages/BlankPage.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package tconstruct.client.pages;
-
-import org.w3c.dom.Element;
-
-public class BlankPage extends BookPage
-{
-
- @Override
- public void readPageFromXML (Element element)
- {
- }
-
- @Override
- public void renderContentLayer (int localwidth, int localheight)
- {
- }
-
-}
diff --git a/src/main/java/tconstruct/client/pages/BlockCastPage.java b/src/main/java/tconstruct/client/pages/BlockCastPage.java
deleted file mode 100644
index 55439f1c..00000000
--- a/src/main/java/tconstruct/client/pages/BlockCastPage.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package tconstruct.client.pages;
-
-import net.minecraft.client.renderer.RenderHelper;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-import tconstruct.library.client.TConstructClientRegistry;
-
-public class BlockCastPage extends BookPage
-{
- String text;
- ItemStack[] icons;
-
- @Override
- public void readPageFromXML (Element element)
- {
- NodeList nodes = element.getElementsByTagName("text");
- if (nodes != null)
- text = nodes.item(0).getTextContent();
-
- nodes = element.getElementsByTagName("recipe");
- if (nodes != null)
- icons = TConstructClientRegistry.getRecipeIcons(nodes.item(0).getTextContent());
- }
-
- @Override
- public void renderContentLayer (int localWidth, int localHeight)
- {
- if (text != null)
- manual.fonts.drawString("\u00a7n" + text, localWidth + 70, localHeight + 4, 0);
-
- GL11.glScalef(2f, 2f, 2f);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- RenderHelper.enableGUIStandardItemLighting();
- manual.renderitem.zLevel = 100;
-
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[0], (localWidth + 138) / 2, (localHeight + 110) / 2);
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[1], (localWidth + 70) / 2, (localHeight + 74) / 2);
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[2], (localWidth + 70) / 2, (localHeight + 110) / 2);
-
- if (icons[0].stackSize > 1)
- manual.renderitem.renderItemOverlayIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[0], (localWidth + 106) / 2, (localHeight + 74) / 2, String.valueOf(icons[0].stackSize));
-
- manual.renderitem.zLevel = 0;
- GL11.glScalef(0.5F, 0.5F, 0.5F);
- RenderHelper.disableStandardItemLighting();
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- manual.fonts.drawString("Ingredients:", localWidth + 120, localHeight + 32, 0);
- manual.fonts.drawString("- " + icons[1].getDisplayName(), localWidth + 120, localHeight + 42, 0);
- if (icons[2] != null)
- manual.fonts.drawString("- " + icons[2].getDisplayName(), localWidth + 120, localHeight + 50, 0);
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/booksmeltery.png");
-
- public void renderBackgroundLayer (int localWidth, int localHeight)
- {
- manual.getMC().getTextureManager().bindTexture(background);
- manual.drawTexturedModalRect(localWidth, localHeight + 32, 0, 0, 174, 115);
- manual.drawTexturedModalRect(localWidth + 62, localHeight + 105, 2, 118, 45, 45);
- }
-}
diff --git a/src/main/java/tconstruct/client/pages/BookPage.java b/src/main/java/tconstruct/client/pages/BookPage.java
deleted file mode 100644
index b7065aba..00000000
--- a/src/main/java/tconstruct/client/pages/BookPage.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package tconstruct.client.pages;
-
-import org.w3c.dom.Element;
-
-import tconstruct.client.gui.GuiManual;
-
-public abstract class BookPage
-{
- protected GuiManual manual;
- protected int side;
-
- public void init (GuiManual manual, int side)
- {
- this.manual = manual;
- this.side = side;
- }
-
- public abstract void readPageFromXML (Element element);
-
- public void renderBackgroundLayer (int localwidth, int localheight)
- {
- }
-
- public abstract void renderContentLayer (int localwidth, int localheight);
-}
diff --git a/src/main/java/tconstruct/client/pages/ContentsTablePage.java b/src/main/java/tconstruct/client/pages/ContentsTablePage.java
deleted file mode 100644
index 7a1846f2..00000000
--- a/src/main/java/tconstruct/client/pages/ContentsTablePage.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package tconstruct.client.pages;
-
-import net.minecraft.client.renderer.RenderHelper;
-import net.minecraft.item.ItemStack;
-
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-import tconstruct.library.client.TConstructClientRegistry;
-
-public class ContentsTablePage extends BookPage
-{
- String text;
- String[] iconText;
- ItemStack[] icons;
-
- @Override
- public void readPageFromXML (Element element)
- {
- NodeList nodes = element.getElementsByTagName("text");
- if (nodes != null)
- text = nodes.item(0).getTextContent();
-
- nodes = element.getElementsByTagName("link");
- iconText = new String[nodes.getLength()];
- icons = new ItemStack[nodes.getLength()];
- for (int i = 0; i < nodes.getLength(); i++)
- {
- NodeList children = nodes.item(i).getChildNodes();
- iconText[i] = children.item(1).getTextContent();
- icons[i] = TConstructClientRegistry.getManualIcon(children.item(3).getTextContent());
- }
- }
-
- @Override
- public void renderContentLayer (int localWidth, int localHeight)
- {
- if (text != null)
- manual.fonts.drawString("\u00a7n" + text, localWidth + 25 + manual.fonts.getStringWidth(text) / 2, localHeight + 4, 0);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- RenderHelper.enableGUIStandardItemLighting();
- manual.renderitem.zLevel = 100;
- for (int i = 0; i < icons.length; i++)
- {
- manual.renderitem.renderItemIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[i], localWidth + 16, localHeight + 18 * i + 18);
- int yOffset = 18;
- if (iconText[i].length() > 40)
- yOffset = 13;
- manual.fonts.drawString(iconText[i], localWidth + 38, localHeight + 18 * i + yOffset, 0);
- }
- manual.renderitem.zLevel = 0;
- RenderHelper.disableStandardItemLighting();
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- }
-}
diff --git a/src/main/java/tconstruct/client/pages/CraftingPage.java b/src/main/java/tconstruct/client/pages/CraftingPage.java
deleted file mode 100644
index ea1fdb6d..00000000
--- a/src/main/java/tconstruct/client/pages/CraftingPage.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package tconstruct.client.pages;
-
-import net.minecraft.client.renderer.RenderHelper;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-import tconstruct.library.client.TConstructClientRegistry;
-
-public class CraftingPage extends BookPage
-{
- String text;
- String size;
- ItemStack[] icons;
-
- @Override
- public void readPageFromXML (Element element)
- {
- NodeList nodes = element.getElementsByTagName("text");
- if (nodes != null)
- text = nodes.item(0).getTextContent();
-
- nodes = element.getElementsByTagName("name");
- if (nodes != null)
- icons = TConstructClientRegistry.getRecipeIcons(nodes.item(0).getTextContent());
-
- nodes = element.getElementsByTagName("size");
- if (nodes != null)
- size = nodes.item(0).getTextContent();
- }
-
- @Override
- public void renderContentLayer (int localWidth, int localHeight)
- {
- if (size.equals("two"))
- drawCraftingPage(text, icons, 2, localWidth, localHeight + 12);
- if (size.equals("three"))
- drawCraftingPage(text, icons, 3, localWidth + (side != 1 ? 6 : 0), localHeight + 12);
- }
-
- public void drawCraftingPage (String info, ItemStack[] icons, int recipeSize, int localWidth, int localHeight)
- {
- if (info != null)
- manual.fonts.drawString("\u00a7n" + info, localWidth + 50, localHeight + 4, 0);
-
- GL11.glScalef(2f, 2f, 2f);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- RenderHelper.enableGUIStandardItemLighting();
- manual.renderitem.zLevel = 100;
-
- if (recipeSize == 2)
- {
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[0], (localWidth + 126) / 2, (localHeight + 68) / 2);
- if (icons[0].stackSize > 1)
- manual.renderitem.renderItemOverlayIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[0], (localWidth + 126) / 2, (localHeight + 68) / 2, String.valueOf(icons[0].stackSize));
- for (int i = 0; i < icons.length - 1; i++)
- {
- if (icons[i + 1] != null)
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[i + 1], (localWidth + 14 + 36 * (i % 2)) / 2, (localHeight + 36 * (i / 2) + 52) / 2);
- }
- }
-
- if (recipeSize == 3)
- {
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[0], (localWidth + 138) / 2, (localHeight + 70) / 2);
- if (icons[0].stackSize > 1)
- manual.renderitem.renderItemOverlayIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[0], (localWidth + 126) / 2, (localHeight + 68) / 2, String.valueOf(icons[0].stackSize));
- for (int i = 0; i < icons.length - 1; i++)
- {
- if (icons[i + 1] != null)
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[i + 1], (localWidth - 2 + 36 * (i % 3)) / 2, (localHeight + 36 * (i / 3) + 34) / 2);
- }
- }
-
- manual.renderitem.zLevel = 0;
- GL11.glScalef(0.5F, 0.5F, 0.5F);
- RenderHelper.disableStandardItemLighting();
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- }
-
- public void renderBackgroundLayer (int localwidth, int localheight)
- {
- if (size.equals("two"))
- drawBackground(2, localwidth, localheight + 12);
-
- if (size.equals("three"))
- drawBackground(3, localwidth + (side != 1 ? 6 : 0), localheight + 12);
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/bookcrafting.png");
-
- public void drawBackground (int size, int localWidth, int localHeight)
- {
- manual.getMC().getTextureManager().bindTexture(background);
- if (size == 2)
- manual.drawTexturedModalRect(localWidth + 8, localHeight + 46, 0, 116, 154, 78);
- if (size == 3)
- manual.drawTexturedModalRect(localWidth - 8, localHeight + 28, 0, 0, 183, 114);
- }
-
-}
diff --git a/src/main/java/tconstruct/client/pages/FurnacePage.java b/src/main/java/tconstruct/client/pages/FurnacePage.java
deleted file mode 100644
index d32f7541..00000000
--- a/src/main/java/tconstruct/client/pages/FurnacePage.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package tconstruct.client.pages;
-
-import net.minecraft.client.renderer.RenderHelper;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-import tconstruct.library.client.TConstructClientRegistry;
-
-public class FurnacePage extends BookPage
-{
- String text;
- ItemStack[] icons;
-
- @Override
- public void readPageFromXML (Element element)
- {
- NodeList nodes = element.getElementsByTagName("text");
- if (nodes != null)
- text = nodes.item(0).getTextContent();
-
- nodes = element.getElementsByTagName("recipe");
- if (nodes != null)
- icons = TConstructClientRegistry.getRecipeIcons(nodes.item(0).getTextContent());
- }
-
- @Override
- public void renderContentLayer (int localWidth, int localHeight)
- {
- if (text != null)
- manual.fonts.drawString("\u00a7n" + text, localWidth + 50, localHeight + 4, 0);
-
- GL11.glScalef(2f, 2f, 2f);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- RenderHelper.enableGUIStandardItemLighting();
- manual.renderitem.zLevel = 100;
-
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, TConstructClientRegistry.getManualIcon("coal"), (localWidth + 38) / 2, (localHeight + 110) / 2);
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[0], (localWidth + 106) / 2, (localHeight + 74) / 2);
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[1], (localWidth + 38) / 2, (localHeight + 38) / 2);
-
- if (icons[0].stackSize > 1)
- manual.renderitem.renderItemOverlayIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[0], (localWidth + 106) / 2, (localHeight + 74) / 2, String.valueOf(icons[0].stackSize));
-
- manual.renderitem.zLevel = 0;
- GL11.glScalef(0.5F, 0.5F, 0.5F);
- RenderHelper.disableStandardItemLighting();
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/bookfurnace.png");
-
- public void renderBackgroundLayer (int localWidth, int localHeight)
- {
- manual.getMC().getTextureManager().bindTexture(background);
- manual.drawTexturedModalRect(localWidth + 32, localHeight + 32, 0, 0, 111, 114);
- }
-}
diff --git a/src/main/java/tconstruct/client/pages/MaterialPage.java b/src/main/java/tconstruct/client/pages/MaterialPage.java
deleted file mode 100644
index 397373f3..00000000
--- a/src/main/java/tconstruct/client/pages/MaterialPage.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package tconstruct.client.pages;
-
-import net.minecraft.client.renderer.RenderHelper;
-import net.minecraft.item.ItemStack;
-
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-import tconstruct.client.gui.PartCrafterGui;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.client.TConstructClientRegistry;
-import tconstruct.library.crafting.PatternBuilder;
-import tconstruct.library.tools.ToolMaterial;
-
-public class MaterialPage extends BookPage
-{
- String title;
- ItemStack[] icons;
- String iconText;
- ToolMaterial material;
-
- @Override
- public void readPageFromXML (Element element)
- {
- NodeList nodes = element.getElementsByTagName("title");
- if (nodes != null)
- title = nodes.item(0).getTextContent();
-
- icons = new ItemStack[4];
-
- nodes = element.getElementsByTagName("text");
- if (nodes != null)
- iconText = nodes.item(0).getTextContent();
-
- nodes = element.getElementsByTagName("icon");
- if (nodes != null)
- icons[0] = TConstructClientRegistry.getManualIcon(nodes.item(0).getTextContent());
-
- nodes = element.getElementsByTagName("toolmaterial");
- if (nodes != null && nodes.getLength() > 0)
- material = TConstructRegistry.getMaterial(nodes.item(0).getTextContent());
- else
- material = TConstructRegistry.getMaterial(title);
-
- nodes = element.getElementsByTagName("material").item(0).getChildNodes();
-
- icons[1] = TConstructClientRegistry.getManualIcon(nodes.item(1).getTextContent());
- icons[2] = PatternBuilder.instance.getShardFromSet(material.name());
- icons[3] = PatternBuilder.instance.getRodFromSet(material.name());
- }
-
- @Override
- public void renderContentLayer (int localWidth, int localHeight)
- {
- manual.fonts.drawString("\u00a7n" + title, localWidth + 70, localHeight + 4, 0);
- manual.fonts.drawSplitString(iconText, localWidth, localHeight + 16, 178, 0);
-
- manual.fonts.drawString("Material: ", localWidth + 108, localHeight + 40, 0);
- manual.fonts.drawString("Shard: ", localWidth + 108, localHeight + 72, 0);
- manual.fonts.drawString("Rod: ", localWidth + 108, localHeight + 104, 0);
-
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- RenderHelper.enableGUIStandardItemLighting();
- manual.renderitem.zLevel = 100;
- //renderitem.renderItemAndEffectIntoGUI(fonts, getMC().renderEngine, icons[0], localWidth + 50, localHeight + 0);
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[1], localWidth + 108, localHeight + 50);
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[2], localWidth + 108, localHeight + 82);
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[3], localWidth + 108, localHeight + 114);
- manual.renderitem.zLevel = 0;
- RenderHelper.disableStandardItemLighting();
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
-
- String icon = icons[1].getTooltip(manual.getMC().thePlayer, false).get((0)).toString();
- int iconOffset = icon.length() > 12 ? 0 : 3;
- manual.fonts.drawSplitString(icon, localWidth + 128, localHeight + 50 + iconOffset, 52, 0);
-
- if (icons[2] != null)
- {
- icon = icons[2].getTooltip(manual.getMC().thePlayer, false).get((0)).toString();
- iconOffset = icon.length() > 12 ? 0 : 3;
- manual.fonts.drawSplitString(icons[2].getTooltip(manual.getMC().thePlayer, false).get((0)).toString(), localWidth + 128, localHeight + 82 + iconOffset, 52, 0);
- }
- if (icons[3] != null)
- {
- icon = icons[3].getTooltip(manual.getMC().thePlayer, false).get((0)).toString();
- iconOffset = icon.length() > 12 ? 0 : 3;
- manual.fonts.drawSplitString(icons[3].getTooltip(manual.getMC().thePlayer, false).get((0)).toString(), localWidth + 128, localHeight + 114 + iconOffset, 52, 0);
- }
-
- manual.fonts.drawString("Durability: " + material.durability(), localWidth, localHeight + 40, 0);
- manual.fonts.drawString("Handle Modifier: " + material.handleDurability() + "x", localWidth, localHeight + 50, 0);
- manual.fonts.drawString("Full Tool Durability: " + (int) (material.durability() * material.handleDurability()), localWidth, localHeight + 60, 0);
-
- manual.fonts.drawString("Mining Speed: " + material.toolSpeed() / 100f, localWidth, localHeight + 80, 0);
- manual.fonts.drawString("Mining Level: " + material.harvestLevel() + " (" + PartCrafterGui.getHarvestLevelName(material.harvestLevel()) + ")", localWidth, localHeight + 90, 0);
- int attack = material.attack();
- String heart = attack == 2 ? " Heart" : " Hearts";
- if (attack % 2 == 0)
- manual.fonts.drawString("Base Attack: " + material.attack() / 2 + heart, localWidth, localHeight + 100, 0);
- else
- manual.fonts.drawString("Base Attack: " + material.attack() / 2f + heart, localWidth, localHeight + 100, 0);
-
- int offset = 0;
- String ability = material.ability();
- if (!ability.equals(""))
- {
- manual.fonts.drawString("Material Trait: " + material.ability(), localWidth, localHeight + 120 + 10 * offset, 0);
- offset++;
- if (ability.equals("Writable"))
- manual.fonts.drawString("+1 Modifiers", localWidth, localHeight + 120 + 10 * offset, 0);
- }
-
- if (material.reinforced() > 0)
- {
- manual.fonts.drawString("Material Trait: Reinforced", localWidth, localHeight + 120 + 10 * offset, 0);
- offset++;
- manual.fonts.drawString("Reinforced level: " + material.reinforced(), localWidth, localHeight + 120 + 10 * offset, 0);
- offset++;
- }
-
- if (material.shoddy() > 0)
- {
- manual.fonts.drawString("Stonebound level: " + material.shoddy(), localWidth, localHeight + 120 + 10 * offset, 0);
- offset++;
- }
- else if (material.shoddy() < 0)
- {
- manual.fonts.drawString("Splintering level: " + -material.shoddy(), localWidth, localHeight + 120 + 10 * offset, 0);
- offset++;
- }
- }
-}
diff --git a/src/main/java/tconstruct/client/pages/ModifierPage.java b/src/main/java/tconstruct/client/pages/ModifierPage.java
deleted file mode 100644
index f156be0b..00000000
--- a/src/main/java/tconstruct/client/pages/ModifierPage.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package tconstruct.client.pages;
-
-import net.minecraft.client.renderer.RenderHelper;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-import tconstruct.library.client.TConstructClientRegistry;
-
-public class ModifierPage extends BookPage
-{
- String type;
- ItemStack[] icons;
-
- @Override
- public void readPageFromXML (Element element)
- {
- NodeList nodes = element.getElementsByTagName("tooltype");
- if (nodes != null)
- type = nodes.item(0).getTextContent();
-
- nodes = element.getElementsByTagName("recipe");
- if (nodes != null)
- icons = TConstructClientRegistry.getRecipeIcons(nodes.item(0).getTextContent());
- }
-
- @Override
- public void renderContentLayer (int localWidth, int localHeight)
- {
- manual.fonts.drawString("\u00a7nTool Station", localWidth + 60, localHeight + 4, 0);
- GL11.glScalef(2f, 2f, 2f);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- RenderHelper.enableGUIStandardItemLighting();
-
- ItemStack toolstack = TConstructClientRegistry.getManualIcon("ironpick");
- if (type.equals("weapon"))
- toolstack = TConstructClientRegistry.getManualIcon("ironlongsword");
-
- manual.renderitem.zLevel = 100;
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, toolstack, (localWidth + 54) / 2, (localHeight + 54) / 2);
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[0], (localWidth + 130) / 2, (localHeight + 54) / 2);
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[1], (localWidth + 18) / 2, (localHeight + 36) / 2);
- if (icons[2] != null)
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[2], (localWidth + 18) / 2, (localHeight + 74) / 2);
- manual.renderitem.zLevel = 0;
-
- GL11.glScalef(0.5F, 0.5F, 0.5F);
- RenderHelper.disableStandardItemLighting();
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- }
-
- private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/bookmodify.png");
-
- public void renderBackgroundLayer (int localWidth, int localHeight)
- {
- manual.getMC().getTextureManager().bindTexture(background);
- manual.drawTexturedModalRect(localWidth + 12, localHeight + 32, 0, 0, 154, 78);
- }
-}
diff --git a/src/main/java/tconstruct/client/pages/PicturePage.java b/src/main/java/tconstruct/client/pages/PicturePage.java
deleted file mode 100644
index d4011434..00000000
--- a/src/main/java/tconstruct/client/pages/PicturePage.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package tconstruct.client.pages;
-
-import net.minecraft.util.ResourceLocation;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-public class PicturePage extends BookPage
-{
- String text;
- String location;
-
- @Override
- public void readPageFromXML (Element element)
- {
- NodeList nodes = element.getElementsByTagName("text");
- if (nodes != null)
- text = nodes.item(0).getTextContent();
-
- nodes = element.getElementsByTagName("location");
- if (nodes != null)
- location = nodes.item(0).getTextContent();
-
- background = new ResourceLocation(location);
- }
-
- @Override
- public void renderContentLayer (int localWidth, int localHeight)
- {
- manual.fonts.drawSplitString(text, localWidth + 8, localHeight, 178, 0);
- }
-
- ResourceLocation background;
-
- public void renderBackgroundLayer (int localWidth, int localHeight)
- {
- manual.getMC().getTextureManager().bindTexture(background);
- //manual.getMC().renderEngine.bindTexture(location);
- manual.drawTexturedModalRect(localWidth, localHeight + 12, 0, 0, 170, 144);
- }
-}
diff --git a/src/main/java/tconstruct/client/pages/SectionPage.java b/src/main/java/tconstruct/client/pages/SectionPage.java
deleted file mode 100644
index e790c894..00000000
--- a/src/main/java/tconstruct/client/pages/SectionPage.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package tconstruct.client.pages;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-public class SectionPage extends BookPage
-{
- String title;
- String body;
-
- @Override
- public void readPageFromXML (Element element)
- {
- NodeList nodes = element.getElementsByTagName("title");
- if (nodes != null)
- title = nodes.item(0).getTextContent();
-
- nodes = element.getElementsByTagName("text");
- if (nodes != null)
- body = nodes.item(0).getTextContent();
- }
-
- @Override
- public void renderContentLayer (int localWidth, int localHeight)
- {
- manual.fonts.drawSplitString("\u00a7n" + title, localWidth + 70, localHeight + 4, 178, 0);
- manual.fonts.drawSplitString(body, localWidth, localHeight + 16, 190, 0);
- }
-}
diff --git a/src/main/java/tconstruct/client/pages/SidebarPage.java b/src/main/java/tconstruct/client/pages/SidebarPage.java
deleted file mode 100644
index 5b83d416..00000000
--- a/src/main/java/tconstruct/client/pages/SidebarPage.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package tconstruct.client.pages;
-
-import net.minecraft.client.renderer.RenderHelper;
-import net.minecraft.item.ItemStack;
-
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-import tconstruct.library.client.TConstructClientRegistry;
-
-public class SidebarPage extends BookPage
-{
- String text;
- String[] iconText;
- ItemStack[] icons;
-
- @Override
- public void readPageFromXML (Element element)
- {
- NodeList nodes = element.getElementsByTagName("text");
- if (nodes != null)
- text = nodes.item(0).getTextContent();
-
- nodes = element.getElementsByTagName("item");
- iconText = new String[nodes.getLength()];
- icons = new ItemStack[nodes.getLength()];
- for (int i = 0; i < nodes.getLength(); i++)
- {
- NodeList children = nodes.item(i).getChildNodes();
- iconText[i] = children.item(1).getTextContent();
- icons[i] = TConstructClientRegistry.getManualIcon(children.item(3).getTextContent());
- }
- }
-
- @Override
- public void renderContentLayer (int localWidth, int localHeight)
- {
- manual.fonts.drawSplitString(text, localWidth, localHeight, 178, 0);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- RenderHelper.enableGUIStandardItemLighting();
- manual.renderitem.zLevel = 100;
- int offset = text.length() / 4 + 10;
- for (int i = 0; i < icons.length; i++)
- {
- manual.renderitem.renderItemIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[i], localWidth + 8, localHeight + 18 * i + offset);
- int yOffset = 39;
- if (iconText[i].length() > 40)
- yOffset = 34;
- manual.fonts.drawSplitString(iconText[i], localWidth + 30, localHeight + 18 * i + offset, 140, 0);
- }
- manual.renderitem.zLevel = 0;
- RenderHelper.disableStandardItemLighting();
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- }
-}
diff --git a/src/main/java/tconstruct/client/pages/TextPage.java b/src/main/java/tconstruct/client/pages/TextPage.java
deleted file mode 100644
index 4f795009..00000000
--- a/src/main/java/tconstruct/client/pages/TextPage.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package tconstruct.client.pages;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-public class TextPage extends BookPage
-{
- String text;
-
- @Override
- public void readPageFromXML (Element element)
- {
- NodeList nodes = element.getElementsByTagName("text");
- if (nodes != null)
- text = nodes.item(0).getTextContent();
- }
-
- @Override
- public void renderContentLayer (int localWidth, int localHeight)
- {
- manual.fonts.drawSplitString(text, localWidth, localHeight, 178, 0);
- }
-}
diff --git a/src/main/java/tconstruct/client/pages/TitlePage.java b/src/main/java/tconstruct/client/pages/TitlePage.java
deleted file mode 100644
index 249f0c81..00000000
--- a/src/main/java/tconstruct/client/pages/TitlePage.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package tconstruct.client.pages;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-public class TitlePage extends BookPage
-{
- String text;
-
- @Override
- public void readPageFromXML (Element element)
- {
- NodeList nodes = element.getElementsByTagName("text");
- if (nodes != null)
- text = nodes.item(0).getTextContent();
- }
-
- @Override
- public void renderContentLayer (int localWidth, int localHeight)
- {
- manual.fonts.drawSplitString(text, localWidth, localHeight, 178, 0);
- }
-}
diff --git a/src/main/java/tconstruct/client/pages/ToolPage.java b/src/main/java/tconstruct/client/pages/ToolPage.java
deleted file mode 100644
index 8911178a..00000000
--- a/src/main/java/tconstruct/client/pages/ToolPage.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package tconstruct.client.pages;
-
-import net.minecraft.client.renderer.RenderHelper;
-import net.minecraft.item.ItemStack;
-
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-import tconstruct.library.client.TConstructClientRegistry;
-
-public class ToolPage extends BookPage
-{
- String title;
- ItemStack[] icons;
- String[] iconText;
-
- @Override
- public void readPageFromXML (Element element)
- {
- NodeList nodes = element.getElementsByTagName("title");
- if (nodes != null)
- title = nodes.item(0).getTextContent();
-
- nodes = element.getElementsByTagName("item");
- iconText = new String[nodes.getLength() + 2];
- icons = new ItemStack[nodes.getLength() + 1];
-
- for (int i = 0; i < nodes.getLength(); i++)
- {
- NodeList children = nodes.item(i).getChildNodes();
- iconText[i + 2] = children.item(1).getTextContent();
- icons[i + 1] = TConstructClientRegistry.getManualIcon(children.item(3).getTextContent());
- }
-
- nodes = element.getElementsByTagName("text");
- if (nodes != null)
- {
- iconText[0] = nodes.item(0).getTextContent();
- iconText[1] = nodes.item(1).getTextContent();
- }
-
- nodes = element.getElementsByTagName("icon");
- if (nodes != null)
- icons[0] = TConstructClientRegistry.getManualIcon(nodes.item(0).getTextContent());
- }
-
- @Override
- public void renderContentLayer (int localWidth, int localHeight)
- {
- manual.fonts.drawString("\u00a7n" + title, localWidth + 70, localHeight + 4, 0);
- manual.fonts.drawSplitString(iconText[0], localWidth, localHeight + 16, 178, 0);
- int size = iconText[0].length() / 48;
- manual.fonts.drawSplitString(iconText[1], localWidth, localHeight + 28 + 10 * size, 118, 0);
-
- manual.fonts.drawString("Crafting Parts: ", localWidth + 124, localHeight + 28 + 10 * size, 0);
-
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- RenderHelper.enableGUIStandardItemLighting();
- manual.renderitem.zLevel = 100;
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[0], localWidth + 50, localHeight + 0);
- for (int i = 1; i < icons.length; i++)
- {
- manual.renderitem.renderItemAndEffectIntoGUI(manual.fonts, manual.getMC().renderEngine, icons[i], localWidth + 120, localHeight + 20 + 10 * size + 18 * i);
- int partOffset = iconText[i + 1].length() > 11 ? -3 : 0;
- manual.fonts.drawSplitString(iconText[i + 1], localWidth + 140, localHeight + 24 + 10 * size + 18 * i + partOffset, 44, 0);
- }
- manual.renderitem.zLevel = 0;
- RenderHelper.disableStandardItemLighting();
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- }
-}
diff --git a/src/main/java/tconstruct/client/tabs/AbstractTab.java b/src/main/java/tconstruct/client/tabs/AbstractTab.java
deleted file mode 100644
index d473a37a..00000000
--- a/src/main/java/tconstruct/client/tabs/AbstractTab.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package tconstruct.client.tabs;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.client.renderer.RenderHelper;
-import net.minecraft.client.renderer.entity.RenderItem;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-
-public abstract class AbstractTab extends GuiButton
-{
- ResourceLocation texture = new ResourceLocation("textures/gui/container/creative_inventory/tabs.png");
- ItemStack renderStack;
- RenderItem itemRenderer = new RenderItem();
-
- public AbstractTab(int id, int posX, int posY, ItemStack renderStack)
- {
- super(id, posX, posY, 28, 32, "");
- this.renderStack = renderStack;
- }
-
- @Override
- public void drawButton (Minecraft mc, int mouseX, int mouseY)
- {
- if (this.drawButton)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
-
- int yTexPos = this.enabled ? 0 : 32;
- int ySize = this.enabled ? 28 : 32;
- int xOffset = this.id == 2 ? 0 : 1;
-
- mc.renderEngine.bindTexture(this.texture);
- this.drawTexturedModalRect(this.xPosition, this.yPosition, xOffset * 28, yTexPos, 28, ySize);
-
- RenderHelper.enableGUIStandardItemLighting();
- this.zLevel = 100.0F;
- this.itemRenderer.zLevel = 100.0F;
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- this.itemRenderer.renderItemAndEffectIntoGUI(mc.fontRenderer, mc.renderEngine, renderStack, xPosition + 6, yPosition + 8);
- this.itemRenderer.renderItemOverlayIntoGUI(mc.fontRenderer, mc.renderEngine, renderStack, xPosition + 6, yPosition + 8);
- GL11.glDisable(GL11.GL_LIGHTING);
- this.itemRenderer.zLevel = 0.0F;
- this.zLevel = 0.0F;
- RenderHelper.disableStandardItemLighting();
- }
- }
-
- @Override
- public boolean mousePressed (Minecraft mc, int mouseX, int mouseY)
- {
- boolean inWindow = this.enabled && this.drawButton && mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height;
-
- if (inWindow)
- {
- this.onTabClicked();
- }
-
- return inWindow;
- }
-
- public abstract void onTabClicked ();
-
- public abstract boolean shouldAddToList ();
-}
diff --git a/src/main/java/tconstruct/client/tabs/InventoryTabArmorExtended.java b/src/main/java/tconstruct/client/tabs/InventoryTabArmorExtended.java
deleted file mode 100644
index 393032fc..00000000
--- a/src/main/java/tconstruct/client/tabs/InventoryTabArmorExtended.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package tconstruct.client.tabs;
-
-import tconstruct.client.TControls;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-
-public class InventoryTabArmorExtended extends AbstractTab
-{
- public InventoryTabArmorExtended()
- {
- super(0, 0, 0, new ItemStack(Item.plateDiamond));
- }
-
- @Override
- public void onTabClicked ()
- {
- TControls.openArmorGui();
- }
-
- @Override
- public boolean shouldAddToList ()
- {
- return true;
- }
-}
diff --git a/src/main/java/tconstruct/client/tabs/InventoryTabKnapsack.java b/src/main/java/tconstruct/client/tabs/InventoryTabKnapsack.java
deleted file mode 100644
index 2bf80a72..00000000
--- a/src/main/java/tconstruct/client/tabs/InventoryTabKnapsack.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package tconstruct.client.tabs;
-
-import net.minecraft.item.ItemStack;
-import tconstruct.client.TControls;
-import tconstruct.client.TProxyClient;
-import tconstruct.common.TContent;
-
-public class InventoryTabKnapsack extends AbstractTab
-{
- public InventoryTabKnapsack()
- {
- super(0, 0, 0, new ItemStack(TContent.knapsack));
- }
-
- @Override
- public void onTabClicked ()
- {
- TControls.openKnapsackGui();
- }
-
- @Override
- public boolean shouldAddToList ()
- {
- return TProxyClient.armorExtended.inventory[2] != null && TProxyClient.armorExtended.inventory[2].getItem() == TContent.knapsack;
- }
-}
diff --git a/src/main/java/tconstruct/client/tabs/InventoryTabVanilla.java b/src/main/java/tconstruct/client/tabs/InventoryTabVanilla.java
deleted file mode 100644
index 399b180f..00000000
--- a/src/main/java/tconstruct/client/tabs/InventoryTabVanilla.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package tconstruct.client.tabs;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.ItemStack;
-
-public class InventoryTabVanilla extends AbstractTab
-{
- public InventoryTabVanilla()
- {
- super(0, 0, 0, new ItemStack(Block.workbench));
- }
-
- @Override
- public void onTabClicked ()
- {
- TabRegistry.openInventoryGui();
- }
-
- @Override
- public boolean shouldAddToList ()
- {
- return true;
- }
-}
diff --git a/src/main/java/tconstruct/client/tabs/TabRegistry.java b/src/main/java/tconstruct/client/tabs/TabRegistry.java
deleted file mode 100644
index 9c762fdc..00000000
--- a/src/main/java/tconstruct/client/tabs/TabRegistry.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package tconstruct.client.tabs;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.List;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.client.gui.inventory.GuiInventory;
-import cpw.mods.fml.client.FMLClientHandler;
-
-public class TabRegistry
-{
- private static ArrayList tabList = new ArrayList();
-
- public static void registerTab (AbstractTab tab)
- {
- tabList.add(tab);
- }
-
- public static ArrayList getTabList ()
- {
- return tabList;
- }
-
- public static void addTabsToInventory (GuiContainer gui)
- {
- if (gui.getClass() == GuiInventory.class)
- {
- //Values are public at runtime.
- int cornerX = gui.guiLeft;
- int cornerY = gui.guiTop;
- gui.buttonList.clear();
-
- updateTabValues(cornerX, cornerY, InventoryTabVanilla.class);
- addTabsToList(gui.buttonList);
- }
- }
-
- private static Minecraft mc = FMLClientHandler.instance().getClient();
-
- public static void openInventoryGui ()
- {
- GuiInventory inventory = new GuiInventory(mc.thePlayer);
- mc.displayGuiScreen(inventory);
- TabRegistry.addTabsToInventory(inventory);
- }
-
- public static void updateTabValues (int cornerX, int cornerY, Class> selectedButton)
- {
- int count = 2;
- for (int i = 0; i < tabList.size(); i++)
- {
- AbstractTab t = tabList.get(i);
-
- if (t.shouldAddToList())
- {
- t.id = count;
- t.xPosition = cornerX + (count - 2) * 28;
- t.yPosition = cornerY - 28;
- t.enabled = !t.getClass().equals(selectedButton);
- count++;
- }
- }
- }
-
- public static void addTabsToList (List buttonList)
- {
- for (AbstractTab tab : tabList)
- {
- if (tab.shouldAddToList())
- {
- buttonList.add(tab);
- }
- }
- }
-}
diff --git a/src/main/java/tconstruct/common/BowRecipe.java b/src/main/java/tconstruct/common/BowRecipe.java
deleted file mode 100644
index 1e5ab17a..00000000
--- a/src/main/java/tconstruct/common/BowRecipe.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package tconstruct.common;
-
-import net.minecraft.item.Item;
-import tconstruct.library.crafting.ToolRecipe;
-import tconstruct.library.tools.ToolCore;
-
-public class BowRecipe extends ToolRecipe
-{
-
- public BowRecipe(Item head, Item handle, ToolCore tool)
- {
- super(head, handle, tool);
- }
-
- public BowRecipe(Item head, Item handle, Item accessory, ToolCore tool)
- {
- super(head, handle, accessory, tool);
- }
-
- public BowRecipe(Item head, Item handle, Item accessory, Item extra, ToolCore tool)
- {
- super(head, handle, accessory, extra, tool);
- }
-
- public boolean validHead (Item input)
- {
- for (Item part : headList)
- {
- if (part == input)
- return true;
- if (toolRod != null && part == toolRod && (input == Item.stick || input == Item.bone))
- return true;
- }
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/common/TContent.java b/src/main/java/tconstruct/common/TContent.java
deleted file mode 100644
index 12852b91..00000000
--- a/src/main/java/tconstruct/common/TContent.java
+++ /dev/null
@@ -1,2591 +0,0 @@
-package tconstruct.common;
-
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import tconstruct.library.armor.EnumArmorPart;
-import tconstruct.library.crafting.ToolBuilder;
-
-import cpw.mods.fml.common.*;
-import cpw.mods.fml.common.event.FMLInterModComms;
-import cpw.mods.fml.common.registry.*;
-import java.lang.reflect.Field;
-import java.util.*;
-import net.minecraft.block.*;
-import net.minecraft.block.material.*;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.*;
-import net.minecraft.item.crafting.*;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.potion.Potion;
-import net.minecraft.stats.Achievement;
-import net.minecraft.util.WeightedRandomChestContent;
-import net.minecraftforge.common.*;
-import net.minecraftforge.fluids.*;
-import net.minecraftforge.fluids.FluidContainerRegistry.FluidContainerData;
-import net.minecraftforge.oredict.*;
-import tconstruct.TConstruct;
-import tconstruct.achievements.TAchievements;
-import tconstruct.blocks.*;
-import tconstruct.blocks.logic.*;
-import tconstruct.blocks.slime.*;
-import tconstruct.blocks.traps.*;
-import tconstruct.client.StepSoundSlime;
-import tconstruct.entity.*;
-import tconstruct.entity.item.*;
-import tconstruct.entity.projectile.*;
-import tconstruct.items.*;
-import tconstruct.items.armor.*;
-import tconstruct.items.blocks.*;
-import tconstruct.items.tools.*;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.client.*;
-import tconstruct.library.client.FluidRenderProperties.Applications;
-import tconstruct.library.crafting.*;
-import tconstruct.library.tools.ToolCore;
-import tconstruct.library.util.IPattern;
-import tconstruct.modifiers.tools.*;
-import tconstruct.modifiers.armor.*;
-import tconstruct.util.*;
-import tconstruct.util.config.*;
-
-public class TContent implements IFuelHandler
-{
- // Supresses console spam when iguana's tweaks remove stuff
- public static boolean supressMissingToolLogs = PHConstruct.forceToolLogsOff;
-
- //Patterns and other materials
- public static Item blankPattern;
- public static Item materials;
- public static Item toolRod;
- public static Item toolShard;
- public static Item woodPattern;
- public static Item metalPattern;
- //public static Item armorPattern;
-
- public static Item manualBook;
- public static Item buckets;
- public static Item titleIcon;
-
- public static Item strangeFood;
- public static Item diamondApple;
- public static Item jerky;
- //public static Item stonePattern;
- //public static Item netherPattern;
-
- //Tools
- public static ToolCore pickaxe;
- public static ToolCore shovel;
- public static ToolCore hatchet;
- public static ToolCore broadsword;
- public static ToolCore longsword;
- public static ToolCore rapier;
- public static ToolCore dagger;
- public static ToolCore cutlass;
-
- public static ToolCore frypan;
- public static ToolCore battlesign;
- public static ToolCore chisel;
- public static ToolCore mattock;
-
- public static ToolCore scythe;
- public static ToolCore lumberaxe;
- public static ToolCore cleaver;
- public static ToolCore excavator;
- public static ToolCore hammer;
- public static ToolCore battleaxe;
-
- public static ToolCore shortbow;
- public static ToolCore arrow;
-
- public static Item potionLauncher;
-
- //Tool parts
- public static Item binding;
- public static Item toughBinding;
- public static Item toughRod;
- public static Item largePlate;
-
- public static Item pickaxeHead;
- public static Item shovelHead;
- public static Item hatchetHead;
- public static Item frypanHead;
- public static Item signHead;
- public static Item chiselHead;
- public static Item scytheBlade;
- public static Item broadAxeHead;
- public static Item excavatorHead;
- public static Item hammerHead;
-
- public static Item swordBlade;
- public static Item largeSwordBlade;
- public static Item knifeBlade;
-
- public static Item wideGuard;
- public static Item handGuard;
- public static Item crossbar;
- public static Item fullGuard;
-
- public static Item bowstring;
- public static Item arrowhead;
- public static Item fletching;
-
- //Crafting blocks
- public static Block toolStationWood;
- public static Block toolStationStone;
- public static Block toolForge;
- public static Block craftingStationWood;
- public static Block craftingSlabWood;
- public static Block furnaceSlab;
-
- public static Block heldItemBlock;
- public static Block craftedSoil;
-
- public static Block smeltery;
- public static Block lavaTank;
- public static Block searedBlock;
- public static Block castingChannel;
- public static Block smelteryNether;
- public static Block lavaTankNether;
- public static Block searedBlockNether;
- public static Block metalBlock;
- public static Block tankAir;
-
- public static Block dryingRack;
-
- //Decoration
- public static Block stoneTorch;
- public static Block stoneLadder;
- public static Block multiBrick;
- public static Block multiBrickFancy;
-
- public static Block searedSlab;
- public static Block speedSlab;
-
- public static Block meatBlock;
- public static Block woolSlab1;
- public static Block woolSlab2;
- public static Block glueBlock;
-
- //Traps
- public static Block landmine;
- public static Block punji;
- public static Block barricadeOak;
- public static Block barricadeSpruce;
- public static Block barricadeBirch;
- public static Block barricadeJungle;
- public static Block slimeExplosive;
-
- //InfiBlocks
- public static Block speedBlock;
- public static Block clearGlass;
- //public static Block stainedGlass;
- public static Block stainedGlassClear;
- public static Block glassPane;
- //public static Block stainedGlassPane;
- public static Block stainedGlassClearPane;
- public static Block glassMagicSlab;
- public static Block stainedGlassMagicSlab;
- public static Block stainedGlassClearMagicSlab;
-
- //Liquids
- public static Material liquidMetal;
-
- public static Fluid moltenIronFluid;
- public static Fluid moltenGoldFluid;
- public static Fluid moltenCopperFluid;
- public static Fluid moltenTinFluid;
- public static Fluid moltenAluminumFluid;
- public static Fluid moltenCobaltFluid;
- public static Fluid moltenArditeFluid;
- public static Fluid moltenBronzeFluid;
- public static Fluid moltenAlubrassFluid;
- public static Fluid moltenManyullynFluid;
- public static Fluid moltenAlumiteFluid;
- public static Fluid moltenObsidianFluid;
- public static Fluid moltenSteelFluid;
- public static Fluid moltenGlassFluid;
- public static Fluid moltenStoneFluid;
- public static Fluid moltenEmeraldFluid;
- public static Fluid bloodFluid;
- public static Fluid moltenNickelFluid;
- public static Fluid moltenLeadFluid;
- public static Fluid moltenSilverFluid;
- public static Fluid moltenShinyFluid;
- public static Fluid moltenInvarFluid;
- public static Fluid moltenElectrumFluid;
- public static Fluid moltenEnderFluid;
- public static Fluid blueSlimeFluid;
- public static Fluid pigIronFluid;
-
- public static Block moltenIron;
- public static Block moltenGold;
- public static Block moltenCopper;
- public static Block moltenTin;
- public static Block moltenAluminum;
- public static Block moltenCobalt;
- public static Block moltenArdite;
- public static Block moltenBronze;
- public static Block moltenAlubrass;
- public static Block moltenManyullyn;
- public static Block moltenAlumite;
- public static Block moltenObsidian;
- public static Block moltenSteel;
- public static Block moltenGlass;
- public static Block moltenStone;
- public static Block moltenEmerald;
- public static Block blood;
- public static Block moltenNickel;
- public static Block moltenLead;
- public static Block moltenSilver;
- public static Block moltenShiny;
- public static Block moltenInvar;
- public static Block moltenElectrum;
- public static Block moltenEnder;
-
- //Slime
- public static StepSound slimeStep;
- public static Block slimePool;
- public static Block slimeGel;
- public static Block slimeGrass;
- public static Block slimeTallGrass;
- public static SlimeLeaves slimeLeaves;
- public static SlimeSapling slimeSapling;
-
- public static Block slimeChannel;
- public static Block slimePad;
- public static Block bloodChannel;
-
- //Glue
- public static Fluid glueFluid;
- public static Block glueFluidBlock;
-
- //Ores
- public static Block oreSlag;
- public static Block oreGravel;
- public static OreberryBush oreBerry;
- public static OreberryBush oreBerrySecond;
- public static Item oreBerries;
-
- //Tool modifiers
- public static ModFlux modFlux;
- public static ModLapis modLapis;
- public static ModAttack modAttack;
-
- //Wearables
- public static Item glove;
- public static Item knapsack;
-
- public static Item heartCanister;
- public static Item goldHead;
-
- //Rail-related
- public static Block woodenRail;
-
- //Chest hooks
- public static ChestGenHooks tinkerHouseChest;
- public static ChestGenHooks tinkerHousePatterns;
-
- //Armor - basic
- public static Item helmetWood;
- public static Item chestplateWood;
- public static Item leggingsWood;
- public static Item bootsWood;
- public static EnumArmorMaterial materialWood;
-
- //Armor - exosuit
- public static Item exoGoggles;
- public static Item exoChest;
- public static Item exoPants;
- public static Item exoShoes;
-
- //Temporary items
- //public static Item armorTest = new ArmorStandard(2445, 4, EnumArmorPart.HELMET).setCreativeTab(CreativeTabs.tabAllSearch);
-
- public TContent()
- {
- registerItems();
- registerBlocks();
- registerMaterials();
- addCraftingRecipes();
- setupToolTabs();
- addLoot();
- if (PHConstruct.achievementsEnabled)
- {
- addAchievements();
- }
- }
-
- public void createEntities ()
- {
- EntityRegistry.registerModEntity(FancyEntityItem.class, "Fancy Item", 0, TConstruct.instance, 32, 5, true);
- EntityRegistry.registerModEntity(DaggerEntity.class, "Dagger", 1, TConstruct.instance, 32, 5, true);
- EntityRegistry.registerModEntity(Crystal.class, "Crystal", 2, TConstruct.instance, 32, 3, true);
- EntityRegistry.registerModEntity(LaunchedPotion.class, "Launched Potion", 3, TConstruct.instance, 32, 3, true);
- EntityRegistry.registerModEntity(ArrowEntity.class, "Arrow", 4, TConstruct.instance, 32, 5, true);
- EntityRegistry.registerModEntity(EntityLandmineFirework.class, "LandmineFirework", 5, TConstruct.instance, 32, 5, true);
- EntityRegistry.registerModEntity(ExplosivePrimed.class, "SlimeExplosive", 6, TConstruct.instance, 32, 5, true);
- //EntityRegistry.registerModEntity(CartEntity.class, "Small Wagon", 1, TConstruct.instance, 32, 5, true);
-
- EntityRegistry.registerModEntity(BlueSlime.class, "EdibleSlime", 12, TConstruct.instance, 64, 5, true);
- //EntityRegistry.registerModEntity(MetalSlime.class, "MetalSlime", 13, TConstruct.instance, 64, 5, true);
- }
-
- public static Fluid[] fluids = new Fluid[27];
- public static Block[] fluidBlocks = new Block[26];
-
- void registerBlocks ()
- {
- //Tool Station
- toolStationWood = new ToolStationBlock(PHConstruct.woodStation, Material.wood).setUnlocalizedName("ToolStation");
- GameRegistry.registerBlock(toolStationWood, ToolStationItemBlock.class, "ToolStationBlock");
- GameRegistry.registerTileEntity(ToolStationLogic.class, "ToolStation");
- GameRegistry.registerTileEntity(PartBuilderLogic.class, "PartCrafter");
- GameRegistry.registerTileEntity(PatternChestLogic.class, "PatternHolder");
- GameRegistry.registerTileEntity(StencilTableLogic.class, "PatternShaper");
-
- toolForge = new ToolForgeBlock(PHConstruct.toolForge, Material.iron).setUnlocalizedName("ToolForge");
- GameRegistry.registerBlock(toolForge, MetadataItemBlock.class, "ToolForgeBlock");
- GameRegistry.registerTileEntity(ToolForgeLogic.class, "ToolForge");
-
- craftingStationWood = new CraftingStationBlock(PHConstruct.woodCrafter, Material.wood).setUnlocalizedName("CraftingStation");
- GameRegistry.registerBlock(craftingStationWood, "CraftingStation");
- GameRegistry.registerTileEntity(CraftingStationLogic.class, "CraftingStation");
-
- craftingSlabWood = new CraftingSlab(PHConstruct.woodCrafterSlab, Material.wood).setUnlocalizedName("CraftingSlab");
- GameRegistry.registerBlock(craftingSlabWood, CraftingSlabItemBlock.class, "CraftingSlab");
-
- furnaceSlab = new FurnaceSlab(PHConstruct.furnaceSlab, Material.rock).setUnlocalizedName("FurnaceSlab");
- GameRegistry.registerBlock(furnaceSlab, "FurnaceSlab");
- GameRegistry.registerTileEntity(FurnaceLogic.class, "TConstruct.Furnace");
-
- heldItemBlock = new EquipBlock(PHConstruct.heldItemBlock, Material.wood).setUnlocalizedName("Frypan");
- GameRegistry.registerBlock(heldItemBlock, "HeldItemBlock");
- GameRegistry.registerTileEntity(FrypanLogic.class, "FrypanLogic");
-
- craftedSoil = new SoilBlock(PHConstruct.craftedSoil).setLightOpacity(0).setUnlocalizedName("TConstruct.Soil");
- craftedSoil.stepSound = Block.soundGravelFootstep;
- GameRegistry.registerBlock(craftedSoil, CraftedSoilItemBlock.class, "CraftedSoil");
-
- searedSlab = new SearedSlab(PHConstruct.searedSlab).setUnlocalizedName("SearedSlab");
- searedSlab.stepSound = Block.soundStoneFootstep;
- GameRegistry.registerBlock(searedSlab, SearedSlabItem.class, "SearedSlab");
-
- speedSlab = new SpeedSlab(PHConstruct.speedSlab).setUnlocalizedName("SpeedSlab");
- speedSlab.stepSound = Block.soundStoneFootstep;
- GameRegistry.registerBlock(speedSlab, SpeedSlabItem.class, "SpeedSlab");
-
- metalBlock = new TMetalBlock(PHConstruct.metalBlock, Material.iron, 10.0F).setUnlocalizedName("tconstruct.metalblock");
- metalBlock.stepSound = Block.soundMetalFootstep;
- GameRegistry.registerBlock(metalBlock, MetalItemBlock.class, "MetalBlock");
-
- meatBlock = new MeatBlock(PHConstruct.meatBlock).setUnlocalizedName("tconstruct.meatblock");
- GameRegistry.registerBlock(meatBlock, HamboneItemBlock.class, "MeatBlock");
-
- OreDictionary.registerOre("hambone", new ItemStack(meatBlock));
- LanguageRegistry.addName(meatBlock, "Hambone");
- GameRegistry.addRecipe(new ItemStack(meatBlock), "mmm", "mbm", "mmm", 'b', new ItemStack(Item.bone), 'm', new ItemStack(Item.porkRaw));
-
- glueBlock = new GlueBlock(PHConstruct.glueBlock).setUnlocalizedName("GlueBlock").setCreativeTab(TConstructRegistry.blockTab);
- GameRegistry.registerBlock(glueBlock, "GlueBlock");
- OreDictionary.registerOre("blockRubber", new ItemStack(glueBlock));
-
- woolSlab1 = new SlabBase(PHConstruct.woolSlab1, Material.cloth, Block.cloth, 0, 8).setUnlocalizedName("cloth");
- woolSlab1.setStepSound(Block.soundClothFootstep).setCreativeTab(CreativeTabs.tabDecorations);
- GameRegistry.registerBlock(woolSlab1, WoolSlab1Item.class, "WoolSlab1");
- woolSlab2 = new SlabBase(PHConstruct.woolSlab2, Material.cloth, Block.cloth, 8, 8).setUnlocalizedName("cloth");
- woolSlab2.setStepSound(Block.soundClothFootstep).setCreativeTab(CreativeTabs.tabDecorations);
- GameRegistry.registerBlock(woolSlab2, WoolSlab2Item.class, "WoolSlab2");
-
- //Smeltery
- smeltery = new SmelteryBlock(PHConstruct.smeltery).setUnlocalizedName("Smeltery");
- smelteryNether = new SmelteryBlock(PHConstruct.smelteryNether, "nether").setUnlocalizedName("Smeltery");
- GameRegistry.registerBlock(smeltery, SmelteryItemBlock.class, "Smeltery");
- GameRegistry.registerBlock(smelteryNether, SmelteryItemBlock.class, "SmelteryNether");
- if (PHConstruct.newSmeltery)
- {
- GameRegistry.registerTileEntity(AdaptiveSmelteryLogic.class, "TConstruct.Smeltery");
- GameRegistry.registerTileEntity(AdaptiveDrainLogic.class, "TConstruct.SmelteryDrain");
- }
- else
- {
- GameRegistry.registerTileEntity(SmelteryLogic.class, "TConstruct.Smeltery");
- GameRegistry.registerTileEntity(SmelteryDrainLogic.class, "TConstruct.SmelteryDrain");
- }
- GameRegistry.registerTileEntity(MultiServantLogic.class, "TConstruct.Servants");
-
- lavaTank = new LavaTankBlock(PHConstruct.lavaTank).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("LavaTank");
- lavaTankNether = new LavaTankBlock(PHConstruct.lavaTankNether, "nether").setStepSound(Block.soundGlassFootstep).setUnlocalizedName("LavaTank");
- GameRegistry.registerBlock(lavaTank, LavaTankItemBlock.class, "LavaTank");
- GameRegistry.registerBlock(lavaTankNether, LavaTankItemBlock.class, "LavaTankNether");
- GameRegistry.registerTileEntity(LavaTankLogic.class, "TConstruct.LavaTank");
-
- searedBlock = new SearedBlock(PHConstruct.searedTable).setUnlocalizedName("SearedBlock");
- searedBlockNether = new SearedBlock(PHConstruct.searedTableNether, "nether").setUnlocalizedName("SearedBlock");
- GameRegistry.registerBlock(searedBlock, SearedTableItemBlock.class, "SearedBlock");
- GameRegistry.registerBlock(searedBlockNether, SearedTableItemBlock.class, "SearedBlockNether");
- GameRegistry.registerTileEntity(CastingTableLogic.class, "CastingTable");
- GameRegistry.registerTileEntity(FaucetLogic.class, "Faucet");
- GameRegistry.registerTileEntity(CastingBasinLogic.class, "CastingBasin");
-
- castingChannel = (new CastingChannelBlock(PHConstruct.castingChannel)).setUnlocalizedName("CastingChannel");
- GameRegistry.registerBlock(castingChannel, CastingChannelItem.class, "CastingChannel");
- GameRegistry.registerTileEntity(CastingChannelLogic.class, "CastingChannel");
-
- tankAir = new TankAirBlock(PHConstruct.airTank, Material.leaves).setBlockUnbreakable().setUnlocalizedName("tconstruct.tank.air");
- GameRegistry.registerBlock(tankAir, "TankAir");
- GameRegistry.registerTileEntity(TankAirLogic.class, "tconstruct.tank.air");
-
- //Traps
- landmine = new BlockLandmine(PHConstruct.landmine).setHardness(0.5F).setResistance(0F).setStepSound(Block.soundMetalFootstep).setCreativeTab(CreativeTabs.tabRedstone)
- .setUnlocalizedName("landmine");
- GameRegistry.registerBlock(landmine, ItemBlockLandmine.class, "Redstone.Landmine");
- GameRegistry.registerTileEntity(TileEntityLandmine.class, "Landmine");
-
- punji = new Punji(PHConstruct.punji).setUnlocalizedName("trap.punji");
- GameRegistry.registerBlock(punji, "trap.punji");
-
- barricadeOak = new BarricadeBlock(PHConstruct.barricadeOak, Block.wood, 0).setUnlocalizedName("trap.barricade.oak");
- GameRegistry.registerBlock(barricadeOak, BarricadeItem.class, "trap.barricade.oak");
-
- barricadeSpruce = new BarricadeBlock(PHConstruct.barricadeSpruce, Block.wood, 1).setUnlocalizedName("trap.barricade.spruce");
- GameRegistry.registerBlock(barricadeSpruce, BarricadeItem.class, "trap.barricade.spruce");
-
- barricadeBirch = new BarricadeBlock(PHConstruct.barricadeBirch, Block.wood, 2).setUnlocalizedName("trap.barricade.birch");
- GameRegistry.registerBlock(barricadeBirch, BarricadeItem.class, "trap.barricade.birch");
-
- barricadeJungle = new BarricadeBlock(PHConstruct.barricadeJungle, Block.wood, 3).setUnlocalizedName("trap.barricade.jungle");
- GameRegistry.registerBlock(barricadeJungle, BarricadeItem.class, "trap.barricade.jungle");
-
- slimeExplosive = new SlimeExplosive(PHConstruct.slimeExplosive).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("explosive.slime");
- GameRegistry.registerBlock(slimeExplosive, MetadataItemBlock.class, "explosive.slime");
-
- dryingRack = new DryingRack(PHConstruct.dryingRack).setUnlocalizedName("Armor.DryingRack");
- GameRegistry.registerBlock(dryingRack, "Armor.DryingRack");
- GameRegistry.registerTileEntity(DryingRackLogic.class, "Armor.DryingRack");
-
- //Liquids
- liquidMetal = new MaterialLiquid(MapColor.tntColor);
-
- moltenIronFluid = new Fluid("iron.molten");
- if (!FluidRegistry.registerFluid(moltenIronFluid))
- moltenIronFluid = FluidRegistry.getFluid("iron.molten");
- moltenIron = new TConstructFluid(PHConstruct.moltenIron, moltenIronFluid, Material.lava, "liquid_iron").setUnlocalizedName("metal.molten.iron");
- GameRegistry.registerBlock(moltenIron, "metal.molten.iron");
- fluids[0] = moltenIronFluid;
- fluidBlocks[0] = moltenIron;
- moltenIronFluid.setBlockID(moltenIron).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenIronFluid, 1000), new ItemStack(buckets, 1, 0), new ItemStack(Item.bucketEmpty)));
-
- moltenGoldFluid = new Fluid("gold.molten");
- if (!FluidRegistry.registerFluid(moltenGoldFluid))
- moltenGoldFluid = FluidRegistry.getFluid("gold.molten");
- moltenGold = new TConstructFluid(PHConstruct.moltenGold, moltenGoldFluid, Material.lava, "liquid_gold").setUnlocalizedName("metal.molten.gold");
- GameRegistry.registerBlock(moltenGold, "metal.molten.gold");
- fluids[1] = moltenGoldFluid;
- fluidBlocks[1] = moltenGold;
- moltenGoldFluid.setBlockID(moltenGold).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenGoldFluid, 1000), new ItemStack(buckets, 1, 1), new ItemStack(Item.bucketEmpty)));
-
- moltenCopperFluid = new Fluid("copper.molten");
- if (!FluidRegistry.registerFluid(moltenCopperFluid))
- moltenCopperFluid = FluidRegistry.getFluid("copper.molten");
- moltenCopper = new TConstructFluid(PHConstruct.moltenCopper, moltenCopperFluid, Material.lava, "liquid_copper").setUnlocalizedName("metal.molten.copper");
- GameRegistry.registerBlock(moltenCopper, "metal.molten.copper");
- fluids[2] = moltenCopperFluid;
- fluidBlocks[2] = moltenCopper;
- moltenCopperFluid.setBlockID(moltenCopper).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenCopperFluid, 1000), new ItemStack(buckets, 1, 2), new ItemStack(Item.bucketEmpty)));
-
- moltenTinFluid = new Fluid("tin.molten");
- if (!FluidRegistry.registerFluid(moltenTinFluid))
- moltenTinFluid = FluidRegistry.getFluid("tin.molten");
- moltenTin = new TConstructFluid(PHConstruct.moltenTin, moltenTinFluid, Material.lava, "liquid_tin").setUnlocalizedName("metal.molten.tin");
- GameRegistry.registerBlock(moltenTin, "metal.molten.tin");
- fluids[3] = moltenTinFluid;
- fluidBlocks[3] = moltenTin;
- moltenTinFluid.setBlockID(moltenTin).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenTinFluid, 1000), new ItemStack(buckets, 1, 3), new ItemStack(Item.bucketEmpty)));
-
- moltenAluminumFluid = new Fluid("aluminum.molten");
- if (!FluidRegistry.registerFluid(moltenAluminumFluid))
- moltenAluminumFluid = FluidRegistry.getFluid("aluminum.molten");
- moltenAluminum = new TConstructFluid(PHConstruct.moltenAluminum, moltenAluminumFluid, Material.lava, "liquid_aluminum").setUnlocalizedName("metal.molten.aluminum");
- GameRegistry.registerBlock(moltenAluminum, "metal.molten.aluminum");
- fluids[4] = moltenAluminumFluid;
- fluidBlocks[4] = moltenAluminum;
- moltenAluminumFluid.setBlockID(moltenAluminum).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenAluminumFluid, 1000), new ItemStack(buckets, 1, 4), new ItemStack(Item.bucketEmpty)));
-
- moltenCobaltFluid = new Fluid("cobalt.molten");
- if (!FluidRegistry.registerFluid(moltenCobaltFluid))
- moltenCobaltFluid = FluidRegistry.getFluid("cobalt.molten");
- moltenCobalt = new TConstructFluid(PHConstruct.moltenCobalt, moltenCobaltFluid, Material.lava, "liquid_cobalt").setUnlocalizedName("metal.molten.cobalt");
- GameRegistry.registerBlock(moltenCobalt, "metal.molten.cobalt");
- fluids[5] = moltenCobaltFluid;
- fluidBlocks[5] = moltenCobalt;
- moltenCobaltFluid.setBlockID(moltenCobalt).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenCobaltFluid, 1000), new ItemStack(buckets, 1, 5), new ItemStack(Item.bucketEmpty)));
-
- moltenArditeFluid = new Fluid("ardite.molten");
- if (!FluidRegistry.registerFluid(moltenArditeFluid))
- moltenArditeFluid = FluidRegistry.getFluid("ardite.molten");
- moltenArdite = new TConstructFluid(PHConstruct.moltenArdite, moltenArditeFluid, Material.lava, "liquid_ardite").setUnlocalizedName("metal.molten.ardite");
- GameRegistry.registerBlock(moltenArdite, "metal.molten.ardite");
- fluids[6] = moltenArditeFluid;
- fluidBlocks[6] = moltenArdite;
- moltenArditeFluid.setBlockID(moltenArdite).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenArditeFluid, 1000), new ItemStack(buckets, 1, 6), new ItemStack(Item.bucketEmpty)));
-
- moltenBronzeFluid = new Fluid("bronze.molten");
- if (!FluidRegistry.registerFluid(moltenBronzeFluid))
- moltenBronzeFluid = FluidRegistry.getFluid("bronze.molten");
- moltenBronze = new TConstructFluid(PHConstruct.moltenBronze, moltenBronzeFluid, Material.lava, "liquid_bronze").setUnlocalizedName("metal.molten.bronze");
- GameRegistry.registerBlock(moltenBronze, "metal.molten.bronze");
- fluids[7] = moltenBronzeFluid;
- fluidBlocks[7] = moltenBronze;
- moltenBronzeFluid.setBlockID(moltenBronze).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenBronzeFluid, 1000), new ItemStack(buckets, 1, 7), new ItemStack(Item.bucketEmpty)));
-
- moltenAlubrassFluid = new Fluid("aluminumbrass.molten");
- if (!FluidRegistry.registerFluid(moltenAlubrassFluid))
- moltenAlubrassFluid = FluidRegistry.getFluid("aluminumbrass.molten");
- moltenAlubrass = new TConstructFluid(PHConstruct.moltenAlubrass, moltenAlubrassFluid, Material.lava, "liquid_alubrass").setUnlocalizedName("metal.molten.alubrass");
- GameRegistry.registerBlock(moltenAlubrass, "metal.molten.alubrass");
- fluids[8] = moltenAlubrassFluid;
- fluidBlocks[8] = moltenAlubrass;
- moltenAlubrassFluid.setBlockID(moltenAlubrass).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenAlubrassFluid, 1000), new ItemStack(buckets, 1, 8), new ItemStack(Item.bucketEmpty)));
-
- moltenManyullynFluid = new Fluid("manyullyn.molten");
- if (!FluidRegistry.registerFluid(moltenManyullynFluid))
- moltenManyullynFluid = FluidRegistry.getFluid("manyullyn.molten");
- moltenManyullyn = new TConstructFluid(PHConstruct.moltenManyullyn, moltenManyullynFluid, Material.lava, "liquid_manyullyn").setUnlocalizedName("metal.molten.manyullyn");
- GameRegistry.registerBlock(moltenManyullyn, "metal.molten.manyullyn");
- fluids[9] = moltenManyullynFluid;
- fluidBlocks[9] = moltenManyullyn;
- moltenManyullynFluid.setBlockID(moltenManyullyn).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenManyullynFluid, 1000), new ItemStack(buckets, 1, 9), new ItemStack(Item.bucketEmpty)));
-
- moltenAlumiteFluid = new Fluid("alumite.molten");
- if (!FluidRegistry.registerFluid(moltenAlumiteFluid))
- moltenAlumiteFluid = FluidRegistry.getFluid("alumite.molten");
- moltenAlumite = new TConstructFluid(PHConstruct.moltenAlumite, moltenAlumiteFluid, Material.lava, "liquid_alumite").setUnlocalizedName("metal.molten.alumite");
- GameRegistry.registerBlock(moltenAlumite, "metal.molten.alumite");
- fluids[10] = moltenAlumiteFluid;
- fluidBlocks[10] = moltenAlumite;
- moltenAlumiteFluid.setBlockID(moltenAlumite).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenAlumiteFluid, 1000), new ItemStack(buckets, 1, 10), new ItemStack(Item.bucketEmpty)));
-
- moltenObsidianFluid = new Fluid("obsidian.molten");
- if (!FluidRegistry.registerFluid(moltenObsidianFluid))
- moltenObsidianFluid = FluidRegistry.getFluid("obsidian.molten");
- moltenObsidian = new TConstructFluid(PHConstruct.moltenObsidian, moltenObsidianFluid, Material.lava, "liquid_obsidian").setUnlocalizedName("metal.molten.obsidian");
- GameRegistry.registerBlock(moltenObsidian, "metal.molten.obsidian");
- fluids[11] = moltenObsidianFluid;
- fluidBlocks[11] = moltenObsidian;
- moltenObsidianFluid.setBlockID(moltenObsidian).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenObsidianFluid, 1000), new ItemStack(buckets, 1, 11), new ItemStack(Item.bucketEmpty)));
-
- moltenSteelFluid = new Fluid("steel.molten");
- if (!FluidRegistry.registerFluid(moltenSteelFluid))
- moltenSteelFluid = FluidRegistry.getFluid("steel.molten");
- moltenSteel = new TConstructFluid(PHConstruct.moltenSteel, moltenSteelFluid, Material.lava, "liquid_steel").setUnlocalizedName("metal.molten.steel");
- GameRegistry.registerBlock(moltenSteel, "metal.molten.steel");
- fluids[12] = moltenSteelFluid;
- fluidBlocks[12] = moltenSteel;
- moltenSteelFluid.setBlockID(moltenSteel).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenSteelFluid, 1000), new ItemStack(buckets, 1, 12), new ItemStack(Item.bucketEmpty)));
-
- moltenGlassFluid = new Fluid("glass.molten");
- if (!FluidRegistry.registerFluid(moltenGlassFluid))
- moltenGlassFluid = FluidRegistry.getFluid("glass.molten");
- moltenGlass = new TConstructFluid(PHConstruct.moltenGlass, moltenGlassFluid, Material.lava, "liquid_glass", true).setUnlocalizedName("metal.molten.glass");
- GameRegistry.registerBlock(moltenGlass, "metal.molten.glass");
- fluids[13] = moltenGlassFluid;
- fluidBlocks[13] = moltenGlass;
- moltenGlassFluid.setBlockID(moltenGlass).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenGlassFluid, 1000), new ItemStack(buckets, 1, 13), new ItemStack(Item.bucketEmpty)));
-
- moltenStoneFluid = new Fluid("stone.seared");
- if (!FluidRegistry.registerFluid(moltenStoneFluid))
- moltenStoneFluid = FluidRegistry.getFluid("stone.seared");
- moltenStone = new TConstructFluid(PHConstruct.moltenStone, moltenStoneFluid, Material.lava, "liquid_stone").setUnlocalizedName("molten.stone");
- GameRegistry.registerBlock(moltenStone, "molten.stone");
- fluids[14] = moltenStoneFluid;
- fluidBlocks[14] = moltenStone;
- moltenStoneFluid.setBlockID(moltenStone).setLuminosity(12).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenStoneFluid, 1000), new ItemStack(buckets, 1, 14), new ItemStack(Item.bucketEmpty)));
-
- moltenEmeraldFluid = new Fluid("emerald.liquid");
- if (!FluidRegistry.registerFluid(moltenEmeraldFluid))
- moltenEmeraldFluid = FluidRegistry.getFluid("emerald.liquid");
- moltenEmerald = new TConstructFluid(PHConstruct.moltenEmerald, moltenEmeraldFluid, Material.water, "liquid_villager").setUnlocalizedName("molten.emerald");
- GameRegistry.registerBlock(moltenEmerald, "molten.emerald");
- fluids[15] = moltenEmeraldFluid;
- fluidBlocks[15] = moltenEmerald;
- moltenEmeraldFluid.setBlockID(moltenEmerald).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenEmeraldFluid, 1000), new ItemStack(buckets, 1, 15), new ItemStack(Item.bucketEmpty)));
-
- bloodFluid = new Fluid("blood");
- if (!FluidRegistry.registerFluid(bloodFluid))
- bloodFluid = FluidRegistry.getFluid("blood");
- blood = new BloodBlock(PHConstruct.blood, bloodFluid, Material.water, "liquid_cow").setUnlocalizedName("liquid.blood");
- GameRegistry.registerBlock(blood, "liquid.blood");
- fluids[16] = bloodFluid;
- fluidBlocks[16] = blood;
- bloodFluid.setBlockID(blood).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(bloodFluid, 1000), new ItemStack(buckets, 1, 16), new ItemStack(Item.bucketEmpty)));
-
- moltenNickelFluid = new Fluid("nickel.molten");
- if (!FluidRegistry.registerFluid(moltenNickelFluid))
- moltenNickelFluid = FluidRegistry.getFluid("nickel.molten");
- moltenNickel = new TConstructFluid(PHConstruct.moltenNickel, moltenNickelFluid, Material.lava, "liquid_ferrous").setUnlocalizedName("metal.molten.nickel");
- GameRegistry.registerBlock(moltenNickel, "metal.molten.nickel");
- fluids[17] = moltenNickelFluid;
- fluidBlocks[17] = moltenNickel;
- moltenNickelFluid.setBlockID(moltenNickel).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenNickelFluid, 1000), new ItemStack(buckets, 1, 17), new ItemStack(Item.bucketEmpty)));
-
- moltenLeadFluid = new Fluid("lead.molten");
- if (!FluidRegistry.registerFluid(moltenLeadFluid))
- moltenLeadFluid = FluidRegistry.getFluid("lead.molten");
- moltenLead = new TConstructFluid(PHConstruct.moltenLead, moltenLeadFluid, Material.lava, "liquid_lead").setUnlocalizedName("metal.molten.lead");
- GameRegistry.registerBlock(moltenLead, "metal.molten.lead");
- fluids[18] = moltenLeadFluid;
- fluidBlocks[18] = moltenLead;
- moltenLeadFluid.setBlockID(moltenLead).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenLeadFluid, 1000), new ItemStack(buckets, 1, 18), new ItemStack(Item.bucketEmpty)));
-
- moltenSilverFluid = new Fluid("silver.molten");
- if (!FluidRegistry.registerFluid(moltenSilverFluid))
- moltenSilverFluid = FluidRegistry.getFluid("silver.molten");
- moltenSilver = new TConstructFluid(PHConstruct.moltenSilver, moltenSilverFluid, Material.lava, "liquid_silver").setUnlocalizedName("metal.molten.silver");
- GameRegistry.registerBlock(moltenSilver, "metal.molten.silver");
- fluids[19] = moltenSilverFluid;
- fluidBlocks[19] = moltenSilver;
- moltenSilverFluid.setBlockID(moltenSilver).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenSilverFluid, 1000), new ItemStack(buckets, 1, 19), new ItemStack(Item.bucketEmpty)));
-
- moltenShinyFluid = new Fluid("platinum.molten");
- if (!FluidRegistry.registerFluid(moltenShinyFluid))
- moltenShinyFluid = FluidRegistry.getFluid("platinum.molten");
- moltenShiny = new TConstructFluid(PHConstruct.moltenShiny, moltenShinyFluid, Material.lava, "liquid_shiny").setUnlocalizedName("metal.molten.shiny");
- GameRegistry.registerBlock(moltenShiny, "metal.molten.shiny");
- fluids[20] = moltenShinyFluid;
- fluidBlocks[20] = moltenShiny;
- moltenShinyFluid.setBlockID(moltenShiny).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenShinyFluid, 1000), new ItemStack(buckets, 1, 20), new ItemStack(Item.bucketEmpty)));
-
- moltenInvarFluid = new Fluid("invar.molten");
- if (!FluidRegistry.registerFluid(moltenInvarFluid))
- moltenInvarFluid = FluidRegistry.getFluid("invar.molten");
- moltenInvar = new TConstructFluid(PHConstruct.moltenInvar, moltenInvarFluid, Material.lava, "liquid_invar").setUnlocalizedName("metal.molten.invar");
- GameRegistry.registerBlock(moltenInvar, "metal.molten.invar");
- fluids[21] = moltenInvarFluid;
- fluidBlocks[21] = moltenInvar;
- moltenInvarFluid.setBlockID(moltenInvar).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenInvarFluid, 1000), new ItemStack(buckets, 1, 21), new ItemStack(Item.bucketEmpty)));
-
- moltenElectrumFluid = new Fluid("electrum.molten");
- if (!FluidRegistry.registerFluid(moltenElectrumFluid))
- moltenElectrumFluid = FluidRegistry.getFluid("electrum.molten");
- moltenElectrum = new TConstructFluid(PHConstruct.moltenElectrum, moltenElectrumFluid, Material.lava, "liquid_electrum").setUnlocalizedName("metal.molten.electrum");
- GameRegistry.registerBlock(moltenElectrum, "metal.molten.electrum");
- fluids[22] = moltenElectrumFluid;
- fluidBlocks[22] = moltenElectrum;
- moltenElectrumFluid.setBlockID(moltenElectrum).setDensity(3000).setViscosity(6000).setTemperature(1300);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenElectrumFluid, 1000), new ItemStack(buckets, 1, 22), new ItemStack(Item.bucketEmpty)));
-
- moltenEnderFluid = new Fluid("ender");
- if (!FluidRegistry.registerFluid(moltenEnderFluid))
- {
- moltenEnderFluid = FluidRegistry.getFluid("ender");
- moltenEnder = Block.blocksList[moltenEnderFluid.getBlockID()];
- if (moltenEnder == null)
- TConstruct.logger.info("Molten ender block missing!");
- }
- else
- {
- moltenEnder = new TConstructFluid(PHConstruct.moltenEnder, moltenEnderFluid, Material.water, "liquid_ender").setUnlocalizedName("fluid.ender");
- GameRegistry.registerBlock(moltenEnder, "fluid.ender");
- moltenEnderFluid.setBlockID(moltenEnder).setDensity(3000).setViscosity(6000);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(moltenEnderFluid, 1000), new ItemStack(buckets, 1, 23), new ItemStack(Item.bucketEmpty)));
- }
- fluids[23] = moltenEnderFluid;
- fluidBlocks[23] = moltenEnder;
-
- //Slime
- slimeStep = new StepSoundSlime("mob.slime", 1.0f, 1.0f);
-
- blueSlimeFluid = new Fluid("slime.blue");
- if (!FluidRegistry.registerFluid(blueSlimeFluid))
- blueSlimeFluid = FluidRegistry.getFluid("slime.blue");
- slimePool = new SlimeFluid(PHConstruct.slimePoolBlue, blueSlimeFluid, Material.water).setCreativeTab(TConstructRegistry.blockTab).setStepSound(slimeStep).setUnlocalizedName("liquid.slime");
- GameRegistry.registerBlock(slimePool, "liquid.slime");
- fluids[24] = blueSlimeFluid;
- fluidBlocks[24] = slimePool;
- blueSlimeFluid.setBlockID(slimePool);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(blueSlimeFluid, 1000), new ItemStack(buckets, 1, 24), new ItemStack(Item.bucketEmpty)));
-
- //Glue
- glueFluid = new Fluid("glue").setDensity(6000).setViscosity(6000).setTemperature(200);
- if (!FluidRegistry.registerFluid(glueFluid))
- glueFluid = FluidRegistry.getFluid("glue");
- glueFluidBlock = new GlueFluid(PHConstruct.glueFluidBlock, glueFluid, Material.water).setCreativeTab(TConstructRegistry.blockTab).setStepSound(slimeStep).setUnlocalizedName("liquid.glue");
- GameRegistry.registerBlock(glueFluidBlock, "liquid.glue");
- fluids[25] = glueFluid;
- fluidBlocks[25] = glueFluidBlock;
- glueFluid.setBlockID(glueFluidBlock);
- FluidContainerRegistry.registerFluidContainer(new FluidContainerData(new FluidStack(glueFluid, 1000), new ItemStack(buckets, 1, 26), new ItemStack(Item.bucketEmpty)));
-
- pigIronFluid = new Fluid("pigiron.molten");
- if (!FluidRegistry.registerFluid(pigIronFluid))
- pigIronFluid = FluidRegistry.getFluid("pigiron.molten");
- else
- pigIronFluid.setDensity(3000).setViscosity(6000).setTemperature(1300);
- fluids[26] = pigIronFluid;
-
- slimeGel = new SlimeGel(PHConstruct.slimeGel).setStepSound(slimeStep).setLightOpacity(0).setUnlocalizedName("slime.gel");
- GameRegistry.registerBlock(slimeGel, SlimeGelItemBlock.class, "slime.gel");
-
- slimeGrass = new SlimeGrass(PHConstruct.slimeGrass).setStepSound(Block.soundGrassFootstep).setLightOpacity(0).setUnlocalizedName("slime.grass");
- GameRegistry.registerBlock(slimeGrass, SlimeGrassItemBlock.class, "slime.grass");
-
- slimeTallGrass = new SlimeTallGrass(PHConstruct.slimeTallGrass).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("slime.grass.tall");
- GameRegistry.registerBlock(slimeTallGrass, SlimeTallGrassItem.class, "slime.grass.tall");
-
- slimeLeaves = (SlimeLeaves) new SlimeLeaves(PHConstruct.slimeLeaves).setStepSound(slimeStep).setLightOpacity(0).setUnlocalizedName("slime.leaves");
- GameRegistry.registerBlock(slimeLeaves, SlimeLeavesItemBlock.class, "slime.leaves");
-
- slimeSapling = (SlimeSapling) new SlimeSapling(PHConstruct.slimeSapling).setStepSound(slimeStep).setUnlocalizedName("slime.sapling");
- GameRegistry.registerBlock(slimeSapling, SlimeSaplingItemBlock.class, "slime.sapling");
-
- slimeChannel = new ConveyorBase(PHConstruct.slimeChannel, Material.water, "greencurrent").setHardness(0.3f).setStepSound(slimeStep).setUnlocalizedName("slime.channel");
- GameRegistry.registerBlock(slimeChannel, "slime.channel");
- TConstructRegistry.drawbridgeState[slimeChannel.blockID] = 1;
-
- bloodChannel = new ConveyorBase(PHConstruct.bloodChannel, Material.water, "liquid_cow").setHardness(0.3f).setStepSound(slimeStep).setUnlocalizedName("blood.channel");
- GameRegistry.registerBlock(bloodChannel, "blood.channel");
- TConstructRegistry.drawbridgeState[bloodChannel.blockID] = 1;
-
- slimePad = new SlimePad(PHConstruct.slimePad, Material.cloth).setStepSound(slimeStep).setHardness(0.3f).setUnlocalizedName("slime.pad");
- GameRegistry.registerBlock(slimePad, "slime.pad");
- TConstructRegistry.drawbridgeState[slimePad.blockID] = 1;
-
- //Decoration
- stoneTorch = new StoneTorch(PHConstruct.stoneTorch).setUnlocalizedName("decoration.stonetorch");
- GameRegistry.registerBlock(stoneTorch, "decoration.stonetorch");
- stoneLadder = new StoneLadder(PHConstruct.stoneLadder).setUnlocalizedName("decoration.stoneladder");
- GameRegistry.registerBlock(stoneLadder, "decoration.stoneladder");
-
- multiBrick = new MultiBrick(PHConstruct.multiBrick).setUnlocalizedName("Decoration.Brick");
- GameRegistry.registerBlock(multiBrick, MultiBrickItem.class, "decoration.multibrick");
- multiBrickFancy = new MultiBrickFancy(PHConstruct.multiBrickFancy).setUnlocalizedName("Decoration.BrickFancy");
- GameRegistry.registerBlock(multiBrickFancy, MultiBrickFancyItem.class, "decoration.multibrickfancy");
-
- //Ores
- String[] berryOres = new String[] { "berry_iron", "berry_gold", "berry_copper", "berry_tin", "berry_iron_ripe", "berry_gold_ripe", "berry_copper_ripe", "berry_tin_ripe" };
- oreBerry = (OreberryBush) new OreberryBush(PHConstruct.oreBerry, berryOres, 0, 4, new String[] { "oreIron", "oreGold", "oreCopper", "oreTin" }).setUnlocalizedName("ore.berries.one");
- GameRegistry.registerBlock(oreBerry, OreberryBushItem.class, "ore.berries.one");
- String[] berryOresTwo = new String[] { "berry_aluminum", "berry_essence", "", "", "berry_aluminum_ripe", "berry_essence_ripe", "", "" };
- oreBerrySecond = (OreberryBush) new OreberryBushEssence(PHConstruct.oreBerrySecond, berryOresTwo, 4, 2, new String[] { "oreAluminum", "oreSilver" }).setUnlocalizedName("ore.berries.two");
- GameRegistry.registerBlock(oreBerrySecond, OreberryBushSecondItem.class, "ore.berries.two");
-
- String[] oreTypes = new String[] { "nether_slag", "nether_cobalt", "nether_ardite", "ore_copper", "ore_tin", "ore_aluminum", "ore_slag" };
- oreSlag = new MetalOre(PHConstruct.oreSlag, Material.rock, 10.0F, oreTypes).setUnlocalizedName("tconstruct.stoneore");
- GameRegistry.registerBlock(oreSlag, MetalOreItemBlock.class, "SearedBrick");
- MinecraftForge.setBlockHarvestLevel(oreSlag, 1, "pickaxe", 4);
- MinecraftForge.setBlockHarvestLevel(oreSlag, 2, "pickaxe", 4);
- MinecraftForge.setBlockHarvestLevel(oreSlag, 3, "pickaxe", 1);
- MinecraftForge.setBlockHarvestLevel(oreSlag, 4, "pickaxe", 1);
- MinecraftForge.setBlockHarvestLevel(oreSlag, 5, "pickaxe", 1);
-
- oreGravel = new GravelOre(PHConstruct.oreGravel).setUnlocalizedName("GravelOre").setUnlocalizedName("tconstruct.gravelore");
- GameRegistry.registerBlock(oreGravel, GravelOreItem.class, "GravelOre");
-
- MinecraftForge.setBlockHarvestLevel(oreGravel, 0, "shovel", 1);
- MinecraftForge.setBlockHarvestLevel(oreGravel, 1, "shovel", 2);
- MinecraftForge.setBlockHarvestLevel(oreGravel, 2, "shovel", 1);
- MinecraftForge.setBlockHarvestLevel(oreGravel, 3, "shovel", 1);
- MinecraftForge.setBlockHarvestLevel(oreGravel, 4, "shovel", 1);
- MinecraftForge.setBlockHarvestLevel(oreGravel, 5, "shovel", 4);
-
- speedBlock = new SpeedBlock(PHConstruct.speedBlock).setUnlocalizedName("SpeedBlock");
- GameRegistry.registerBlock(speedBlock, SpeedBlockItem.class, "SpeedBlock");
-
- //Glass
- clearGlass = new GlassBlockConnected(PHConstruct.glass, "clear", false).setUnlocalizedName("GlassBlock");
- clearGlass.stepSound = Block.soundGlassFootstep;
- GameRegistry.registerBlock(clearGlass, GlassBlockItem.class, "GlassBlock");
-
- glassPane = new GlassPaneConnected(PHConstruct.glassPane, "clear", false);
- GameRegistry.registerBlock(glassPane, GlassPaneItem.class, "GlassPane");
-
- stainedGlassClear = new GlassBlockConnectedMeta(PHConstruct.stainedGlassClear, "stained", true, "white", "orange", "magenta", "light_blue", "yellow", "lime", "pink", "gray", "light_gray",
- "cyan", "purple", "blue", "brown", "green", "red", "black").setUnlocalizedName("GlassBlock.StainedClear");
- stainedGlassClear.stepSound = Block.soundGlassFootstep;
- GameRegistry.registerBlock(stainedGlassClear, StainedGlassClearItem.class, "GlassBlock.StainedClear");
-
- stainedGlassClearPane = new GlassPaneStained(PHConstruct.stainedGlassClearPane);
- GameRegistry.registerBlock(stainedGlassClearPane, StainedGlassClearPaneItem.class, "GlassPaneClearStained");
-
- //Rail
- woodenRail = new WoodRail(PHConstruct.woodenRail).setStepSound(Block.soundWoodFootstep).setCreativeTab(TConstructRegistry.blockTab).setUnlocalizedName("rail.wood");
- GameRegistry.registerBlock(woodenRail, "rail.wood");
-
- }
-
- void registerItems ()
- {
- titleIcon = new TitleIcon(PHConstruct.uselessItem).setUnlocalizedName("tconstruct.titleicon");
- GameRegistry.registerItem(titleIcon, "titleIcon");
- String[] blanks = new String[] { "blank_pattern", "blank_cast", "blank_cast" };
- blankPattern = new CraftingItem(PHConstruct.blankPattern, blanks, blanks, "materials/").setUnlocalizedName("tconstruct.Pattern");
- GameRegistry.registerItem(blankPattern, "blankPattern");
-
- materials = new MaterialItem(PHConstruct.materials).setUnlocalizedName("tconstruct.Materials");
- toolRod = new ToolPart(PHConstruct.toolRod, "_rod", "ToolRod").setUnlocalizedName("tconstruct.ToolRod");
- toolShard = new ToolShard(PHConstruct.toolShard, "_chunk").setUnlocalizedName("tconstruct.ToolShard");
- woodPattern = new Pattern(PHConstruct.woodPattern, "pattern_", "materials/").setUnlocalizedName("tconstruct.Pattern");
- metalPattern = new MetalPattern(PHConstruct.metalPattern, "cast_", "materials/").setUnlocalizedName("tconstruct.MetalPattern");
- //armorPattern = new ArmorPattern(PHConstruct.armorPattern, "armorcast_", "materials/").setUnlocalizedName("tconstruct.ArmorPattern");
- GameRegistry.registerItem(materials, "materials");
- GameRegistry.registerItem(woodPattern, "woodPattern");
- GameRegistry.registerItem(metalPattern, "metalPattern");
- //GameRegistry.registerItem(armorPattern, "armorPattern");
-
- TConstructRegistry.addItemToDirectory("blankPattern", blankPattern);
- TConstructRegistry.addItemToDirectory("woodPattern", woodPattern);
- TConstructRegistry.addItemToDirectory("metalPattern", metalPattern);
- //TConstructRegistry.addItemToDirectory("armorPattern", armorPattern);
-
- String[] patternTypes = { "ingot", "toolRod", "pickaxeHead", "shovelHead", "hatchetHead", "swordBlade", "wideGuard", "handGuard", "crossbar", "binding", "frypanHead", "signHead",
- "knifeBlade", "chiselHead", "toughRod", "toughBinding", "largePlate", "broadAxeHead", "scytheHead", "excavatorHead", "largeBlade", "hammerHead", "fullGuard" };
-
- for (int i = 1; i < patternTypes.length; i++)
- {
- TConstructRegistry.addItemStackToDirectory(patternTypes[i] + "Pattern", new ItemStack(woodPattern, 1, i));
- }
- for (int i = 0; i < patternTypes.length; i++)
- {
- TConstructRegistry.addItemStackToDirectory(patternTypes[i] + "Cast", new ItemStack(metalPattern, 1, i));
- }
- /*String[] armorPartTypes = { "helmet", "chestplate", "leggings", "boots" };
- for (int i = 1; i < armorPartTypes.length; i++)
- {
- TConstructRegistry.addItemStackToDirectory(armorPartTypes[i] + "Cast", new ItemStack(armorPattern, 1, i));
- }*/
-
- manualBook = new Manual(PHConstruct.manual);
- GameRegistry.registerItem(manualBook, "manualBook");
- buckets = new FilledBucket(PHConstruct.buckets);
- GameRegistry.registerItem(buckets, "buckets");
-
- pickaxe = new Pickaxe(PHConstruct.pickaxe);
- shovel = new Shovel(PHConstruct.shovel);
- hatchet = new Hatchet(PHConstruct.axe);
- broadsword = new Broadsword(PHConstruct.broadsword);
- longsword = new Longsword(PHConstruct.longsword);
- rapier = new Rapier(PHConstruct.rapier);
- dagger = new Dagger(PHConstruct.dagger);
- cutlass = new Cutlass(PHConstruct.cutlass);
-
- frypan = new FryingPan(PHConstruct.frypan);
- battlesign = new BattleSign(PHConstruct.battlesign);
- mattock = new Mattock(PHConstruct.mattock);
- chisel = new Chisel(PHConstruct.chisel);
-
- lumberaxe = new LumberAxe(PHConstruct.lumberaxe);
- cleaver = new Cleaver(PHConstruct.cleaver);
- scythe = new Scythe(PHConstruct.scythe);
- excavator = new Excavator(PHConstruct.excavator);
- hammer = new Hammer(PHConstruct.hammer);
- battleaxe = new Battleaxe(PHConstruct.battleaxe);
-
- shortbow = new Shortbow(PHConstruct.shortbow);
- arrow = new Arrow(PHConstruct.arrow);
-
- Item[] tools = { pickaxe, shovel, hatchet, broadsword, longsword, rapier, dagger, cutlass, frypan, battlesign, mattock, chisel, lumberaxe, cleaver, scythe, excavator, hammer, battleaxe,
- shortbow, arrow };
- String[] toolStrings = { "pickaxe", "shovel", "hatchet", "broadsword", "longsword", "rapier", "dagger", "cutlass", "frypan", "battlesign", "mattock", "chisel", "lumberaxe", "cleaver",
- "scythe", "excavator", "hammer", "battleaxe", "shortbow", "arrow" };
-
- for (int i = 0; i < tools.length; i++)
- {
- GameRegistry.registerItem(tools[i], toolStrings[i]); // 1.7 compat
- TConstructRegistry.addItemToDirectory(toolStrings[i], tools[i]);
- }
-
- potionLauncher = new PotionLauncher(PHConstruct.potionLauncher).setUnlocalizedName("tconstruct.PotionLauncher");
- GameRegistry.registerItem(potionLauncher, "potionLauncher");
-
- pickaxeHead = new ToolPart(PHConstruct.pickaxeHead, "_pickaxe_head", "PickHead").setUnlocalizedName("tconstruct.PickaxeHead");
- shovelHead = new ToolPart(PHConstruct.shovelHead, "_shovel_head", "ShovelHead").setUnlocalizedName("tconstruct.ShovelHead");
- hatchetHead = new ToolPart(PHConstruct.axeHead, "_axe_head", "AxeHead").setUnlocalizedName("tconstruct.AxeHead");
- binding = new ToolPart(PHConstruct.binding, "_binding", "Binding").setUnlocalizedName("tconstruct.Binding");
- toughBinding = new ToolPart(PHConstruct.toughBinding, "_toughbind", "ToughBind").setUnlocalizedName("tconstruct.ThickBinding");
- toughRod = new ToolPart(PHConstruct.toughRod, "_toughrod", "ToughRod").setUnlocalizedName("tconstruct.ThickRod");
- largePlate = new ToolPart(PHConstruct.largePlate, "_largeplate", "LargePlate").setUnlocalizedName("tconstruct.LargePlate");
-
- swordBlade = new ToolPart(PHConstruct.swordBlade, "_sword_blade", "SwordBlade").setUnlocalizedName("tconstruct.SwordBlade");
- wideGuard = new ToolPart(PHConstruct.largeGuard, "_large_guard", "LargeGuard").setUnlocalizedName("tconstruct.LargeGuard");
- handGuard = new ToolPart(PHConstruct.medGuard, "_medium_guard", "MediumGuard").setUnlocalizedName("tconstruct.MediumGuard");
- crossbar = new ToolPart(PHConstruct.crossbar, "_crossbar", "Crossbar").setUnlocalizedName("tconstruct.Crossbar");
- knifeBlade = new ToolPart(PHConstruct.knifeBlade, "_knife_blade", "KnifeBlade").setUnlocalizedName("tconstruct.KnifeBlade");
- fullGuard = new ToolPartHidden(PHConstruct.fullGuard, "_full_guard", "FullGuard").setUnlocalizedName("tconstruct.FullGuard");
-
- frypanHead = new ToolPart(PHConstruct.frypanHead, "_frypan_head", "FrypanHead").setUnlocalizedName("tconstruct.FrypanHead");
- signHead = new ToolPart(PHConstruct.signHead, "_battlesign_head", "SignHead").setUnlocalizedName("tconstruct.SignHead");
- chiselHead = new ToolPart(PHConstruct.chiselHead, "_chisel_head", "ChiselHead").setUnlocalizedName("tconstruct.ChiselHead");
-
- scytheBlade = new ToolPart(PHConstruct.scytheBlade, "_scythe_head", "ScytheHead").setUnlocalizedName("tconstruct.ScytheBlade");
- broadAxeHead = new ToolPart(PHConstruct.lumberHead, "_lumberaxe_head", "LumberHead").setUnlocalizedName("tconstruct.LumberHead");
- excavatorHead = new ToolPart(PHConstruct.excavatorHead, "_excavator_head", "ExcavatorHead").setUnlocalizedName("tconstruct.ExcavatorHead");
- largeSwordBlade = new ToolPart(PHConstruct.largeSwordBlade, "_large_sword_blade", "LargeSwordBlade").setUnlocalizedName("tconstruct.LargeSwordBlade");
- hammerHead = new ToolPart(PHConstruct.hammerHead, "_hammer_head", "HammerHead").setUnlocalizedName("tconstruct.HammerHead");
-
- bowstring = new Bowstring(PHConstruct.bowstring).setUnlocalizedName("tconstruct.Bowstring");
- arrowhead = new ToolPart(PHConstruct.arrowhead, "_arrowhead", "ArrowHead").setUnlocalizedName("tconstruct.Arrowhead");
- fletching = new Fletching(PHConstruct.fletching).setUnlocalizedName("tconstruct.Fletching");
-
- Item[] toolParts = { toolRod, toolShard, pickaxeHead, shovelHead, hatchetHead, binding, toughBinding, toughRod, largePlate, swordBlade, wideGuard, handGuard, crossbar, knifeBlade, fullGuard,
- frypanHead, signHead, chiselHead, scytheBlade, broadAxeHead, excavatorHead, largeSwordBlade, hammerHead, bowstring, fletching, arrowhead };
- String[] toolPartStrings = { "toolRod", "toolShard", "pickaxeHead", "shovelHead", "hatchetHead", "binding", "toughBinding", "toughRod", "heavyPlate", "swordBlade", "wideGuard", "handGuard",
- "crossbar", "knifeBlade", "fullGuard", "frypanHead", "signHead", "chiselHead", "scytheBlade", "broadAxeHead", "excavatorHead", "largeSwordBlade", "hammerHead", "bowstring",
- "fletching", "arrowhead" };
-
- for (int i = 0; i < toolParts.length; i++)
- {
- GameRegistry.registerItem(toolParts[i], toolPartStrings[i]); // 1.7 compat
- TConstructRegistry.addItemToDirectory(toolPartStrings[i], toolParts[i]);
- }
-
- diamondApple = new DiamondApple(PHConstruct.diamondApple).setUnlocalizedName("tconstruct.apple.diamond");
- strangeFood = new StrangeFood(PHConstruct.slimefood).setUnlocalizedName("tconstruct.strangefood");
- oreBerries = new OreBerries(PHConstruct.oreChunks).setUnlocalizedName("oreberry");
- GameRegistry.registerItem(diamondApple, "diamondApple");
- GameRegistry.registerItem(strangeFood, "strangeFood");
- GameRegistry.registerItem(oreBerries, "oreBerries");
-
- jerky = new Jerky(PHConstruct.jerky, Loader.isModLoaded("HungerOverhaul")).setUnlocalizedName("tconstruct.jerky");
- GameRegistry.registerItem(jerky, "jerky");
-
- //Wearables
- heartCanister = new HeartCanister(PHConstruct.heartCanister).setUnlocalizedName("tconstruct.canister");
- knapsack = new Knapsack(PHConstruct.knapsack).setUnlocalizedName("tconstruct.storage");
- goldHead = new GoldenHead(PHConstruct.goldHead, 4, 1.2F, false).setAlwaysEdible().setPotionEffect(Potion.regeneration.id, 10, 0, 1.0F).setUnlocalizedName("goldenhead");
- GameRegistry.registerItem(heartCanister, "heartCanister");
- GameRegistry.registerItem(knapsack, "knapsack");
- GameRegistry.registerItem(goldHead, "goldHead");
-
- LiquidCasting basinCasting = TConstruct.getBasinCasting();
- materialWood = EnumHelper.addArmorMaterial("WOOD", 2, new int[] { 1, 2, 2, 1 }, 3);
- helmetWood = new ArmorBasic(PHConstruct.woodHelmet, materialWood, 0, "wood").setUnlocalizedName("tconstruct.helmetWood");
- chestplateWood = new ArmorBasic(PHConstruct.woodChestplate, materialWood, 1, "wood").setUnlocalizedName("tconstruct.chestplateWood");
- leggingsWood = new ArmorBasic(PHConstruct.woodPants, materialWood, 2, "wood").setUnlocalizedName("tconstruct.leggingsWood");
- bootsWood = new ArmorBasic(PHConstruct.woodBoots, materialWood, 3, "wood").setUnlocalizedName("tconstruct.bootsWood");
- GameRegistry.registerItem(helmetWood, "helmetWood");
- GameRegistry.registerItem(chestplateWood, "chestplateWood");
- GameRegistry.registerItem(leggingsWood, "leggingsWood");
- GameRegistry.registerItem(bootsWood, "bootsWood");
-
- exoGoggles = new ExoArmor(PHConstruct.exoGoggles, EnumArmorPart.HELMET, "exosuit").setUnlocalizedName("tconstruct.exoGoggles");
- exoChest = new ExoArmor(PHConstruct.exoChest, EnumArmorPart.CHEST, "exosuit").setUnlocalizedName("tconstruct.exoChest");
- exoPants = new ExoArmor(PHConstruct.exoPants, EnumArmorPart.PANTS, "exosuit").setUnlocalizedName("tconstruct.exoPants");
- exoShoes = new ExoArmor(PHConstruct.exoShoes, EnumArmorPart.SHOES, "exosuit").setUnlocalizedName("tconstruct.exoShoes");
-
- String[] materialStrings = { "paperStack", "greenSlimeCrystal", "searedBrick", "ingotCobalt", "ingotArdite", "ingotManyullyn", "mossBall", "lavaCrystal", "necroticBone", "ingotCopper",
- "ingotTin", "ingotAluminum", "rawAluminum", "ingotBronze", "ingotAluminumBrass", "ingotAlumite", "ingotSteel", "blueSlimeCrystal", "ingotObsidian", "nuggetIron", "nuggetCopper",
- "nuggetTin", "nuggetAluminum", "nuggetSilver", "nuggetAluminumBrass", "silkyCloth", "silkyJewel", "nuggetObsidian", "nuggetCobalt", "nuggetArdite", "nuggetManyullyn", "nuggetBronze",
- "nuggetAlumite", "nuggetSteel", "ingotPigIron", "nuggetPigIron", "glueball" };
-
- for (int i = 0; i < materialStrings.length; i++)
- {
- TConstructRegistry.addItemStackToDirectory(materialStrings[i], new ItemStack(materials, 1, i));
- }
-
- String[] oreberries = { "Iron", "Gold", "Copper", "Tin", "Aluminum", "Essence" };
-
- for (int i = 0; i < oreberries.length; i++)
- {
- TConstructRegistry.addItemStackToDirectory("oreberry" + oreberries[i], new ItemStack(oreBerries, 1, i));
- }
-
- TConstructRegistry.addItemStackToDirectory("diamondApple", new ItemStack(diamondApple, 1, 0));
- TConstructRegistry.addItemStackToDirectory("blueSlimeFood", new ItemStack(strangeFood, 1, 0));
-
- TConstructRegistry.addItemStackToDirectory("canisterEmpty", new ItemStack(heartCanister, 1, 0));
- TConstructRegistry.addItemStackToDirectory("miniRedHeart", new ItemStack(heartCanister, 1, 1));
- TConstructRegistry.addItemStackToDirectory("canisterRedHeart", new ItemStack(heartCanister, 1, 2));
-
- //Vanilla stack sizes
- Item.doorWood.setMaxStackSize(16);
- Item.doorIron.setMaxStackSize(16);
- Item.snowball.setMaxStackSize(64);
- Item.boat.setMaxStackSize(16);
- Item.minecartEmpty.setMaxStackSize(3);
- Item.minecartCrate.setMaxStackSize(3);
- Item.minecartPowered.setMaxStackSize(3);
- Item.itemsList[Block.cake.blockID].setMaxStackSize(16);
- //Block.torchWood.setTickRandomly(false);
- }
-
- void registerMaterials ()
- {
- TConstructRegistry.addToolMaterial(0, "Wood", "Wooden ", 0, 59, 200, 0, 1.0F, 0, 0f, "\u00A7e", "");
- TConstructRegistry.addToolMaterial(1, "Stone", 1, 131, 400, 1, 0.5F, 0, 1f, "", "Stonebound");
- TConstructRegistry.addToolMaterial(2, "Iron", 2, 250, 600, 2, 1.3F, 1, 0f, "\u00A7f", "");
- TConstructRegistry.addToolMaterial(3, "Flint", 1, 171, 525, 2, 0.7F, 0, 0f, "\u00A78", "");
- TConstructRegistry.addToolMaterial(4, "Cactus", 1, 150, 500, 2, 1.0F, 0, -1f, "\u00A72", "Jagged");
- TConstructRegistry.addToolMaterial(5, "Bone", 1, 200, 400, 1, 1.0F, 0, 0f, "\u00A7e", "");
- TConstructRegistry.addToolMaterial(6, "Obsidian", 3, 89, 700, 2, 0.8F, 3, 0f, "\u00A7d", "");
- TConstructRegistry.addToolMaterial(7, "Netherrack", 2, 131, 400, 1, 1.2F, 0, 1f, "\u00A74", "Stonebound");
- TConstructRegistry.addToolMaterial(8, "Slime", 0, 500, 150, 0, 1.5F, 0, 0f, "\u00A7a", "");
- TConstructRegistry.addToolMaterial(9, "Paper", 0, 30, 200, 0, 0.3F, 0, 0f, "\u00A7f", "Writable");
- TConstructRegistry.addToolMaterial(10, "Cobalt", 4, 800, 1100, 3, 1.75F, 2, 0f, "\u00A73", "");
- TConstructRegistry.addToolMaterial(11, "Ardite", 4, 600, 800, 3, 2.0F, 0, 2f, "\u00A74", "Stonebound");
- TConstructRegistry.addToolMaterial(12, "Manyullyn", 5, 1200, 900, 4, 2.5F, 0, 0f, "\u00A75", "");
- TConstructRegistry.addToolMaterial(13, "Copper", 1, 180, 500, 2, 1.15F, 0, 0f, "\u00A7c", "");
- TConstructRegistry.addToolMaterial(14, "Bronze", 2, 350, 700, 2, 1.3F, 1, 0f, "\u00A76", "");
- TConstructRegistry.addToolMaterial(15, "Alumite", 4, 550, 800, 3, 1.3F, 2, 0f, "\u00A7d", "");
- TConstructRegistry.addToolMaterial(16, "Steel", 4, 750, 800, 3, 1.3F, 2, 0f, "", "");
- TConstructRegistry.addToolMaterial(17, "BlueSlime", "Slime ", 0, 1200, 150, 0, 2.0F, 0, 0f, "\u00A7b", "");
- TConstructRegistry.addToolMaterial(18, "PigIron", "Pig Iron ", 3, 250, 600, 2, 1.3F, 1, 0f, "\u00A7c", "Tasty");
-
- TConstructRegistry.addBowMaterial(0, 384, 20, 1.0f); //Wood
- TConstructRegistry.addBowMaterial(1, 10, 80, 0.2f); //Stone
- TConstructRegistry.addBowMaterial(2, 576, 40, 1.2f); //Iron
- TConstructRegistry.addBowMaterial(3, 10, 80, 0.2f); //Flint
- TConstructRegistry.addBowMaterial(4, 384, 20, 1.0f); //Cactus
- TConstructRegistry.addBowMaterial(5, 192, 30, 1.0f); //Bone
- TConstructRegistry.addBowMaterial(6, 10, 80, 0.2f); //Obsidian
- TConstructRegistry.addBowMaterial(7, 10, 80, 0.2f); //Netherrack
- TConstructRegistry.addBowMaterial(8, 1536, 20, 1.2f); //Slime
- TConstructRegistry.addBowMaterial(9, 48, 25, 0.5f); //Paper
- TConstructRegistry.addBowMaterial(10, 1152, 40, 1.2f); //Cobalt
- TConstructRegistry.addBowMaterial(11, 960, 40, 1.2f); //Ardite
- TConstructRegistry.addBowMaterial(12, 1536, 40, 1.2f); //Manyullyn
- TConstructRegistry.addBowMaterial(13, 384, 40, 1.2f); //Copper
- TConstructRegistry.addBowMaterial(14, 576, 40, 1.2f); //Bronze
- TConstructRegistry.addBowMaterial(15, 768, 40, 1.2f); //Alumite
- TConstructRegistry.addBowMaterial(16, 768, 40, 1.2f); //Steel
- TConstructRegistry.addBowMaterial(17, 576, 20, 1.2f); //Blue Slime
- TConstructRegistry.addBowMaterial(18, 384, 20, 1.2f); //Slime
-
- //Material ID, mass, fragility
- TConstructRegistry.addArrowMaterial(0, 0.69F, 1.0F, 100F); //Wood
- TConstructRegistry.addArrowMaterial(1, 2.5F, 5.0F, 100F); //Stone
- TConstructRegistry.addArrowMaterial(2, 7.2F, 0.5F, 100F); //Iron
- TConstructRegistry.addArrowMaterial(3, 2.65F, 1.0F, 100F); //Flint
- TConstructRegistry.addArrowMaterial(4, 0.76F, 1.0F, 100F); //Cactus
- TConstructRegistry.addArrowMaterial(5, 0.69F, 1.0F, 100); //Bone
- TConstructRegistry.addArrowMaterial(6, 2.4F, 1.0F, 100F); //Obsidian
- TConstructRegistry.addArrowMaterial(7, 3.5F, 1.0F, 100F); //Netherrack
- TConstructRegistry.addArrowMaterial(8, 0.42F, 0.0F, 100F); //Slime
- TConstructRegistry.addArrowMaterial(9, 1.1F, 3.0F, 90F); //Paper
- TConstructRegistry.addArrowMaterial(10, 8.9F, 0.25F, 100F); //Cobalt
- TConstructRegistry.addArrowMaterial(11, 7.2F, 0.25F, 100F); //Ardite
- TConstructRegistry.addArrowMaterial(12, 10.6F, 0.1F, 100F); //Manyullyn
- TConstructRegistry.addArrowMaterial(13, 8.96F, 0.5F, 100F); //Copper
- TConstructRegistry.addArrowMaterial(14, 7.9F, 0.25F, 100F); //Bronze
- TConstructRegistry.addArrowMaterial(15, 4.7F, 0.25F, 100F); //Alumite
- TConstructRegistry.addArrowMaterial(16, 7.6F, 0.25F, 100F); //Steel
- TConstructRegistry.addArrowMaterial(17, 0.42F, 0.0F, 100F); //Blue Slime
- TConstructRegistry.addArrowMaterial(18, 6.8F, 0.5F, 100F); //Iron
-
- TConstructRegistry.addBowstringMaterial(0, 2, new ItemStack(Item.silk), new ItemStack(bowstring, 1, 0), 1F, 1F, 1f); //String
- TConstructRegistry.addFletchingMaterial(0, 2, new ItemStack(Item.feather), new ItemStack(fletching, 1, 0), 100F, 0F, 0.05F); //Feather
- for (int i = 0; i < 4; i++)
- TConstructRegistry.addFletchingMaterial(1, 2, new ItemStack(Block.leaves, 1, i), new ItemStack(fletching, 1, 1), 75F, 0F, 0.2F); //All four vanialla Leaves
- TConstructRegistry.addFletchingMaterial(2, 2, new ItemStack(materials, 1, 1), new ItemStack(fletching, 1, 2), 100F, 0F, 0.12F); //Slime
- TConstructRegistry.addFletchingMaterial(3, 2, new ItemStack(materials, 1, 17), new ItemStack(fletching, 1, 3), 100F, 0F, 0.12F); //BlueSlime
-
- PatternBuilder pb = PatternBuilder.instance;
- if (PHConstruct.enableTWood)
- pb.registerFullMaterial(Block.planks, 2, "Wood", new ItemStack(Item.stick), new ItemStack(Item.stick), 0);
- else
- pb.registerMaterialSet("Wood", new ItemStack(Item.stick, 2), new ItemStack(Item.stick), 0);
- if (PHConstruct.enableTStone)
- {
- pb.registerFullMaterial(Block.stone, 2, "Stone", new ItemStack(TContent.toolShard, 1, 1), new ItemStack(TContent.toolRod, 1, 1), 1);
- pb.registerMaterial(Block.cobblestone, 2, "Stone");
- }
- else
- pb.registerMaterialSet("Stone", new ItemStack(TContent.toolShard, 1, 1), new ItemStack(TContent.toolRod, 1, 1), 0);
- pb.registerFullMaterial(Item.ingotIron, 2, "Iron", new ItemStack(TContent.toolShard, 1, 2), new ItemStack(TContent.toolRod, 1, 2), 2);
- if (PHConstruct.enableTFlint)
- pb.registerFullMaterial(Item.flint, 2, "Flint", new ItemStack(TContent.toolShard, 1, 3), new ItemStack(TContent.toolRod, 1, 3), 3);
- else
- pb.registerMaterialSet("Flint", new ItemStack(TContent.toolShard, 1, 3), new ItemStack(TContent.toolRod, 1, 3), 3);
- if (PHConstruct.enableTCactus)
- pb.registerFullMaterial(Block.cactus, 2, "Cactus", new ItemStack(TContent.toolShard, 1, 4), new ItemStack(TContent.toolRod, 1, 4), 4);
- else
- pb.registerMaterialSet("Cactus", new ItemStack(TContent.toolShard, 1, 4), new ItemStack(TContent.toolRod, 1, 4), 4);
- if (PHConstruct.enableTBone)
- pb.registerFullMaterial(Item.bone, 2, "Bone", new ItemStack(Item.dyePowder, 1, 15), new ItemStack(Item.bone), 5);
- else
- pb.registerMaterialSet("Bone", new ItemStack(Item.dyePowder, 1, 15), new ItemStack(Item.bone), 5);
- pb.registerFullMaterial(Block.obsidian, 2, "Obsidian", new ItemStack(TContent.toolShard, 1, 6), new ItemStack(TContent.toolRod, 1, 6), 6);
- pb.registerMaterial(new ItemStack(materials, 1, 18), 2, "Obsidian");
- if (PHConstruct.enableTNetherrack)
- pb.registerFullMaterial(Block.netherrack, 2, "Netherrack", new ItemStack(TContent.toolShard, 1, 7), new ItemStack(TContent.toolRod, 1, 7), 7);
- else
- pb.registerMaterialSet("Netherrack", new ItemStack(TContent.toolShard, 1, 7), new ItemStack(TContent.toolRod, 1, 7), 7);
- if (PHConstruct.enableTSlime)
- pb.registerFullMaterial(new ItemStack(materials, 1, 1), 2, "Slime", new ItemStack(toolShard, 1, 8), new ItemStack(toolRod, 1, 8), 8);
- else
- pb.registerMaterialSet("Slime", new ItemStack(TContent.toolShard, 1, 8), new ItemStack(TContent.toolRod, 1, 17), 8);
- if (PHConstruct.enableTPaper)
- pb.registerFullMaterial(new ItemStack(materials, 1, 0), 2, "Paper", new ItemStack(Item.paper, 2), new ItemStack(toolRod, 1, 9), 9);
- else
- pb.registerMaterialSet("BlueSlime", new ItemStack(Item.paper, 2), new ItemStack(TContent.toolRod, 1, 9), 9);
- pb.registerMaterialSet("Cobalt", new ItemStack(toolShard, 1, 10), new ItemStack(toolRod, 1, 10), 10);
- pb.registerMaterialSet("Ardite", new ItemStack(toolShard, 1, 11), new ItemStack(toolRod, 1, 11), 11);
- pb.registerMaterialSet("Manyullyn", new ItemStack(toolShard, 1, 12), new ItemStack(toolRod, 1, 12), 12);
- pb.registerMaterialSet("Copper", new ItemStack(toolShard, 1, 13), new ItemStack(toolRod, 1, 13), 13);
- pb.registerMaterialSet("Bronze", new ItemStack(toolShard, 1, 14), new ItemStack(toolRod, 1, 14), 14);
- pb.registerMaterialSet("Alumite", new ItemStack(toolShard, 1, 15), new ItemStack(toolRod, 1, 15), 15);
- pb.registerMaterialSet("Steel", new ItemStack(toolShard, 1, 16), new ItemStack(toolRod, 1, 16), 16);
- if (PHConstruct.enableTBlueSlime)
- pb.registerFullMaterial(new ItemStack(materials, 1, 17), 2, "BlueSlime", new ItemStack(toolShard, 1, 17), new ItemStack(toolRod, 1, 17), 17);
- else
- pb.registerMaterialSet("BlueSlime", new ItemStack(TContent.toolShard, 1, 17), new ItemStack(TContent.toolRod, 1, 17), 17);
- pb.registerFullMaterial(new ItemStack(materials, 1, 34), 2, "PigIron", new ItemStack(toolShard, 1, 18), new ItemStack(toolRod, 1, 18), 18);
-
- pb.addToolPattern((IPattern) woodPattern);
- }
-
- public static Item[] patternOutputs;
- public static FluidStack[] liquids;
-
- void addCraftingRecipes ()
- {
- addPartMapping();
-
- addRecipesForToolBuilder();
- addRecipesForTableCasting();
- addRecipesForBasinCasting();
- addRecipesForSmeltery();
- addRecipesForChisel();
- addRecipesForFurnace();
- addRecipesForCraftingTable();
- addRecipesForDryingRack();
- }
-
- private void addRecipesForCraftingTable ()
- {
- String[] patBlock = { "###", "###", "###" };
- String[] patSurround = { "###", "#m#", "###" };
-
- Object[] toolForgeBlocks = { "blockIron", "blockGold", Block.blockDiamond, Block.blockEmerald, "blockCobalt", "blockArdite", "blockManyullyn", "blockCopper", "blockBronze", "blockTin",
- "blockAluminum", "blockAluminumBrass", "blockAlumite", "blockSteel" };
-
- // ToolForge Recipes (Metal Version)
- for (int sc = 0; sc < toolForgeBlocks.length; sc++)
- {
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(toolForge, 1, sc), "bbb", "msm", "m m", 'b', new ItemStack(smeltery, 1, 2), 's', new ItemStack(toolStationWood, 1, 0), 'm',
- toolForgeBlocks[sc]));
- // adding slab version recipe
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(craftingSlabWood, 1, 5), "bbb", "msm", "m m", 'b', new ItemStack(smeltery, 1, 2), 's', new ItemStack(craftingSlabWood, 1, 1), 'm',
- toolForgeBlocks[sc]));
- }
-
- // ToolStation Recipes (Wooden Version)
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(toolStationWood, 1, 0), "p", "w", 'p', new ItemStack(blankPattern, 1, 0), 'w', "crafterWood"));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(toolStationWood, 1, 0), "p", "w", 'p', new ItemStack(blankPattern, 1, 0), 'w', "craftingTableWood"));
- GameRegistry.addRecipe(new ItemStack(toolStationWood, 1, 0), "p", "w", 'p', new ItemStack(blankPattern, 1, 0), 'w', new ItemStack(craftingStationWood, 1, 0));
- GameRegistry.addRecipe(new ItemStack(toolStationWood, 1, 0), "p", "w", 'p', new ItemStack(blankPattern, 1, 0), 'w', new ItemStack(craftingSlabWood, 1, 0));
- GameRegistry.addRecipe(new ItemStack(toolStationWood, 1, 2), "p", "w", 'p', new ItemStack(blankPattern, 1, 0), 'w', new ItemStack(Block.wood, 1, 1));
- GameRegistry.addRecipe(new ItemStack(toolStationWood, 1, 3), "p", "w", 'p', new ItemStack(blankPattern, 1, 0), 'w', new ItemStack(Block.wood, 1, 2));
- GameRegistry.addRecipe(new ItemStack(toolStationWood, 1, 4), "p", "w", 'p', new ItemStack(blankPattern, 1, 0), 'w', new ItemStack(Block.wood, 1, 3));
- GameRegistry.addRecipe(new ItemStack(toolStationWood, 1, 5), "p", "w", 'p', new ItemStack(blankPattern, 1, 0), 'w', Block.chest);
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(toolStationWood, 1, 1), "p", "w", 'p', new ItemStack(blankPattern, 1, 0), 'w', "logWood"));
- if (PHConstruct.stencilTableCrafting)
- {
- GameRegistry.addRecipe(new ItemStack(toolStationWood, 1, 10), "p", "w", 'p', new ItemStack(blankPattern, 1, 0), 'w', new ItemStack(Block.planks, 1, 0));
- GameRegistry.addRecipe(new ItemStack(toolStationWood, 1, 11), "p", "w", 'p', new ItemStack(blankPattern, 1, 0), 'w', new ItemStack(Block.planks, 1, 1));
- GameRegistry.addRecipe(new ItemStack(toolStationWood, 1, 12), "p", "w", 'p', new ItemStack(blankPattern, 1, 0), 'w', new ItemStack(Block.planks, 1, 2));
- GameRegistry.addRecipe(new ItemStack(toolStationWood, 1, 13), "p", "w", 'p', new ItemStack(blankPattern, 1, 0), 'w', new ItemStack(Block.planks, 1, 3));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(toolStationWood, 1, 10), "p", "w", 'p', new ItemStack(blankPattern, 1, 0), 'w', "plankWood"));
- }
- GameRegistry.addRecipe(new ItemStack(furnaceSlab, 1, 0), "###", "# #", "###", '#', new ItemStack(Block.stoneSingleSlab, 1, 3));
-
- // Blank Pattern Recipe
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blankPattern, 1, 0), "ps", "sp", 'p', "plankWood", 's', "stickWood"));
- // Manual Book Recipes
- GameRegistry.addRecipe(new ItemStack(manualBook), "wp", 'w', new ItemStack(blankPattern, 1, 0), 'p', Item.paper);
- GameRegistry.addShapelessRecipe(new ItemStack(manualBook, 2, 0), new ItemStack(manualBook, 1, 0), Item.book);
- GameRegistry.addShapelessRecipe(new ItemStack(manualBook, 1, 1), new ItemStack(manualBook, 1, 0));
- GameRegistry.addShapelessRecipe(new ItemStack(manualBook, 2, 1), new ItemStack(manualBook, 1, 1), Item.book);
- GameRegistry.addShapelessRecipe(new ItemStack(manualBook, 1, 2), new ItemStack(manualBook, 1, 1));
- GameRegistry.addShapelessRecipe(new ItemStack(manualBook, 2, 2), new ItemStack(manualBook, 1, 2), Item.book);
- GameRegistry.addShapelessRecipe(new ItemStack(manualBook, 1, 3), new ItemStack(manualBook, 1, 2));
- // alternative Vanilla Book Recipe
- GameRegistry.addShapelessRecipe(new ItemStack(Item.book), Item.paper, Item.paper, Item.paper, Item.silk, blankPattern, blankPattern);
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.nameTag), "P~ ", "~O ", " ~", '~', Item.silk, 'P', Item.paper, 'O', "slimeball"));
- GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(slimeExplosive, 1, 0), "slimeball", Block.tnt));
- // Paperstack Recipe
- GameRegistry.addRecipe(new ItemStack(materials, 1, 0), "pp", "pp", 'p', Item.paper);
- // Mossball Recipe
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(materials, 1, 6), patBlock, '#', "stoneMossy"));
- // LavaCrystal Recipes -Auto-smelt
- GameRegistry.addRecipe(new ItemStack(materials, 1, 7), "xcx", "cbc", "xcx", 'b', Item.bucketLava, 'c', Item.fireballCharge, 'x', Item.blazeRod);
- GameRegistry.addRecipe(new ItemStack(materials, 1, 7), "xcx", "cbc", "xcx", 'b', Item.bucketLava, 'x', Item.fireballCharge, 'c', Item.blazeRod);
- // Slimy sand Recipes
- GameRegistry.addShapelessRecipe(new ItemStack(craftedSoil, 1, 0), Item.slimeBall, Item.slimeBall, Item.slimeBall, Item.slimeBall, Block.sand, Block.dirt);
- GameRegistry.addShapelessRecipe(new ItemStack(craftedSoil, 1, 2), strangeFood, strangeFood, strangeFood, strangeFood, Block.sand, Block.dirt);
- // Grout Recipes
- GameRegistry.addShapelessRecipe(new ItemStack(craftedSoil, 2, 1), Item.clay, Block.sand, Block.gravel);
- GameRegistry.addShapelessRecipe(new ItemStack(craftedSoil, 8, 1), new ItemStack(Block.blockClay, 1, Short.MAX_VALUE), Block.sand, Block.sand, Block.sand, Block.sand, Block.gravel,
- Block.gravel, Block.gravel, Block.gravel);
- GameRegistry.addShapelessRecipe(new ItemStack(craftedSoil, 2, 6), Item.netherStalkSeeds, Block.slowSand, Block.gravel);
- // Graveyard Soil Recipes
- GameRegistry.addShapelessRecipe(new ItemStack(craftedSoil, 1, 3), Block.dirt, Item.rottenFlesh, new ItemStack(Item.dyePowder, 1, 15));
- // Silky Cloth Recipes
- GameRegistry.addRecipe(new ItemStack(materials, 1, 25), patSurround, 'm', new ItemStack(materials, 1, 24), '#', new ItemStack(Item.silk));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(materials, 1, 25), patSurround, 'm', "nuggetGold", '#', new ItemStack(Item.silk)));
- // Silky Jewel Recipes
- GameRegistry.addRecipe(new ItemStack(materials, 1, 26), " c ", "cec", " c ", 'c', new ItemStack(materials, 1, 25), 'e', new ItemStack(Item.emerald));
- // Armor Recipes
- Object[] helm = new String[] { "www", "w w" };
- Object[] chest = new String[] { "w w", "www", "www" };
- Object[] pants = new String[] { "www", "w w", "w w" };
- Object[] shoes = new String[] { "w w", "w w" };
- GameRegistry.addRecipe(new ShapedOreRecipe(helmetWood, helm, 'w', "logWood"));
- GameRegistry.addRecipe(new ShapedOreRecipe(chestplateWood, chest, 'w', "logWood"));
- GameRegistry.addRecipe(new ShapedOreRecipe(leggingsWood, pants, 'w', "logWood"));
- GameRegistry.addRecipe(new ShapedOreRecipe(bootsWood, shoes, 'w', "logWood"));
-
- ItemStack exoGoggleStack = new ItemStack(exoGoggles);
- ItemStack exoChestStack = new ItemStack(exoChest);
- ItemStack exoPantsStack = new ItemStack(exoPants);
- ItemStack exoShoesStack = new ItemStack(exoShoes);
- if (!PHConstruct.exoCraftingEnabled)
- {
- ToolBuilder.instance.addArmorTag(exoGoggleStack);
- ToolBuilder.instance.addArmorTag(exoChestStack);
- ToolBuilder.instance.addArmorTag(exoPantsStack);
- ToolBuilder.instance.addArmorTag(exoShoesStack);
- GameRegistry.addShapedRecipe(exoGoggleStack, helm, 'w', new ItemStack(largePlate, 1, 14));
- GameRegistry.addShapedRecipe(exoChestStack, chest, 'w', new ItemStack(largePlate, 1, 14));
- GameRegistry.addShapedRecipe(exoPantsStack, pants, 'w', new ItemStack(largePlate, 1, 14));
- GameRegistry.addShapedRecipe(exoShoesStack, shoes, 'w', new ItemStack(largePlate, 1, 14));
- }
-
- // Metal conversion Recipes
- GameRegistry.addRecipe(new ItemStack(metalBlock, 1, 3), patBlock, '#', new ItemStack(materials, 1, 9)); // Copper
- GameRegistry.addRecipe(new ItemStack(metalBlock, 1, 5), patBlock, '#', new ItemStack(materials, 1, 10)); // Tin
- GameRegistry.addRecipe(new ItemStack(metalBlock, 1, 6), patBlock, '#', new ItemStack(materials, 1, 11)); // Aluminum
- //GameRegistry.addRecipe(new ItemStack(metalBlock, 1, 6), patBlock, '#', new ItemStack(materials, 1, 12)); // Aluminum
- GameRegistry.addRecipe(new ItemStack(metalBlock, 1, 4), patBlock, '#', new ItemStack(materials, 1, 13)); // Bronze
- GameRegistry.addRecipe(new ItemStack(metalBlock, 1, 7), patBlock, '#', new ItemStack(materials, 1, 14)); // AluBrass
- GameRegistry.addRecipe(new ItemStack(metalBlock, 1, 0), patBlock, '#', new ItemStack(materials, 1, 3)); // Cobalt
- GameRegistry.addRecipe(new ItemStack(metalBlock, 1, 1), patBlock, '#', new ItemStack(materials, 1, 4)); // Ardite
- GameRegistry.addRecipe(new ItemStack(metalBlock, 1, 2), patBlock, '#', new ItemStack(materials, 1, 5)); // Manyullyn
- GameRegistry.addRecipe(new ItemStack(metalBlock, 1, 8), patBlock, '#', new ItemStack(materials, 1, 15)); // Alumite
- GameRegistry.addRecipe(new ItemStack(metalBlock, 1, 9), patBlock, '#', new ItemStack(materials, 1, 16)); // Steel
- GameRegistry.addRecipe(new ItemStack(materials, 1, 11), patBlock, '#', new ItemStack(materials, 1, 12)); //Aluminum raw -> ingot
-
- GameRegistry.addRecipe(new ItemStack(materials, 9, 9), "m", 'm', new ItemStack(metalBlock, 1, 3)); //Copper
- GameRegistry.addRecipe(new ItemStack(materials, 9, 10), "m", 'm', new ItemStack(metalBlock, 1, 5)); //Tin
- GameRegistry.addRecipe(new ItemStack(materials, 9, 11), "m", 'm', new ItemStack(metalBlock, 1, 6)); //Aluminum
- GameRegistry.addRecipe(new ItemStack(materials, 9, 13), "m", 'm', new ItemStack(metalBlock, 1, 4)); //Bronze
- GameRegistry.addRecipe(new ItemStack(materials, 9, 14), "m", 'm', new ItemStack(metalBlock, 1, 7)); //AluBrass
- GameRegistry.addRecipe(new ItemStack(materials, 9, 3), "m", 'm', new ItemStack(metalBlock, 1, 0)); //Cobalt
- GameRegistry.addRecipe(new ItemStack(materials, 9, 4), "m", 'm', new ItemStack(metalBlock, 1, 1)); //Ardite
- GameRegistry.addRecipe(new ItemStack(materials, 9, 5), "m", 'm', new ItemStack(metalBlock, 1, 2)); //Manyullyn
- GameRegistry.addRecipe(new ItemStack(materials, 9, 15), "m", 'm', new ItemStack(metalBlock, 1, 8)); //Alumite
- GameRegistry.addRecipe(new ItemStack(materials, 9, 16), "m", 'm', new ItemStack(metalBlock, 1, 9)); //Steel
-
- GameRegistry.addRecipe(new ItemStack(Item.ingotIron), patBlock, '#', new ItemStack(materials, 1, 19)); //Iron
- GameRegistry.addRecipe(new ItemStack(materials, 1, 9), patBlock, '#', new ItemStack(materials, 1, 20)); //Copper
- GameRegistry.addRecipe(new ItemStack(materials, 1, 10), patBlock, '#', new ItemStack(materials, 1, 21)); //Tin
- GameRegistry.addRecipe(new ItemStack(materials, 1, 11), patBlock, '#', new ItemStack(materials, 1, 22)); //Aluminum
- GameRegistry.addRecipe(new ItemStack(materials, 1, 14), patBlock, '#', new ItemStack(materials, 1, 24)); //Aluminum Brass
- GameRegistry.addRecipe(new ItemStack(materials, 1, 18), patBlock, '#', new ItemStack(materials, 1, 27)); //Obsidian
- GameRegistry.addRecipe(new ItemStack(materials, 1, 3), patBlock, '#', new ItemStack(materials, 1, 28)); //Cobalt
- GameRegistry.addRecipe(new ItemStack(materials, 1, 4), patBlock, '#', new ItemStack(materials, 1, 29)); //Ardite
- GameRegistry.addRecipe(new ItemStack(materials, 1, 5), patBlock, '#', new ItemStack(materials, 1, 30)); //Manyullyn
- GameRegistry.addRecipe(new ItemStack(materials, 1, 13), patBlock, '#', new ItemStack(materials, 1, 31)); //Bronze
- GameRegistry.addRecipe(new ItemStack(materials, 1, 15), patBlock, '#', new ItemStack(materials, 1, 32)); //Alumite
- GameRegistry.addRecipe(new ItemStack(materials, 1, 16), patBlock, '#', new ItemStack(materials, 1, 33)); //Steel
-
- GameRegistry.addRecipe(new ItemStack(materials, 9, 19), "m", 'm', new ItemStack(Item.ingotIron)); //Iron
- GameRegistry.addRecipe(new ItemStack(materials, 9, 20), "m", 'm', new ItemStack(materials, 1, 9)); //Copper
- GameRegistry.addRecipe(new ItemStack(materials, 9, 21), "m", 'm', new ItemStack(materials, 1, 10)); //Tin
- GameRegistry.addRecipe(new ItemStack(materials, 9, 22), "m", 'm', new ItemStack(materials, 1, 11)); //Aluminum
- //GameRegistry.addRecipe(new ItemStack(materials, 9, 22), "m", 'm', new ItemStack(materials, 1, 12)); //Aluminum
- GameRegistry.addRecipe(new ItemStack(materials, 9, 24), "m", 'm', new ItemStack(materials, 1, 14)); //Aluminum Brass
- GameRegistry.addRecipe(new ItemStack(materials, 9, 27), "m", 'm', new ItemStack(materials, 1, 18)); //Obsidian
- GameRegistry.addRecipe(new ItemStack(materials, 9, 28), "m", 'm', new ItemStack(materials, 1, 3)); //Cobalt
- GameRegistry.addRecipe(new ItemStack(materials, 9, 29), "m", 'm', new ItemStack(materials, 1, 4)); //Ardite
- GameRegistry.addRecipe(new ItemStack(materials, 9, 30), "m", 'm', new ItemStack(materials, 1, 5)); //Manyullyn
- GameRegistry.addRecipe(new ItemStack(materials, 9, 31), "m", 'm', new ItemStack(materials, 1, 13)); //Bronze
- GameRegistry.addRecipe(new ItemStack(materials, 9, 32), "m", 'm', new ItemStack(materials, 1, 15)); //Alumite
- GameRegistry.addRecipe(new ItemStack(materials, 9, 33), "m", 'm', new ItemStack(materials, 1, 16)); //Steel
-
- // stained Glass Recipes
- String[] dyeTypes = { "dyeBlack", "dyeRed", "dyeGreen", "dyeBrown", "dyeBlue", "dyePurple", "dyeCyan", "dyeLightGray", "dyeGray", "dyePink", "dyeLime", "dyeYellow", "dyeLightBlue",
- "dyeMagenta", "dyeOrange", "dyeWhite" };
- String color = "";
- for (int i = 0; i < 16; i++)
- {
- color = dyeTypes[15 - i];
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Block.cloth, 8, i), patSurround, 'm', color, '#', new ItemStack(Block.cloth, 1, Short.MAX_VALUE)));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(stainedGlassClear, 8, i), patSurround, 'm', color, '#', clearGlass));
- GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(stainedGlassClear, 1, i), color, clearGlass));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(stainedGlassClear, 8, i), patSurround, 'm', color, '#', new ItemStack(stainedGlassClear, 1, Short.MAX_VALUE)));
- GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(stainedGlassClear, 1, i), color, new ItemStack(stainedGlassClear, 1, Short.MAX_VALUE)));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(stainedGlassClearPane, 8, i), patSurround, 'm', color, '#', glassPane));
- GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(stainedGlassClearPane, 1, i), color, glassPane));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(stainedGlassClearPane, 8, i), patSurround, 'm', color, '#', new ItemStack(stainedGlassClearPane, 1, Short.MAX_VALUE)));
- GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(stainedGlassClearPane, 1, i), color, new ItemStack(stainedGlassClearPane, 1, Short.MAX_VALUE)));
- }
-
- // Glass Recipes
- GameRegistry.addRecipe(new ItemStack(Item.glassBottle, 3), new Object[] { "# #", " # ", '#', clearGlass });
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Block.daylightSensor), new Object[] { "GGG", "QQQ", "WWW", 'G', "glass", 'Q', Item.netherQuartz, 'W', "slabWood" }));
- GameRegistry.addRecipe(new ItemStack(Block.beacon, 1), new Object[] { "GGG", "GSG", "OOO", 'G', clearGlass, 'S', Item.netherStar, 'O', Block.obsidian });
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(glassPane, 16, 0), "GGG", "GGG", 'G', clearGlass));
-
- // Smeltery Components Recipes
- ItemStack searedBrick = new ItemStack(materials, 1, 2);
- GameRegistry.addRecipe(new ItemStack(smeltery, 1, 0), "bbb", "b b", "bbb", 'b', searedBrick); //Controller
- GameRegistry.addRecipe(new ItemStack(smeltery, 1, 1), "b b", "b b", "b b", 'b', searedBrick); //Drain
- GameRegistry.addRecipe(new ItemStack(smeltery, 1, 2), "bb", "bb", 'b', searedBrick); //Bricks
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(lavaTank, 1, 0), patSurround, '#', searedBrick, 'm', "glass")); //Tank
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(lavaTank, 1, 1), "bgb", "ggg", "bgb", 'b', searedBrick, 'g', "glass")); //Glass
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(lavaTank, 1, 2), "bgb", "bgb", "bgb", 'b', searedBrick, 'g', "glass")); //Window
- GameRegistry.addRecipe(new ItemStack(searedBlock, 1, 0), "bbb", "b b", "b b", 'b', searedBrick); //Table
- GameRegistry.addRecipe(new ItemStack(searedBlock, 1, 1), "b b", " b ", 'b', searedBrick); //Faucet
- GameRegistry.addRecipe(new ItemStack(searedBlock, 1, 2), "b b", "b b", "bbb", 'b', searedBrick); //Basin
- GameRegistry.addRecipe(new ItemStack(castingChannel, 4, 0), "b b", "bbb", 'b', searedBrick); //Channel
-
- searedBrick = new ItemStack(materials, 1, 37);
- GameRegistry.addRecipe(new ItemStack(smelteryNether, 1, 0), "bbb", "b b", "bbb", 'b', searedBrick); //Controller
- GameRegistry.addRecipe(new ItemStack(smelteryNether, 1, 1), "b b", "b b", "b b", 'b', searedBrick); //Drain
- GameRegistry.addRecipe(new ItemStack(smelteryNether, 1, 2), "bb", "bb", 'b', searedBrick); //Bricks
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(lavaTankNether, 1, 0), patSurround, '#', searedBrick, 'm', "glass")); //Tank
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(lavaTankNether, 1, 1), "bgb", "ggg", "bgb", 'b', searedBrick, 'g', "glass")); //Glass
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(lavaTankNether, 1, 2), "bgb", "bgb", "bgb", 'b', searedBrick, 'g', "glass")); //Window
- GameRegistry.addRecipe(new ItemStack(searedBlockNether, 1, 0), "bbb", "b b", "b b", 'b', searedBrick); //Table
- GameRegistry.addRecipe(new ItemStack(searedBlockNether, 1, 1), "b b", " b ", 'b', searedBrick); //Faucet
- GameRegistry.addRecipe(new ItemStack(searedBlockNether, 1, 2), "b b", "b b", "bbb", 'b', searedBrick); //Basin
- GameRegistry.addRecipe(new ItemStack(castingChannel, 4, 0), "b b", "bbb", 'b', searedBrick); //Channel
-
- // Jack o'Latern Recipe - Stone Torch
- GameRegistry.addRecipe(new ItemStack(Block.pumpkinLantern, 1, 0), "p", "s", 'p', new ItemStack(Block.pumpkin), 's', new ItemStack(stoneTorch));
- // Stone Torch Recipe
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(stoneTorch, 4), "p", "w", 'p', new ItemStack(Item.coal, 1, Short.MAX_VALUE), 'w', "stoneRod"));
- // Stone Ladder Recipe
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(stoneLadder, 3), "w w", "www", "w w", 'w', "stoneRod"));
- // Wooden Rail Recipe
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(woodenRail, 4, 0), "b b", "bxb", "b b", 'b', "plankWood", 'x', "stickWood"));
- // Stonesticks Recipes
- GameRegistry.addRecipe(new ItemStack(toolRod, 4, 1), "c", "c", 'c', new ItemStack(Block.stone));
- GameRegistry.addRecipe(new ItemStack(toolRod, 2, 1), "c", "c", 'c', new ItemStack(Block.cobblestone));
- //
- ItemStack aluBrass = new ItemStack(materials, 1, 14);
- // Clock Recipe - Vanilla alternativ
- GameRegistry.addRecipe(new ItemStack(Item.pocketSundial), " i ", "iri", " i ", 'i', aluBrass, 'r', new ItemStack(Item.redstone));
- // Gold Pressure Plate - Vanilla alternativ
- GameRegistry.addRecipe(new ItemStack(Block.pressurePlateGold), "ii", 'i', aluBrass);
- //Accessories
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(heartCanister, 1, 0), "##", "##", '#', "ingotAluminum"));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(heartCanister, 1, 0), "##", "##", '#', "ingotAluminium"));
- //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(heartCanister, 1, 0), "##", "##", '#', "ingotNaturalAluminum"));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(heartCanister, 1, 0), " # ", "#B#", " # ", '#', "ingotTin", 'B', Item.bone));
- GameRegistry.addRecipe(new ItemStack(diamondApple), " d ", "d#d", " d ", 'd', new ItemStack(Item.diamond), '#', new ItemStack(Item.appleRed));
- GameRegistry.addShapelessRecipe(new ItemStack(heartCanister, 1, 2), new ItemStack(diamondApple), new ItemStack(materials, 1, 8), new ItemStack(heartCanister, 1, 0), new ItemStack(
- heartCanister, 1, 1));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(knapsack, 1, 0), "###", "rmr", "###", '#', new ItemStack(Item.leather), 'r', new ItemStack(toughRod, 1, 2), 'm', "ingotGold"));
- GameRegistry.addRecipe(new ItemStack(knapsack, 1, 0), "###", "rmr", "###", '#', new ItemStack(Item.leather), 'r', new ItemStack(toughRod, 1, 2), 'm', aluBrass);
- // Drying Rack Recipes
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(dryingRack, 1, 0), "bbb", 'b', "slabWood"));
- //Landmine Recipes
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(landmine, 1, 0), "mcm", "rpr", 'm', "plankWood", 'c', new ItemStack(blankPattern, 1, 1), 'r', Item.redstone, 'p',
- Block.pressurePlateStone));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(landmine, 1, 1), "mcm", "rpr", 'm', Block.stone, 'c', new ItemStack(blankPattern, 1, 1), 'r', Item.redstone, 'p',
- Block.pressurePlateStone));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(landmine, 1, 2), "mcm", "rpr", 'm', Block.obsidian, 'c', new ItemStack(blankPattern, 1, 1), 'r', Item.redstone, 'p',
- Block.pressurePlateStone));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(landmine, 1, 3), "mcm", "rpr", 'm', Item.redstoneRepeater, 'c', new ItemStack(blankPattern, 1, 1), 'r', Item.redstone, 'p',
- Block.pressurePlateStone));
-
- //Ultra hardcore recipes
- GameRegistry.addRecipe(new ItemStack(goldHead), patSurround, '#', new ItemStack(Item.ingotGold), 'm', new ItemStack(Item.skull, 1, 3));
-
- // Slab Smeltery Components Recipes
- for (int i = 0; i < 7; i++)
- {
- GameRegistry.addRecipe(new ItemStack(speedSlab, 6, i), "bbb", 'b', new ItemStack(speedBlock, 1, i));
- }
- GameRegistry.addRecipe(new ItemStack(searedSlab, 6, 0), "bbb", 'b', new ItemStack(smeltery, 1, 2));
- GameRegistry.addRecipe(new ItemStack(searedSlab, 6, 1), "bbb", 'b', new ItemStack(smeltery, 1, 4));
- GameRegistry.addRecipe(new ItemStack(searedSlab, 6, 2), "bbb", 'b', new ItemStack(smeltery, 1, 5));
- GameRegistry.addRecipe(new ItemStack(searedSlab, 6, 3), "bbb", 'b', new ItemStack(smeltery, 1, 6));
- GameRegistry.addRecipe(new ItemStack(searedSlab, 6, 4), "bbb", 'b', new ItemStack(smeltery, 1, 8));
- GameRegistry.addRecipe(new ItemStack(searedSlab, 6, 5), "bbb", 'b', new ItemStack(smeltery, 1, 9));
- GameRegistry.addRecipe(new ItemStack(searedSlab, 6, 6), "bbb", 'b', new ItemStack(smeltery, 1, 10));
- GameRegistry.addRecipe(new ItemStack(searedSlab, 6, 7), "bbb", 'b', new ItemStack(smeltery, 1, 11));
-
- // Wool Slab Recipes
- for (int sc = 0; sc <= 7; sc++)
- {
- GameRegistry.addRecipe(new ItemStack(woolSlab1, 6, sc), "www", 'w', new ItemStack(Block.cloth, 1, sc));
- GameRegistry.addRecipe(new ItemStack(woolSlab2, 6, sc), "www", 'w', new ItemStack(Block.cloth, 1, sc + 8));
-
- GameRegistry.addShapelessRecipe(new ItemStack(Block.cloth, 1, sc), new ItemStack(woolSlab1, 1, sc), new ItemStack(woolSlab1, 1, sc));
- GameRegistry.addShapelessRecipe(new ItemStack(Block.cloth, 1, sc + 8), new ItemStack(woolSlab2, 1, sc), new ItemStack(woolSlab2, 1, sc));
- }
- GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Block.cloth, 1, 0), "slabCloth", "slabCloth"));
- //Trap Recipes
- GameRegistry.addRecipe(new ItemStack(punji, 5, 0), "b b", " b ", "b b", 'b', new ItemStack(Item.reed));
- GameRegistry.addRecipe(new ItemStack(barricadeSpruce, 1, 0), "b", "b", 'b', new ItemStack(Block.wood, 1, 1));
- GameRegistry.addRecipe(new ItemStack(barricadeBirch, 1, 0), "b", "b", 'b', new ItemStack(Block.wood, 1, 2));
- GameRegistry.addRecipe(new ItemStack(barricadeJungle, 1, 0), "b", "b", 'b', new ItemStack(Block.wood, 1, 3));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(barricadeOak, 1, 0), "b", "b", 'b', "logWood"));
- // Advanced WorkBench Recipes
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(craftingStationWood, 1, 0), "b", 'b', "crafterWood"));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(craftingStationWood, 1, 0), "b", 'b', "craftingTableWood"));
- //Slab crafters
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(craftingSlabWood, 6, 0), "bbb", 'b', "crafterWood"));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(craftingSlabWood, 6, 0), "bbb", 'b', "craftingTableWood"));
- GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 0), "b", 'b', new ItemStack(craftingStationWood, 1, 0));
- GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 1), "b", 'b', new ItemStack(toolStationWood, 1, 0));
- GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 2), "b", 'b', new ItemStack(toolStationWood, 1, 1));
- GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 2), "b", 'b', new ItemStack(toolStationWood, 1, 2));
- GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 2), "b", 'b', new ItemStack(toolStationWood, 1, 3));
- GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 2), "b", 'b', new ItemStack(toolStationWood, 1, 4));
- GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 4), "b", 'b', new ItemStack(toolStationWood, 1, 5));
- GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 3), "b", 'b', new ItemStack(toolStationWood, 1, 10));
- GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 3), "b", 'b', new ItemStack(toolStationWood, 1, 11));
- GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 3), "b", 'b', new ItemStack(toolStationWood, 1, 12));
- GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 3), "b", 'b', new ItemStack(toolStationWood, 1, 13));
- GameRegistry.addRecipe(new ItemStack(craftingSlabWood, 1, 5), "b", 'b', new ItemStack(toolForge, 1, Short.MAX_VALUE));
- // EssenceExtractor Recipe
- //Slime Recipes
- GameRegistry.addRecipe(new ItemStack(slimeGel, 1, 0), "##", "##", '#', strangeFood);
- GameRegistry.addRecipe(new ItemStack(strangeFood, 4, 0), "#", '#', new ItemStack(slimeGel, 1, 0));
- GameRegistry.addRecipe(new ItemStack(slimeGel, 1, 1), "##", "##", '#', Item.slimeBall);
- GameRegistry.addRecipe(new ItemStack(Item.slimeBall, 4, 0), "#", '#', new ItemStack(slimeGel, 1, 1));
- //slimeExplosive
- GameRegistry.addShapelessRecipe(new ItemStack(slimeExplosive, 1, 0), Item.slimeBall, Block.tnt);
- GameRegistry.addShapelessRecipe(new ItemStack(slimeExplosive, 1, 2), strangeFood, Block.tnt);
- GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(slimeExplosive, 1, 0), "slimeball", Block.tnt));
-
- GameRegistry.addShapelessRecipe(new ItemStack(slimeChannel, 1, 0), new ItemStack(slimeGel, 1, Short.MAX_VALUE), new ItemStack(Item.redstone));
- GameRegistry.addShapelessRecipe(new ItemStack(bloodChannel, 1, 0), new ItemStack(strangeFood, 1, 1), new ItemStack(strangeFood, 1, 1), new ItemStack(strangeFood, 1, 1), new ItemStack(
- strangeFood, 1, 1), new ItemStack(Item.redstone));
- GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(slimeChannel, 1, 0), "slimeball", "slimeball", "slimeball", "slimeball", new ItemStack(Item.redstone)));
- GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(slimePad, 1, 0), slimeChannel, "slimeball"));
- }
-
- private void addRecipesForFurnace ()
- {
- FurnaceRecipes.smelting().addSmelting(craftedSoil.blockID, 3, new ItemStack(craftedSoil, 1, 4), 0.2f); //Concecrated Soil
-
- FurnaceRecipes.smelting().addSmelting(craftedSoil.blockID, 0, new ItemStack(materials, 1, 1), 2f); //Slime
- FurnaceRecipes.smelting().addSmelting(craftedSoil.blockID, 1, new ItemStack(materials, 1, 2), 2f); //Seared brick item
- FurnaceRecipes.smelting().addSmelting(craftedSoil.blockID, 2, new ItemStack(materials, 1, 17), 2f); //Blue Slime
- FurnaceRecipes.smelting().addSmelting(craftedSoil.blockID, 6, new ItemStack(materials, 1, 37), 2f); //Nether seared brick
- //FurnaceRecipes.smelting().addSmelting(oreSlag.blockID, 1, new ItemStack(materials, 1, 3), 3f);
- //FurnaceRecipes.smelting().addSmelting(oreSlag.blockID, 2, new ItemStack(materials, 1, 4), 3f);
- FurnaceRecipes.smelting().addSmelting(oreSlag.blockID, 3, new ItemStack(materials, 1, 9), 0.5f);
- FurnaceRecipes.smelting().addSmelting(oreSlag.blockID, 4, new ItemStack(materials, 1, 10), 0.5f);
- FurnaceRecipes.smelting().addSmelting(oreSlag.blockID, 5, new ItemStack(materials, 1, 11), 0.5f);
-
- FurnaceRecipes.smelting().addSmelting(oreBerries.itemID, 0, new ItemStack(materials, 1, 19), 0.2f);
- FurnaceRecipes.smelting().addSmelting(oreBerries.itemID, 1, new ItemStack(Item.goldNugget), 0.2f);
- FurnaceRecipes.smelting().addSmelting(oreBerries.itemID, 2, new ItemStack(materials, 1, 20), 0.2f);
- FurnaceRecipes.smelting().addSmelting(oreBerries.itemID, 3, new ItemStack(materials, 1, 21), 0.2f);
- FurnaceRecipes.smelting().addSmelting(oreBerries.itemID, 4, new ItemStack(materials, 1, 22), 0.2f);
- //FurnaceRecipes.smelting().addSmelting(oreBerries.itemID, 5, new ItemStack(materials, 1, 23), 0.2f);
-
- FurnaceRecipes.smelting().addSmelting(oreGravel.blockID, 0, new ItemStack(Item.ingotIron), 0.2f);
- FurnaceRecipes.smelting().addSmelting(oreGravel.blockID, 1, new ItemStack(Item.ingotGold), 0.2f);
- FurnaceRecipes.smelting().addSmelting(oreGravel.blockID, 2, new ItemStack(materials, 1, 9), 0.2f);
- FurnaceRecipes.smelting().addSmelting(oreGravel.blockID, 3, new ItemStack(materials, 1, 10), 0.2f);
- FurnaceRecipes.smelting().addSmelting(oreGravel.blockID, 4, new ItemStack(materials, 1, 11), 0.2f);
-
- FurnaceRecipes.smelting().addSmelting(speedBlock.blockID, 0, new ItemStack(speedBlock, 1, 2), 0.2f);
- }
-
- private void addPartMapping ()
- {
- /* Tools */
- patternOutputs = new Item[] { toolRod, pickaxeHead, shovelHead, hatchetHead, swordBlade, wideGuard, handGuard, crossbar, binding, frypanHead, signHead, knifeBlade, chiselHead, toughRod,
- toughBinding, largePlate, broadAxeHead, scytheBlade, excavatorHead, largeSwordBlade, hammerHead, fullGuard, null, null, arrowhead, null };
-
- int[] nonMetals = { 0, 1, 3, 4, 5, 6, 7, 8, 9, 17 };
-
- if (PHConstruct.craftMetalTools)
- {
- for (int mat = 0; mat < 18; mat++)
- {
- for (int meta = 0; meta < patternOutputs.length; meta++)
- {
- if (patternOutputs[meta] != null)
- TConstructRegistry.addPartMapping(woodPattern.itemID, meta + 1, mat, new ItemStack(patternOutputs[meta], 1, mat));
- }
- }
- }
- else
- {
- for (int mat = 0; mat < nonMetals.length; mat++)
- {
- for (int meta = 0; meta < patternOutputs.length; meta++)
- {
- if (patternOutputs[meta] != null)
- TConstructRegistry.addPartMapping(woodPattern.itemID, meta + 1, nonMetals[mat], new ItemStack(patternOutputs[meta], 1, nonMetals[mat]));
- }
- }
- }
- }
-
- private void addRecipesForToolBuilder ()
- {
- ToolBuilder tb = ToolBuilder.instance;
- tb.addNormalToolRecipe(pickaxe, pickaxeHead, toolRod, binding);
- tb.addNormalToolRecipe(broadsword, swordBlade, toolRod, wideGuard);
- tb.addNormalToolRecipe(hatchet, hatchetHead, toolRod);
- tb.addNormalToolRecipe(shovel, shovelHead, toolRod);
- tb.addNormalToolRecipe(longsword, swordBlade, toolRod, handGuard);
- tb.addNormalToolRecipe(rapier, swordBlade, toolRod, crossbar);
- tb.addNormalToolRecipe(frypan, frypanHead, toolRod);
- tb.addNormalToolRecipe(battlesign, signHead, toolRod);
- tb.addNormalToolRecipe(mattock, hatchetHead, toolRod, shovelHead);
- tb.addNormalToolRecipe(dagger, knifeBlade, toolRod, crossbar);
- tb.addNormalToolRecipe(cutlass, swordBlade, toolRod, fullGuard);
- tb.addNormalToolRecipe(chisel, chiselHead, toolRod);
-
- tb.addNormalToolRecipe(scythe, scytheBlade, toughRod, toughBinding, toughRod);
- tb.addNormalToolRecipe(lumberaxe, broadAxeHead, toughRod, largePlate, toughBinding);
- tb.addNormalToolRecipe(cleaver, largeSwordBlade, toughRod, largePlate, toughRod);
- tb.addNormalToolRecipe(excavator, excavatorHead, toughRod, largePlate, toughBinding);
- tb.addNormalToolRecipe(hammer, hammerHead, toughRod, largePlate, largePlate);
- tb.addNormalToolRecipe(battleaxe, broadAxeHead, toughRod, broadAxeHead, toughBinding);
-
- //tb.addNormalToolRecipe(shortbow, toolRod, bowstring, toolRod);
- BowRecipe recipe = new BowRecipe(toolRod, bowstring, toolRod, shortbow);
- tb.addCustomToolRecipe(recipe);
- tb.addNormalToolRecipe(arrow, arrowhead, toolRod, fletching);
-
- ItemStack diamond = new ItemStack(Item.diamond);
- tb.registerToolMod(new ModRepair());
- tb.registerToolMod(new ModDurability(new ItemStack[] { diamond }, 0, 500, 0f, 3, "Diamond", "\u00a7bDurability +500", "\u00a7b"));
- tb.registerToolMod(new ModDurability(new ItemStack[] { new ItemStack(Item.emerald) }, 1, 0, 0.5f, 2, "Emerald", "\u00a72Durability +50%", "\u00a72"));
-
- modFlux = new ModFlux();
- tb.registerToolMod(modFlux);
-
- ItemStack redstoneItem = new ItemStack(Item.redstone);
- ItemStack redstoneBlock = new ItemStack(Block.blockRedstone);
- tb.registerToolMod(new ModRedstone(2, new ItemStack[] { redstoneItem, redstoneBlock }, new int[] { 1, 9 }));
-
- ItemStack lapisItem = new ItemStack(Item.dyePowder, 1, 4);
- ItemStack lapisBlock = new ItemStack(Block.blockLapis);
- this.modLapis = new ModLapis(10, new ItemStack[] { lapisItem, lapisBlock }, new int[] { 1, 9 });
- tb.registerToolMod(this.modLapis);
-
- tb.registerToolMod(new ModInteger(new ItemStack[] { new ItemStack(this.materials, 1, 6) }, 4, "Moss", 3, "\u00a72", "Auto-Repair"));
- ItemStack blazePowder = new ItemStack(Item.blazePowder);
- tb.registerToolMod(new ModBlaze(7, new ItemStack[] { blazePowder }, new int[] { 1 }));
- tb.registerToolMod(new ModAutoSmelt(new ItemStack[] { new ItemStack(this.materials, 1, 7) }, 6, "Lava", "\u00a74", "Auto-Smelt"));
- tb.registerToolMod(new ModInteger(new ItemStack[] { new ItemStack(this.materials, 1, 8) }, 8, "Necrotic", 1, "\u00a78", "Life Steal"));
-
- this.modAttack = new ModAttack("Quartz", 11, new ItemStack[] { new ItemStack(Item.netherQuartz), new ItemStack(Block.blockNetherQuartz, 1, Short.MAX_VALUE) }, new int[] { 1, 4 });
- tb.registerToolMod(this.modAttack);
-
- tb.registerToolMod(new ModExtraModifier(new ItemStack[] { diamond, new ItemStack(Block.blockGold) }, "Tier1Free"));
- tb.registerToolMod(new ModExtraModifier(new ItemStack[] { new ItemStack(Block.blockDiamond), new ItemStack(Item.appleGold, 1, 1) }, "Tier1.5Free"));
- tb.registerToolMod(new ModExtraModifier(new ItemStack[] { new ItemStack(Item.netherStar) }, "Tier2Free"));
-
- ItemStack silkyJewel = new ItemStack(this.materials, 1, 26);
- tb.registerToolMod(new ModButtertouch(new ItemStack[] { silkyJewel }, 12));
-
- ItemStack piston = new ItemStack(Block.pistonBase);
- tb.registerToolMod(new ModPiston(3, new ItemStack[] { piston }, new int[] { 1 }));
-
- tb.registerToolMod(new ModInteger(new ItemStack[] { new ItemStack(Block.obsidian), new ItemStack(Item.enderPearl) }, 13, "Beheading", 1, "\u00a7d", "Beheading"));
-
- ItemStack holySoil = new ItemStack(this.craftedSoil, 1, 4);
- tb.registerToolMod(new ModSmite("Smite", 14, new ItemStack[] { holySoil }, new int[] { 1 }));
-
- ItemStack spidereyeball = new ItemStack(Item.fermentedSpiderEye);
- tb.registerToolMod(new ModAntiSpider("Anti-Spider", 15, new ItemStack[] { spidereyeball }, new int[] { 1 }));
-
- ItemStack obsidianPlate = new ItemStack(this.largePlate, 1, 6);
- tb.registerToolMod(new ModReinforced(new ItemStack[] { obsidianPlate }, 16, 1));
-
- EnumSet allArmors = EnumSet.of(EnumArmorPart.HELMET, EnumArmorPart.CHEST, EnumArmorPart.PANTS, EnumArmorPart.SHOES);
- EnumSet chest = EnumSet.of(EnumArmorPart.CHEST);
- tb.registerArmorMod(new AModMoveSpeed(0, allArmors, new ItemStack[] { redstoneItem, redstoneBlock }, new int[] { 1, 9 }, false));
- tb.registerArmorMod(new AModKnockbackResistance(1, allArmors, new ItemStack[] { new ItemStack(Item.ingotGold), new ItemStack(Block.blockGold) }, new int[] { 1, 9 }, false));
- tb.registerArmorMod(new AModHealthBoost(2, allArmors, new ItemStack[] { new ItemStack(heartCanister, 1, 2) }, new int[] { 2 }, true));
- tb.registerArmorMod(new AModDamageBoost(3, allArmors, new ItemStack[] { new ItemStack(Item.diamond), new ItemStack(Block.blockDiamond) }, new int[] { 1, 9 }, false, 3, 0.05));
- tb.registerArmorMod(new AModDamageBoost(4, chest, new ItemStack[] { new ItemStack(Block.blockNetherQuartz, 1, Short.MAX_VALUE) }, new int[] { 1 }, true, 5, 1));
- tb.registerArmorMod(new AModProtection(5, allArmors, new ItemStack[] { new ItemStack(largePlate, 1, 2) }, new int[] { 2 }));
-
- tb.registerArmorMod(new AModDoubleJump(new ItemStack[] { new ItemStack(Item.ghastTear), new ItemStack(slimeGel, 1, 0), new ItemStack(slimeGel, 1, 1) }));
-
- TConstructRegistry.registerActiveToolMod(new TActiveOmniMod());
- }
-
- private void addRecipesForTableCasting ()
- {
- /* Smeltery */
- ItemStack ingotcast = new ItemStack(metalPattern, 1, 0);
- ItemStack gemcast = new ItemStack(metalPattern, 1, 26);
- LiquidCasting tableCasting = TConstructRegistry.instance.getTableCasting();
- //Blank
- tableCasting.addCastingRecipe(new ItemStack(blankPattern, 1, 1), new FluidStack(moltenAlubrassFluid, TConstruct.ingotLiquidValue), 80);
- tableCasting.addCastingRecipe(new ItemStack(blankPattern, 1, 2), new FluidStack(moltenGoldFluid, TConstruct.ingotLiquidValue * 2), 80);
- tableCasting.addCastingRecipe(gemcast, new FluidStack(moltenAlubrassFluid, TConstruct.ingotLiquidValue), new ItemStack(Item.emerald), 80);
- tableCasting.addCastingRecipe(gemcast, new FluidStack(moltenGoldFluid, TConstruct.ingotLiquidValue * 2), new ItemStack(Item.emerald), 80);
-
- //Ingots
- tableCasting.addCastingRecipe(new ItemStack(materials, 1, 2), new FluidStack(moltenStoneFluid, TConstruct.ingotLiquidValue / 4), ingotcast, 80); //stone
-
- //Misc
- tableCasting.addCastingRecipe(new ItemStack(Item.emerald), new FluidStack(moltenEmeraldFluid, 640), gemcast, 80);
- tableCasting.addCastingRecipe(new ItemStack(materials, 1, 36), new FluidStack(glueFluid, TConstruct.ingotLiquidValue), null, 50);
- tableCasting.addCastingRecipe(new ItemStack(strangeFood, 1, 1), new FluidStack(bloodFluid, 160), null, 50);
-
- //Buckets
- ItemStack bucket = new ItemStack(Item.bucketEmpty);
-
- for (int sc = 0; sc < 24; sc++)
- {
- tableCasting.addCastingRecipe(new ItemStack(buckets, 1, sc), new FluidStack(fluids[sc], FluidContainerRegistry.BUCKET_VOLUME), bucket, true, 10);
- }
- tableCasting.addCastingRecipe(new ItemStack(buckets, 1, 26), new FluidStack(fluids[26], FluidContainerRegistry.BUCKET_VOLUME), bucket, true, 10);
-
- // Clear glass pane casting
- tableCasting.addCastingRecipe(new ItemStack(glassPane), new FluidStack(moltenGlassFluid, 250), null, 80);
-
- // Metal toolpart casting
- liquids = new FluidStack[] { new FluidStack(moltenIronFluid, 1), new FluidStack(moltenCopperFluid, 1), new FluidStack(moltenCobaltFluid, 1), new FluidStack(moltenArditeFluid, 1),
- new FluidStack(moltenManyullynFluid, 1), new FluidStack(moltenBronzeFluid, 1), new FluidStack(moltenAlumiteFluid, 1), new FluidStack(moltenObsidianFluid, 1),
- new FluidStack(moltenSteelFluid, 1), new FluidStack(pigIronFluid, 1) };
- int[] liquidDamage = new int[] { 2, 13, 10, 11, 12, 14, 15, 6, 16, 18 }; //ItemStack damage value
- int fluidAmount = 0;
- Fluid fs = null;
-
- for (int iter = 0; iter < patternOutputs.length; iter++)
- {
- if (patternOutputs[iter] != null)
- {
- ItemStack cast = new ItemStack(metalPattern, 1, iter + 1);
-
- tableCasting.addCastingRecipe(cast, new FluidStack(moltenAlubrassFluid, TConstruct.ingotLiquidValue), new ItemStack(patternOutputs[iter], 1, Short.MAX_VALUE), false, 50);
- tableCasting.addCastingRecipe(cast, new FluidStack(moltenGoldFluid, TConstruct.ingotLiquidValue * 2), new ItemStack(patternOutputs[iter], 1, Short.MAX_VALUE), false, 50);
-
- for (int iterTwo = 0; iterTwo < liquids.length; iterTwo++)
- {
- fs = liquids[iterTwo].getFluid();
- fluidAmount = ((IPattern) metalPattern).getPatternCost(cast) * TConstruct.ingotLiquidValue / 2;
- ItemStack metalCast = new ItemStack(patternOutputs[iter], 1, liquidDamage[iterTwo]);
- tableCasting.addCastingRecipe(metalCast, new FluidStack(fs, fluidAmount), cast, 50);
- Smeltery.addMelting(FluidType.getFluidType(fs), metalCast, 0, fluidAmount);
- }
- }
- }
-
- ItemStack[] ingotShapes = { new ItemStack(Item.brick), new ItemStack(Item.netherrackBrick), new ItemStack(materials, 1, 2), new ItemStack(materials, 1, 37) };
- for (int i = 0; i < ingotShapes.length; i++)
- {
- tableCasting.addCastingRecipe(ingotcast, new FluidStack(moltenAlubrassFluid, TConstruct.ingotLiquidValue), ingotShapes[i], false, 50);
- tableCasting.addCastingRecipe(ingotcast, new FluidStack(moltenGoldFluid, TConstruct.ingotLiquidValue * 2), ingotShapes[i], false, 50);
- }
-
- ItemStack fullguardCast = new ItemStack(metalPattern, 1, 22);
- tableCasting.addCastingRecipe(fullguardCast, new FluidStack(moltenAlubrassFluid, TConstruct.ingotLiquidValue), new ItemStack(fullGuard, 1, Short.MAX_VALUE), false, 50);
- tableCasting.addCastingRecipe(fullguardCast, new FluidStack(moltenGoldFluid, TConstruct.ingotLiquidValue * 2), new ItemStack(fullGuard, 1, Short.MAX_VALUE), false, 50);
-
- // Golden Food Stuff
- FluidStack goldAmount = null;
- if (PHConstruct.goldAppleRecipe)
- {
- goldAmount = new FluidStack(moltenGoldFluid, TConstruct.ingotLiquidValue * 8);
- }
- else
- {
- goldAmount = new FluidStack(moltenGoldFluid, TConstruct.nuggetLiquidValue * 8);
- }
- tableCasting.addCastingRecipe(new ItemStack(Item.appleGold, 1), goldAmount, new ItemStack(Item.appleRed), true, 50);
- tableCasting.addCastingRecipe(new ItemStack(Item.goldenCarrot, 1), goldAmount, new ItemStack(Item.carrot), true, 50);
- tableCasting.addCastingRecipe(new ItemStack(Item.speckledMelon, 1), goldAmount, new ItemStack(Item.melon), true, 50);
- tableCasting.addCastingRecipe(new ItemStack(goldHead), goldAmount, new ItemStack(Item.skull, 1, 3), true, 50);
- }
-
- private void addRecipesForBasinCasting ()
- {
- LiquidCasting basinCasting = TConstructRegistry.getBasinCasting();
- // Block Casting
- basinCasting.addCastingRecipe(new ItemStack(Block.blockIron), new FluidStack(moltenIronFluid, TConstruct.blockLiquidValue), null, true, 100); //Iron
- basinCasting.addCastingRecipe(new ItemStack(Block.blockGold), new FluidStack(moltenGoldFluid, TConstruct.blockLiquidValue), null, true, 100); //gold
- basinCasting.addCastingRecipe(new ItemStack(metalBlock, 1, 3), new FluidStack(moltenCopperFluid, TConstruct.blockLiquidValue), null, true, 100); //copper
- basinCasting.addCastingRecipe(new ItemStack(metalBlock, 1, 5), new FluidStack(moltenTinFluid, TConstruct.blockLiquidValue), null, true, 100); //tin
- basinCasting.addCastingRecipe(new ItemStack(metalBlock, 1, 6), new FluidStack(moltenAluminumFluid, TConstruct.blockLiquidValue), null, true, 100); //aluminum
- basinCasting.addCastingRecipe(new ItemStack(metalBlock, 1, 0), new FluidStack(moltenCobaltFluid, TConstruct.blockLiquidValue), null, true, 100); //cobalt
- basinCasting.addCastingRecipe(new ItemStack(metalBlock, 1, 1), new FluidStack(moltenArditeFluid, TConstruct.blockLiquidValue), null, true, 100); //ardite
- basinCasting.addCastingRecipe(new ItemStack(metalBlock, 1, 4), new FluidStack(moltenBronzeFluid, TConstruct.blockLiquidValue), null, true, 100); //bronze
- basinCasting.addCastingRecipe(new ItemStack(metalBlock, 1, 7), new FluidStack(moltenAlubrassFluid, TConstruct.blockLiquidValue), null, true, 100); //albrass
- basinCasting.addCastingRecipe(new ItemStack(metalBlock, 1, 2), new FluidStack(moltenManyullynFluid, TConstruct.blockLiquidValue), null, true, 100); //manyullyn
- basinCasting.addCastingRecipe(new ItemStack(metalBlock, 1, 8), new FluidStack(moltenAlumiteFluid, TConstruct.blockLiquidValue), null, true, 100); //alumite
- basinCasting.addCastingRecipe(new ItemStack(Block.obsidian), new FluidStack(moltenObsidianFluid, TConstruct.oreLiquidValue), null, true, 100);// obsidian
- basinCasting.addCastingRecipe(new ItemStack(metalBlock, 1, 9), new FluidStack(moltenSteelFluid, TConstruct.blockLiquidValue), null, true, 100); //steel
- basinCasting.addCastingRecipe(new ItemStack(clearGlass, 1, 0), new FluidStack(moltenGlassFluid, FluidContainerRegistry.BUCKET_VOLUME), null, true, 100); //glass
- basinCasting.addCastingRecipe(new ItemStack(smeltery, 1, 4), new FluidStack(moltenStoneFluid, TConstruct.ingotLiquidValue), null, true, 100); //seared stone
- basinCasting.addCastingRecipe(new ItemStack(smeltery, 1, 5), new FluidStack(moltenStoneFluid, TConstruct.chunkLiquidValue), new ItemStack(Block.cobblestone), true, 100);
- basinCasting.addCastingRecipe(new ItemStack(Block.blockEmerald), new FluidStack(moltenEmeraldFluid, 640 * 9), null, true, 100); //emerald
- basinCasting.addCastingRecipe(new ItemStack(speedBlock, 1, 0), new FluidStack(moltenTinFluid, TConstruct.nuggetLiquidValue), new ItemStack(Block.gravel), true, 100); //brownstone
- if (PHConstruct.craftEndstone)//endstone
- {
- basinCasting.addCastingRecipe(new ItemStack(Block.whiteStone), new FluidStack(moltenEnderFluid, 50), new ItemStack(Block.obsidian), true, 100);
- basinCasting.addCastingRecipe(new ItemStack(Block.whiteStone), new FluidStack(moltenEnderFluid, 250), new ItemStack(Block.sandStone), true, 100);
- }
- basinCasting.addCastingRecipe(new ItemStack(metalBlock.blockID, 1, 10), new FluidStack(moltenEnderFluid, 1000), null, true, 100); //ender
- basinCasting.addCastingRecipe(new ItemStack(glueBlock), new FluidStack(glueFluid, TConstruct.blockLiquidValue), null, true, 100); //glue
-
- // basinCasting.addCastingRecipe(new ItemStack(slimeGel, 1, 0), new FluidStack(blueSlimeFluid, FluidContainerRegistry.BUCKET_VOLUME), null, true, 100);
-
- //Armor casts
- /*FluidRenderProperties frp = new FluidRenderProperties(Applications.BASIN.minHeight, 0.65F, Applications.BASIN);
- FluidStack aluFlu = new FluidStack(moltenAlubrassFluid, TConstruct.ingotLiquidValue * 10);
- FluidStack gloFlu = new FluidStack(moltenGoldFluid, TConstruct.ingotLiquidValue * 10);
- ItemStack[] armor = { new ItemStack(helmetWood), new ItemStack(chestplateWood), new ItemStack(leggingsWood), new ItemStack(bootsWood) };
- for (int sc = 0; sc < armor.length; sc++)
- {
- basinCasting.addCastingRecipe(new ItemStack(armorPattern, 1, sc), aluFlu, armor[sc], 50, frp);
- basinCasting.addCastingRecipe(new ItemStack(armorPattern, 1, sc), gloFlu, armor[sc], 50, frp);
- }*/
- }
-
- private void addRecipesForSmeltery ()
- {
- //Alloy Smelting
- Smeltery.addAlloyMixing(new FluidStack(moltenBronzeFluid, TConstruct.ingotLiquidValue * PHConstruct.ingotsBronzeAlloy), new FluidStack(moltenCopperFluid, TConstruct.ingotLiquidValue * 3),
- new FluidStack(moltenTinFluid, TConstruct.ingotLiquidValue)); //Bronze
- Smeltery.addAlloyMixing(new FluidStack(moltenAlubrassFluid, TConstruct.ingotLiquidValue * PHConstruct.ingotsAluminumBrassAlloy), new FluidStack(moltenAluminumFluid,
- TConstruct.ingotLiquidValue * 3), new FluidStack(moltenCopperFluid, TConstruct.ingotLiquidValue * 1)); //Aluminum Brass
- Smeltery.addAlloyMixing(new FluidStack(moltenAlumiteFluid, TConstruct.ingotLiquidValue * PHConstruct.ingotsAlumiteAlloy), new FluidStack(moltenAluminumFluid, TConstruct.ingotLiquidValue * 5),
- new FluidStack(moltenIronFluid, TConstruct.ingotLiquidValue * 2), new FluidStack(moltenObsidianFluid, TConstruct.ingotLiquidValue * 2)); //Alumite
- Smeltery.addAlloyMixing(new FluidStack(moltenManyullynFluid, TConstruct.ingotLiquidValue * PHConstruct.ingotsManyullynAlloy), new FluidStack(moltenCobaltFluid, TConstruct.ingotLiquidValue),
- new FluidStack(moltenArditeFluid, TConstruct.ingotLiquidValue)); //Manyullyn
- Smeltery.addAlloyMixing(new FluidStack(pigIronFluid, TConstruct.ingotLiquidValue * PHConstruct.ingotsPigironAlloy), new FluidStack(moltenIronFluid, TConstruct.ingotLiquidValue),
- new FluidStack(moltenEmeraldFluid, 640), new FluidStack(bloodFluid, 80)); //Pigiron
-
- // Stone parts
- for (int sc = 0; sc < patternOutputs.length; sc++)
- {
- if (patternOutputs[sc] != null)
- {
- Smeltery.addMelting(FluidType.Stone, new ItemStack(patternOutputs[sc], 1, 1), 1, (8 * ((IPattern) woodPattern).getPatternCost(new ItemStack(woodPattern, 1, sc + 1))) / 2);
- }
- }
-
- // Chunks
- Smeltery.addMelting(FluidType.Stone, new ItemStack(toolShard, 1, 1), 0, 4);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(toolShard, 1, 2), 0, TConstruct.chunkLiquidValue);
- Smeltery.addMelting(FluidType.Obsidian, new ItemStack(toolShard, 1, 6), 0, TConstruct.chunkLiquidValue);
- Smeltery.addMelting(FluidType.Cobalt, new ItemStack(toolShard, 1, 10), 0, TConstruct.chunkLiquidValue);
- Smeltery.addMelting(FluidType.Ardite, new ItemStack(toolShard, 1, 11), 0, TConstruct.chunkLiquidValue);
- Smeltery.addMelting(FluidType.Manyullyn, new ItemStack(toolShard, 1, 12), 0, TConstruct.chunkLiquidValue);
- Smeltery.addMelting(FluidType.Copper, new ItemStack(toolShard, 1, 13), 0, TConstruct.chunkLiquidValue);
- Smeltery.addMelting(FluidType.Bronze, new ItemStack(toolShard, 1, 14), 0, TConstruct.chunkLiquidValue);
- Smeltery.addMelting(FluidType.Alumite, new ItemStack(toolShard, 1, 15), 0, TConstruct.chunkLiquidValue);
- Smeltery.addMelting(FluidType.Steel, new ItemStack(toolShard, 1, 16), 0, TConstruct.chunkLiquidValue);
-
- // Items
-
- Smeltery.addMelting(FluidType.AluminumBrass, new ItemStack(blankPattern, 4, 1), -50, TConstruct.ingotLiquidValue);
- Smeltery.addMelting(FluidType.Gold, new ItemStack(blankPattern, 4, 2), -50, TConstruct.ingotLiquidValue * 2);
- Smeltery.addMelting(FluidType.Glue, new ItemStack(materials, 1, 36), 0, TConstruct.ingotLiquidValue);
-
- Smeltery.addMelting(FluidType.Ender, new ItemStack(Item.enderPearl, 4), 0, 250);
- Smeltery.addMelting(metalBlock, 10, 50, new FluidStack(moltenEnderFluid, 1000));
- Smeltery.addMelting(FluidType.Water, new ItemStack(Item.snowball, 1, 0), 0, 125);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.flintAndSteel, 1, 0), 0, TConstruct.ingotLiquidValue);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.compass, 1, 0), 0, TConstruct.ingotLiquidValue * 4);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.bucketEmpty), 0, TConstruct.ingotLiquidValue * 3);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.minecartEmpty), 0, TConstruct.ingotLiquidValue * 5);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.minecartCrate), 0, TConstruct.ingotLiquidValue * 5);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.minecartPowered), 0, TConstruct.ingotLiquidValue * 5);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.minecartHopper), 50, TConstruct.ingotLiquidValue * 10);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.doorIron), 0, TConstruct.ingotLiquidValue * 6);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.cauldron), 0, TConstruct.ingotLiquidValue * 7);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.shears), 0, TConstruct.ingotLiquidValue * 2);
- Smeltery.addMelting(FluidType.Emerald, new ItemStack(Item.emerald), -50, 640);
-
- //Blocks melt as themselves!
- //Ore
- Smeltery.addMelting(Block.oreIron, 0, 600, new FluidStack(moltenIronFluid, TConstruct.ingotLiquidValue * 2));
- Smeltery.addMelting(Block.oreGold, 0, 400, new FluidStack(moltenGoldFluid, TConstruct.ingotLiquidValue * 2));
- Smeltery.addMelting(oreGravel, 0, 600, new FluidStack(moltenIronFluid, TConstruct.ingotLiquidValue * 2));
- Smeltery.addMelting(oreGravel, 1, 400, new FluidStack(moltenGoldFluid, TConstruct.ingotLiquidValue * 2));
-
- //Blocks
- Smeltery.addMelting(Block.blockIron, 0, 600, new FluidStack(moltenIronFluid, TConstruct.ingotLiquidValue * 9));
- Smeltery.addMelting(Block.blockGold, 0, 400, new FluidStack(moltenGoldFluid, TConstruct.ingotLiquidValue * 9));
- Smeltery.addMelting(Block.obsidian, 0, 800, new FluidStack(moltenObsidianFluid, TConstruct.ingotLiquidValue * 2));
- Smeltery.addMelting(Block.ice, 0, 75, new FluidStack(FluidRegistry.getFluid("water"), 1000));
- Smeltery.addMelting(Block.blockSnow, 0, 75, new FluidStack(FluidRegistry.getFluid("water"), 500));
- Smeltery.addMelting(Block.snow, 0, 75, new FluidStack(FluidRegistry.getFluid("water"), 250));
- Smeltery.addMelting(Block.sand, 0, 625, new FluidStack(moltenGlassFluid, FluidContainerRegistry.BUCKET_VOLUME));
- Smeltery.addMelting(Block.glass, 0, 625, new FluidStack(moltenGlassFluid, FluidContainerRegistry.BUCKET_VOLUME));
- Smeltery.addMelting(Block.thinGlass, 0, 625, new FluidStack(moltenGlassFluid, 250));
- Smeltery.addMelting(Block.stone, 0, 800, new FluidStack(moltenStoneFluid, TConstruct.ingotLiquidValue / 18));
- Smeltery.addMelting(Block.cobblestone, 0, 800, new FluidStack(moltenStoneFluid, TConstruct.ingotLiquidValue / 18));
- Smeltery.addMelting(Block.blockEmerald, 0, 800, new FluidStack(moltenEmeraldFluid, 640 * 9));
- Smeltery.addMelting(glueBlock, 0, 250, new FluidStack(glueFluid, TConstruct.blockLiquidValue));
- Smeltery.addMelting(craftedSoil, 1, 600, new FluidStack(moltenStoneFluid, TConstruct.ingotLiquidValue / 4));
-
- Smeltery.addMelting(clearGlass, 0, 500, new FluidStack(moltenGlassFluid, 1000));
- Smeltery.addMelting(glassPane, 0, 350, new FluidStack(moltenGlassFluid, 250));
-
- for (int i = 0; i < 16; i++)
- {
- Smeltery.addMelting(stainedGlassClear, i, 500, new FluidStack(moltenGlassFluid, 1000));
- Smeltery.addMelting(stainedGlassClearPane, i, 350, new FluidStack(moltenGlassFluid, 250));
- }
-
- //Bricks
- Smeltery.addMelting(multiBrick, 4, 600, new FluidStack(moltenIronFluid, TConstruct.ingotLiquidValue));
- Smeltery.addMelting(multiBrickFancy, 4, 600, new FluidStack(moltenIronFluid, TConstruct.ingotLiquidValue));
- Smeltery.addMelting(multiBrick, 5, 400, new FluidStack(moltenGoldFluid, TConstruct.ingotLiquidValue));
- Smeltery.addMelting(multiBrickFancy, 5, 400, new FluidStack(moltenGoldFluid, TConstruct.ingotLiquidValue));
- Smeltery.addMelting(multiBrick, 0, 800, new FluidStack(moltenObsidianFluid, TConstruct.ingotLiquidValue * 2));
- Smeltery.addMelting(multiBrickFancy, 0, 800, new FluidStack(moltenObsidianFluid, TConstruct.ingotLiquidValue * 2));
-
- //Vanilla blocks
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Block.fenceIron), 0, TConstruct.ingotLiquidValue * 6 / 16);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Block.pressurePlateIron), 0, TConstruct.oreLiquidValue);
- Smeltery.addMelting(FluidType.Gold, new ItemStack(Block.pressurePlateGold, 4), 0, TConstruct.oreLiquidValue);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Block.rail), 0, TConstruct.ingotLiquidValue * 6 / 16);
- Smeltery.addMelting(FluidType.Gold, new ItemStack(Block.railPowered), 0, TConstruct.ingotLiquidValue);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Block.railDetector), 0, TConstruct.ingotLiquidValue);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Block.railActivator), 0, TConstruct.ingotLiquidValue);
- Smeltery.addMelting(FluidType.Obsidian, new ItemStack(Block.enchantmentTable), 0, TConstruct.ingotLiquidValue * 4);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Block.cauldron), 0, TConstruct.ingotLiquidValue * 7);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Block.anvil, 1, 0), 200, TConstruct.ingotLiquidValue * 31);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Block.anvil, 1, 1), 200, TConstruct.ingotLiquidValue * 31);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Block.anvil, 1, 2), 200, TConstruct.ingotLiquidValue * 31);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Block.hopperBlock), 0, TConstruct.ingotLiquidValue * 5);
-
- //Vanilla Armor
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.helmetIron, 1, 0), 50, TConstruct.ingotLiquidValue * 5);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.plateIron, 1, 0), 50, TConstruct.ingotLiquidValue * 8);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.legsIron, 1, 0), 50, TConstruct.ingotLiquidValue * 7);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.bootsIron, 1, 0), 50, TConstruct.ingotLiquidValue * 4);
-
- Smeltery.addMelting(FluidType.Gold, new ItemStack(Item.helmetGold, 1, 0), 50, TConstruct.ingotLiquidValue * 5);
- Smeltery.addMelting(FluidType.Gold, new ItemStack(Item.plateGold, 1, 0), 50, TConstruct.ingotLiquidValue * 8);
- Smeltery.addMelting(FluidType.Gold, new ItemStack(Item.legsGold, 1, 0), 50, TConstruct.ingotLiquidValue * 7);
- Smeltery.addMelting(FluidType.Gold, new ItemStack(Item.bootsGold, 1, 0), 50, TConstruct.ingotLiquidValue * 4);
-
- Smeltery.addMelting(FluidType.Steel, new ItemStack(Item.helmetChain, 1, 0), 25, TConstruct.ingotLiquidValue);
- Smeltery.addMelting(FluidType.Steel, new ItemStack(Item.plateChain, 1, 0), 50, TConstruct.oreLiquidValue);
- Smeltery.addMelting(FluidType.Steel, new ItemStack(Item.legsChain, 1, 0), 50, TConstruct.oreLiquidValue);
- Smeltery.addMelting(FluidType.Steel, new ItemStack(Item.bootsChain, 1, 0), 25, TConstruct.ingotLiquidValue);
-
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.horseArmorIron, 1), 100, TConstruct.ingotLiquidValue * 6);
- Smeltery.addMelting(FluidType.Gold, new ItemStack(Item.horseArmorGold, 1), 100, TConstruct.ingotLiquidValue * 6);
-
- //Vanilla tools
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.hoeIron, 1, 0), 0, TConstruct.oreLiquidValue);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.swordIron, 1, 0), 0, TConstruct.oreLiquidValue);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.shovelIron, 1, 0), 0, TConstruct.ingotLiquidValue);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.pickaxeIron, 1, 0), 0, TConstruct.ingotLiquidValue * 3);
- Smeltery.addMelting(FluidType.Iron, new ItemStack(Item.axeIron, 1, 0), 0, TConstruct.ingotLiquidValue * 3);
-
- Smeltery.addMelting(FluidType.Gold, new ItemStack(Item.hoeGold, 1, 0), 0, TConstruct.oreLiquidValue);
- Smeltery.addMelting(FluidType.Gold, new ItemStack(Item.swordGold, 1, 0), 0, TConstruct.oreLiquidValue);
- Smeltery.addMelting(FluidType.Gold, new ItemStack(Item.shovelGold, 1, 0), 0, TConstruct.ingotLiquidValue);
- Smeltery.addMelting(FluidType.Gold, new ItemStack(Item.pickaxeGold, 1, 0), 0, TConstruct.ingotLiquidValue * 3);
- Smeltery.addMelting(FluidType.Gold, new ItemStack(Item.axeGold, 1, 0), 0, TConstruct.ingotLiquidValue * 3);
- }
-
- private void addRecipesForDryingRack ()
- {
- //Drying rack
- DryingRackRecipes.addDryingRecipe(Item.beefRaw, 20 * 60 * 5, new ItemStack(jerky, 1, 0));
- DryingRackRecipes.addDryingRecipe(Item.chickenRaw, 20 * 60 * 5, new ItemStack(jerky, 1, 1));
- DryingRackRecipes.addDryingRecipe(Item.porkRaw, 20 * 60 * 5, new ItemStack(jerky, 1, 2));
- //DryingRackRecipes.addDryingRecipe(Item.muttonRaw, 20 * 60 * 5, new ItemStack(jerky, 1, 3));
- DryingRackRecipes.addDryingRecipe(Item.fishRaw, 20 * 60 * 5, new ItemStack(jerky, 1, 4));
- DryingRackRecipes.addDryingRecipe(Item.rottenFlesh, 20 * 60 * 5, new ItemStack(jerky, 1, 5));
- DryingRackRecipes.addDryingRecipe(new ItemStack(strangeFood, 1, 0), 20 * 60 * 5, new ItemStack(jerky, 1, 6));
- DryingRackRecipes.addDryingRecipe(new ItemStack(strangeFood, 1, 1), 20 * 60 * 5, new ItemStack(jerky, 1, 7));
-
- //DryingRackRecipes.addDryingRecipe(new ItemStack(jerky, 1, 5), 20 * 60 * 10, Item.leather);
- }
-
- private void addRecipesForChisel ()
- {
- /* Detailing */
- Detailing chiseling = TConstructRegistry.getChiselDetailing();
- chiseling.addDetailing(Block.stone, 0, Block.stoneBrick, 0, chisel);
- chiseling.addDetailing(speedBlock, 0, speedBlock, 1, chisel);
- chiseling.addDetailing(speedBlock, 2, speedBlock, 3, chisel);
- chiseling.addDetailing(speedBlock, 3, speedBlock, 4, chisel);
- chiseling.addDetailing(speedBlock, 4, speedBlock, 5, chisel);
- chiseling.addDetailing(speedBlock, 5, speedBlock, 6, chisel);
-
- chiseling.addDetailing(Block.obsidian, 0, multiBrick, 0, chisel);
- chiseling.addDetailing(Block.sandStone, 0, Block.sandStone, 2, chisel);
- chiseling.addDetailing(Block.sandStone, 2, Block.sandStone, 1, chisel);
- chiseling.addDetailing(Block.sandStone, 1, multiBrick, 1, chisel);
- //chiseling.addDetailing(Block.netherrack, 0, multiBrick, 2, chisel);
- //chiseling.addDetailing(Block.stone_refined, 0, multiBrick, 3, chisel);
- chiseling.addDetailing(Item.ingotIron, 0, multiBrick, 4, chisel);
- chiseling.addDetailing(Item.ingotGold, 0, multiBrick, 5, chisel);
- chiseling.addDetailing(Item.dyePowder, 4, multiBrick, 6, chisel);
- chiseling.addDetailing(Item.diamond, 0, multiBrick, 7, chisel);
- chiseling.addDetailing(Item.redstone, 0, multiBrick, 8, chisel);
- chiseling.addDetailing(Item.bone, 0, multiBrick, 9, chisel);
- chiseling.addDetailing(Item.slimeBall, 0, multiBrick, 10, chisel);
- chiseling.addDetailing(strangeFood, 0, multiBrick, 11, chisel);
- chiseling.addDetailing(Block.whiteStone, 0, multiBrick, 12, chisel);
- chiseling.addDetailing(materials, 18, multiBrick, 13, chisel);
-
- // adding multiBrick / multiBrickFanxy meta 0-13 to list
- for (int sc = 0; sc < 14; sc++)
- {
- chiseling.addDetailing(multiBrick, sc, multiBrickFancy, sc, chisel);
- }
-
- chiseling.addDetailing(Block.stoneBrick, 0, multiBrickFancy, 15, chisel);
- chiseling.addDetailing(multiBrickFancy, 15, multiBrickFancy, 14, chisel);
- chiseling.addDetailing(multiBrickFancy, 14, Block.stoneBrick, 3, chisel);
- /*chiseling.addDetailing(multiBrick, 14, multiBrickFancy, 14, chisel);
- chiseling.addDetailing(multiBrick, 15, multiBrickFancy, 15, chisel);*/
-
- chiseling.addDetailing(smeltery, 4, smeltery, 6, chisel);
- chiseling.addDetailing(smeltery, 6, smeltery, 11, chisel);
- chiseling.addDetailing(smeltery, 11, smeltery, 2, chisel);
- chiseling.addDetailing(smeltery, 2, smeltery, 8, chisel);
- chiseling.addDetailing(smeltery, 8, smeltery, 9, chisel);
- chiseling.addDetailing(smeltery, 9, smeltery, 10, chisel);
- }
-
- void setupToolTabs ()
- {
- TConstructRegistry.materialTab.init(new ItemStack(titleIcon, 1, 255));
- TConstructRegistry.blockTab.init(new ItemStack(toolStationWood));
- ItemStack tool = new ItemStack(longsword, 1, 0);
-
- NBTTagCompound compound = new NBTTagCompound();
- compound.setCompoundTag("InfiTool", new NBTTagCompound());
- compound.getCompoundTag("InfiTool").setInteger("RenderHead", 2);
- compound.getCompoundTag("InfiTool").setInteger("RenderHandle", 0);
- compound.getCompoundTag("InfiTool").setInteger("RenderAccessory", 10);
- tool.setTagCompound(compound);
-
- //TConstruct.
- TConstructRegistry.toolTab.init(tool);
- }
-
- public void addLoot ()
- {
- //Item, min, max, weight
- ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(heartCanister, 1, 1), 1, 1, 5));
- ChestGenHooks.getInfo(ChestGenHooks.PYRAMID_DESERT_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(heartCanister, 1, 1), 1, 1, 10));
- ChestGenHooks.getInfo(ChestGenHooks.PYRAMID_JUNGLE_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(heartCanister, 1, 1), 1, 1, 10));
-
- tinkerHouseChest = new ChestGenHooks("TinkerHouse", new WeightedRandomChestContent[0], 3, 27);
- tinkerHouseChest.addItem(new WeightedRandomChestContent(new ItemStack(heartCanister, 1, 1), 1, 1, 1));
- int[] validTypes = { 0, 1, 2, 3, 4, 5, 6, 8, 9, 13, 14, 17 };
- Item[] partTypes = { pickaxeHead, shovelHead, hatchetHead, binding, swordBlade, wideGuard, handGuard, crossbar, knifeBlade, frypanHead, signHead, chiselHead };
-
- for (int partIter = 0; partIter < partTypes.length; partIter++)
- {
- for (int typeIter = 0; typeIter < validTypes.length; typeIter++)
- {
- tinkerHouseChest.addItem(new WeightedRandomChestContent(new ItemStack(partTypes[partIter], 1, validTypes[typeIter]), 1, 1, 15));
- }
- }
-
- tinkerHousePatterns = new ChestGenHooks("TinkerPatterns", new WeightedRandomChestContent[0], 5, 30);
- for (int i = 0; i < 13; i++)
- {
- tinkerHousePatterns.addItem(new WeightedRandomChestContent(new ItemStack(woodPattern, 1, i + 1), 1, 3, 20));
- }
- tinkerHousePatterns.addItem(new WeightedRandomChestContent(new ItemStack(woodPattern, 1, 22), 1, 3, 40));
- }
-
- public static String[] liquidNames;
-
- public void oreRegistry ()
- {
- OreDictionary.registerOre("oreCobalt", new ItemStack(oreSlag, 1, 1));
- OreDictionary.registerOre("oreArdite", new ItemStack(oreSlag, 1, 2));
- OreDictionary.registerOre("oreCopper", new ItemStack(oreSlag, 1, 3));
- OreDictionary.registerOre("oreTin", new ItemStack(oreSlag, 1, 4));
- OreDictionary.registerOre("oreAluminum", new ItemStack(oreSlag, 1, 5));
- OreDictionary.registerOre("oreAluminium", new ItemStack(oreSlag, 1, 5));
-
- OreDictionary.registerOre("oreIron", new ItemStack(oreGravel, 1, 0));
- OreDictionary.registerOre("oreGold", new ItemStack(oreGravel, 1, 1));
- OreDictionary.registerOre("oreCobalt", new ItemStack(oreGravel, 1, 5));
- OreDictionary.registerOre("oreCopper", new ItemStack(oreGravel, 1, 2));
- OreDictionary.registerOre("oreTin", new ItemStack(oreGravel, 1, 3));
- OreDictionary.registerOre("oreAluminum", new ItemStack(oreGravel, 1, 4));
- OreDictionary.registerOre("oreAluminium", new ItemStack(oreGravel, 1, 4));
-
- OreDictionary.registerOre("ingotCobalt", new ItemStack(materials, 1, 3));
- OreDictionary.registerOre("ingotArdite", new ItemStack(materials, 1, 4));
- OreDictionary.registerOre("ingotManyullyn", new ItemStack(materials, 1, 5));
- OreDictionary.registerOre("ingotCopper", new ItemStack(materials, 1, 9));
- OreDictionary.registerOre("ingotTin", new ItemStack(materials, 1, 10));
- OreDictionary.registerOre("ingotAluminum", new ItemStack(materials, 1, 11));
- OreDictionary.registerOre("ingotAluminium", new ItemStack(materials, 1, 11));
- OreDictionary.registerOre("ingotBronze", new ItemStack(materials, 1, 13));
- OreDictionary.registerOre("ingotAluminumBrass", new ItemStack(materials, 1, 14));
- OreDictionary.registerOre("ingotAluminiumBrass", new ItemStack(materials, 1, 14));
- OreDictionary.registerOre("ingotAlumite", new ItemStack(materials, 1, 15));
- OreDictionary.registerOre("ingotSteel", new ItemStack(materials, 1, 16));
- ensureOreIsRegistered("ingotIron", new ItemStack(Item.ingotIron));
- ensureOreIsRegistered("ingotGold", new ItemStack(Item.ingotGold));
- OreDictionary.registerOre("ingotObsidian", new ItemStack(materials, 1, 18));
- OreDictionary.registerOre("ingotPigIron", new ItemStack(materials, 1, 34));
- OreDictionary.registerOre("itemRawRubber", new ItemStack(materials, 1, 36));
-
- OreDictionary.registerOre("blockCobalt", new ItemStack(metalBlock, 1, 0));
- OreDictionary.registerOre("blockArdite", new ItemStack(metalBlock, 1, 1));
- OreDictionary.registerOre("blockManyullyn", new ItemStack(metalBlock, 1, 2));
- OreDictionary.registerOre("blockCopper", new ItemStack(metalBlock, 1, 3));
- OreDictionary.registerOre("blockBronze", new ItemStack(metalBlock, 1, 4));
- OreDictionary.registerOre("blockTin", new ItemStack(metalBlock, 1, 5));
- OreDictionary.registerOre("blockAluminum", new ItemStack(metalBlock, 1, 6));
- OreDictionary.registerOre("blockAluminium", new ItemStack(metalBlock, 1, 6));
- OreDictionary.registerOre("blockAluminumBrass", new ItemStack(metalBlock, 1, 7));
- OreDictionary.registerOre("blockAluminiumBrass", new ItemStack(metalBlock, 1, 7));
- OreDictionary.registerOre("blockAlumite", new ItemStack(metalBlock, 1, 8));
- OreDictionary.registerOre("blockSteel", new ItemStack(metalBlock, 1, 9));
- ensureOreIsRegistered("blockIron", new ItemStack(Block.blockIron));
- ensureOreIsRegistered("blockGold", new ItemStack(Block.blockGold));
-
- OreDictionary.registerOre("nuggetIron", new ItemStack(materials, 1, 19));
- OreDictionary.registerOre("nuggetIron", new ItemStack(oreBerries, 1, 0));
- OreDictionary.registerOre("nuggetCopper", new ItemStack(materials, 1, 20));
- OreDictionary.registerOre("nuggetCopper", new ItemStack(oreBerries, 1, 2));
- OreDictionary.registerOre("nuggetTin", new ItemStack(materials, 1, 21));
- OreDictionary.registerOre("nuggetTin", new ItemStack(oreBerries, 1, 3));
- OreDictionary.registerOre("nuggetAluminum", new ItemStack(materials, 1, 22));
- OreDictionary.registerOre("nuggetAluminum", new ItemStack(oreBerries, 1, 4));
- OreDictionary.registerOre("nuggetAluminium", new ItemStack(materials, 1, 22));
- OreDictionary.registerOre("nuggetAluminium", new ItemStack(oreBerries, 1, 4));
- OreDictionary.registerOre("nuggetAluminumBrass", new ItemStack(materials, 1, 24));
- OreDictionary.registerOre("nuggetAluminiumBrass", new ItemStack(materials, 1, 24));
- OreDictionary.registerOre("nuggetObsidian", new ItemStack(materials, 1, 27));
- OreDictionary.registerOre("nuggetCobalt", new ItemStack(materials, 1, 28));
- OreDictionary.registerOre("nuggetArdite", new ItemStack(materials, 1, 29));
- OreDictionary.registerOre("nuggetManyullyn", new ItemStack(materials, 1, 30));
- OreDictionary.registerOre("nuggetBronze", new ItemStack(materials, 1, 31));
- OreDictionary.registerOre("nuggetAlumite", new ItemStack(materials, 1, 32));
- OreDictionary.registerOre("nuggetSteel", new ItemStack(materials, 1, 33));
- OreDictionary.registerOre("nuggetGold", new ItemStack(oreBerries, 1, 1));
- ensureOreIsRegistered("nuggetGold", new ItemStack(Item.goldNugget));
- OreDictionary.registerOre("nuggetPigIron", new ItemStack(materials, 1, 35));
-
- OreDictionary.registerOre("slabCloth", new ItemStack(woolSlab1, 1, Short.MAX_VALUE));
- OreDictionary.registerOre("slabCloth", new ItemStack(woolSlab2, 1, Short.MAX_VALUE));
-
- ensureOreIsRegistered("stoneMossy", new ItemStack(Block.stoneBrick, 1, 1));
- ensureOreIsRegistered("stoneMossy", new ItemStack(Block.cobblestoneMossy));
-
- OreDictionary.registerOre("crafterWood", new ItemStack(Block.workbench, 1));
- OreDictionary.registerOre("craftingTableWood", new ItemStack(Block.workbench, 1));
-
- OreDictionary.registerOre("torchStone", new ItemStack(stoneTorch));
-
- String[] matNames = { "wood", "stone", "iron", "flint", "cactus", "bone", "obsidian", "netherrack", "slime", "paper", "cobalt", "ardite", "manyullyn", "copper", "bronze", "alumite", "steel",
- "blueslime" };
- for (int i = 0; i < matNames.length; i++)
- OreDictionary.registerOre(matNames[i] + "Rod", new ItemStack(toolRod, 1, i));
- OreDictionary.registerOre("thaumiumRod", new ItemStack(toolRod, 1, 31));
-
- String[] glassTypes = { "glassBlack", "glassRed", "glassGreen", "glassBrown", "glassBlue", "glassPurple", "glassCyan", "glassLightGray", "glassGray", "glassPink", "glassLime", "glassYellow",
- "glassLightBlue", "glassMagenta", "glassOrange", "glassWhite" };
- for (int i = 0; i < 16; i++)
- {
- OreDictionary.registerOre(glassTypes[15 - i], new ItemStack(stainedGlassClear, 1, i));
- }
-
- BlockDispenser.dispenseBehaviorRegistry.putObject(titleIcon, new TDispenserBehaviorSpawnEgg());
-
- BlockDispenser.dispenseBehaviorRegistry.putObject(arrow, new TDispenserBehaviorArrow());
-
- //Vanilla stuff
- OreDictionary.registerOre("slimeball", new ItemStack(Item.slimeBall));
- OreDictionary.registerOre("slimeball", new ItemStack(strangeFood, 1, 0));
- OreDictionary.registerOre("slimeball", new ItemStack(strangeFood, 1, 1));
- OreDictionary.registerOre("slimeball", new ItemStack(materials, 1, 36));
- OreDictionary.registerOre("glass", new ItemStack(clearGlass));
- OreDictionary.registerOre("glass", new ItemStack(Block.glass));
- RecipeRemover.removeShapedRecipe(new ItemStack(Block.pistonStickyBase));
- RecipeRemover.removeShapedRecipe(new ItemStack(Item.magmaCream));
- RecipeRemover.removeShapedRecipe(new ItemStack(Item.leash));
- GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Block.pistonStickyBase), "slimeball", Block.pistonBase));
- GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Item.magmaCream), "slimeball", Item.blazePowder));
- GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.leash, 2), "ss ", "sS ", " s", 's', Item.silk, 'S', "slimeball"));
- }
-
- private void ensureOreIsRegistered (String oreName, ItemStack is)
- {
- int oreId = OreDictionary.getOreID(is);
- if (oreId == -1)
- {
- OreDictionary.registerOre(oreName, is);
- }
- }
-
- public static boolean thaumcraftAvailable;
-
- public void intermodCommunication ()
- {
- if (Loader.isModLoaded("Thaumcraft"))
- {
- FMLInterModComms.sendMessage("Thaumcraft", "harvestClickableCrop", new ItemStack(oreBerry, 1, 12));
- FMLInterModComms.sendMessage("Thaumcraft", "harvestClickableCrop", new ItemStack(oreBerry, 1, 13));
- FMLInterModComms.sendMessage("Thaumcraft", "harvestClickableCrop", new ItemStack(oreBerry, 1, 14));
- FMLInterModComms.sendMessage("Thaumcraft", "harvestClickableCrop", new ItemStack(oreBerry, 1, 15));
- FMLInterModComms.sendMessage("Thaumcraft", "harvestClickableCrop", new ItemStack(oreBerrySecond, 1, 12));
- FMLInterModComms.sendMessage("Thaumcraft", "harvestClickableCrop", new ItemStack(oreBerrySecond, 1, 13));
- }
- if (Loader.isModLoaded("Mystcraft"))
- {
- MystImcHandler.blacklistFluids();
- }
- if (Loader.isModLoaded("BuildCraft|Transport"))
- {
- BCImcHandler.registerFacades();
- }
- /* FORESTRY
- * Edit these strings to change what items are added to the backpacks
- * Format info: "[backpack ID]@[item ID].[metadata or *]:[next item]" and so on
- * Avaliable backpack IDs: forester, miner, digger, hunter, adventurer, builder
- * May add more backpack items later - Spyboticsguy
- */
- if (Loader.isModLoaded("Forestry"))
- {
- String builderItems = "builder@" + String.valueOf(stoneTorch.blockID) + ":*";
- FMLInterModComms.sendMessage("Forestry", "add-backpack-items", builderItems);
- }
- if (!Loader.isModLoaded("AppliedEnergistics"))
- {
- AEImcHandler.registerForSpatialIO();
- }
- }
-
- private static boolean initRecipes;
-
- public static void modRecipes ()
- {
- if (!initRecipes)
- {
- initRecipes = true;
- if (PHConstruct.removeVanillaToolRecipes)
- {
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.pickaxeWood));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.axeWood));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.shovelWood));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.hoeWood));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.swordWood));
-
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.pickaxeStone));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.axeStone));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.shovelStone));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.hoeStone));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.swordStone));
-
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.pickaxeIron));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.axeIron));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.shovelIron));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.hoeIron));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.swordIron));
-
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.pickaxeDiamond));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.axeDiamond));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.shovelDiamond));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.hoeDiamond));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.swordDiamond));
-
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.pickaxeGold));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.axeGold));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.shovelGold));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.hoeGold));
- RecipeRemover.removeAnyRecipe(new ItemStack(Item.swordGold));
- }
- }
- }
-
- public static void addShapedRecipeFirst (List recipeList, ItemStack itemstack, Object... objArray)
- {
- String var3 = "";
- int var4 = 0;
- int var5 = 0;
- int var6 = 0;
-
- if (objArray[var4] instanceof String[])
- {
- String[] var7 = ((String[]) objArray[var4++]);
-
- for (int var8 = 0; var8 < var7.length; ++var8)
- {
- String var9 = var7[var8];
- ++var6;
- var5 = var9.length();
- var3 = var3 + var9;
- }
- }
- else
- {
- while (objArray[var4] instanceof String)
- {
- String var11 = (String) objArray[var4++];
- ++var6;
- var5 = var11.length();
- var3 = var3 + var11;
- }
- }
-
- HashMap var12;
-
- for (var12 = new HashMap(); var4 < objArray.length; var4 += 2)
- {
- Character var13 = (Character) objArray[var4];
- ItemStack var14 = null;
-
- if (objArray[var4 + 1] instanceof Item)
- {
- var14 = new ItemStack((Item) objArray[var4 + 1]);
- }
- else if (objArray[var4 + 1] instanceof Block)
- {
- var14 = new ItemStack((Block) objArray[var4 + 1], 1, Short.MAX_VALUE);
- }
- else if (objArray[var4 + 1] instanceof ItemStack)
- {
- var14 = (ItemStack) objArray[var4 + 1];
- }
-
- var12.put(var13, var14);
- }
-
- ItemStack[] var15 = new ItemStack[var5 * var6];
-
- for (int var16 = 0; var16 < var5 * var6; ++var16)
- {
- char var10 = var3.charAt(var16);
-
- if (var12.containsKey(Character.valueOf(var10)))
- {
- var15[var16] = ((ItemStack) var12.get(Character.valueOf(var10))).copy();
- }
- else
- {
- var15[var16] = null;
- }
- }
-
- ShapedRecipes var17 = new ShapedRecipes(var5, var6, var15, itemstack);
- recipeList.add(0, var17);
- }
-
- public void modIntegration ()
- {
- ItemStack ironpick = ToolBuilder.instance.buildTool(new ItemStack(TContent.pickaxeHead, 1, 6), new ItemStack(TContent.toolRod, 1, 2), new ItemStack(TContent.binding, 1, 6), "");
- /* Natura */
- Block taintedSoil = GameRegistry.findBlock("Natura", "soil.tainted");
- Block heatSand = GameRegistry.findBlock("Natura", "heatsand");
- if (taintedSoil != null && heatSand != null)
- GameRegistry.addShapelessRecipe(new ItemStack(craftedSoil, 2, 6), Item.netherStalkSeeds, taintedSoil, heatSand);
-
- /*TE3 Flux*/
- ItemStack batHardened = GameRegistry.findItemStack("ThermalExpansion", "capacitorHardened", 1);
- if (batHardened != null)
- {
- modFlux.batteries.add(batHardened);
- }
- ItemStack basicCell = GameRegistry.findItemStack("ThermalExpansion", "cellBasic", 1);
- if (basicCell != null)
- {
- modFlux.batteries.add(basicCell);
- }
- if (batHardened != null)
- TConstructClientRegistry.registerManualModifier("fluxmod", ironpick.copy(), (ItemStack) batHardened);
- if (basicCell != null)
- TConstructClientRegistry.registerManualModifier("fluxmod2", ironpick.copy(), (ItemStack) basicCell);
-
- /* Thaumcraft */
- TConstructClientRegistry.addMaterialRenderMapping(31, "tinker", "thaumium", true);
- TConstructRegistry.addToolMaterial(31, "Thaumium", 3, 400, 700, 2, 1.3F, 0, 0f, "\u00A75", "Thaumic");
- TConstructRegistry.addBowMaterial(31, 576, 40, 1.2f);
- TConstructRegistry.addArrowMaterial(31, 1.8F, 0.5F, 100F);
-
- Object obj = getStaticItem("itemResource", "thaumcraft.common.config.ConfigItems");
- if (obj != null)
- {
- TConstruct.logger.info("Thaumcraft detected. Adding thaumium tools.");
- thaumcraftAvailable = true;
- PatternBuilder.instance.registerFullMaterial(new ItemStack((Item) obj, 1, 2), 2, "Thaumium", new ItemStack(toolShard, 1, 31), new ItemStack(toolRod, 1, 31), 31);
- TConstructRegistry.addBowstringMaterial(1, 2, new ItemStack((Item) obj, 1, 7), new ItemStack(bowstring, 1, 1), 1F, 1F, 0.9f);
- for (int meta = 0; meta < patternOutputs.length; meta++)
- {
- if (patternOutputs[meta] != null)
- TConstructRegistry.addPartMapping(woodPattern.itemID, meta + 1, 31, new ItemStack(patternOutputs[meta], 1, 31));
- }
- }
- else
- {
- TConstruct.logger.warning("Thaumcraft not detected.");
- }
-
- if (Loader.isModLoaded("Natura"))
- {
- try
- {
- Object plantItem = getStaticItem("plantItem", "mods.natura.common.NContent");
- TConstructRegistry.addBowstringMaterial(2, 2, new ItemStack((Item) plantItem, 1, 7), new ItemStack(bowstring, 1, 2), 1.2F, 0.8F, 1.3f);
- }
- catch (Exception e)
- {
- } //No need to handle
- }
-
- ItemStack ingotcast = new ItemStack(metalPattern, 1, 0);
- LiquidCasting tableCasting = TConstructRegistry.instance.getTableCasting();
- LiquidCasting basinCasting = TConstructRegistry.instance.getBasinCasting();
-
- /* Thermal Expansion 3 Metals */
- ArrayList ores = OreDictionary.getOres("ingotNickel");
- if (ores.size() > 0)
- {
- tableCasting.addCastingRecipe(ores.get(0), new FluidStack(moltenNickelFluid, TConstruct.ingotLiquidValue), ingotcast, 80);
- }
- ores = OreDictionary.getOres("ingotLead");
- if (ores.size() > 0)
- {
- tableCasting.addCastingRecipe(ores.get(0), new FluidStack(moltenLeadFluid, TConstruct.ingotLiquidValue), ingotcast, 80);
- }
- ores = OreDictionary.getOres("ingotSilver");
- if (ores.size() > 0)
- {
- tableCasting.addCastingRecipe(ores.get(0), new FluidStack(moltenSilverFluid, TConstruct.ingotLiquidValue), ingotcast, 80);
- }
- ores = OreDictionary.getOres("ingotPlatinum");
- if (ores.size() > 0)
- {
- tableCasting.addCastingRecipe(ores.get(0), new FluidStack(moltenShinyFluid, TConstruct.ingotLiquidValue), ingotcast, 80);
- }
- ores = OreDictionary.getOres("ingotInvar");
- if (ores.size() > 0)
- {
- tableCasting.addCastingRecipe(ores.get(0), new FluidStack(moltenInvarFluid, TConstruct.ingotLiquidValue), ingotcast, 80);
- Smeltery.addAlloyMixing(new FluidStack(moltenInvarFluid, TConstruct.ingotLiquidValue * 3), new FluidStack(moltenIronFluid, TConstruct.ingotLiquidValue * 2), new FluidStack(
- moltenNickelFluid, TConstruct.ingotLiquidValue * 1)); //Invar
- }
- ores = OreDictionary.getOres("ingotElectrum");
- if (ores.size() > 0)
- {
- tableCasting.addCastingRecipe(ores.get(0), new FluidStack(moltenElectrumFluid, TConstruct.ingotLiquidValue), ingotcast, 80);
- Smeltery.addAlloyMixing(new FluidStack(moltenElectrumFluid, TConstruct.ingotLiquidValue * 2), new FluidStack(moltenGoldFluid, TConstruct.ingotLiquidValue), new FluidStack(
- moltenSilverFluid, TConstruct.ingotLiquidValue)); //Electrum
- }
-
- ores = OreDictionary.getOres("blockNickel");
- if (ores.size() > 0)
- {
- basinCasting.addCastingRecipe(ores.get(0), new FluidStack(moltenNickelFluid, TConstruct.blockLiquidValue), null, 100);
- }
- ores = OreDictionary.getOres("blockLead");
- if (ores.size() > 0)
- {
- basinCasting.addCastingRecipe(ores.get(0), new FluidStack(moltenLeadFluid, TConstruct.blockLiquidValue), null, 100);
- }
- ores = OreDictionary.getOres("blockSilver");
- if (ores.size() > 0)
- {
- basinCasting.addCastingRecipe(ores.get(0), new FluidStack(moltenSilverFluid, TConstruct.blockLiquidValue), null, 100);
- }
- ores = OreDictionary.getOres("blockPlatinum");
- if (ores.size() > 0)
- {
- basinCasting.addCastingRecipe(ores.get(0), new FluidStack(moltenShinyFluid, TConstruct.blockLiquidValue), null, 100);
- }
- ores = OreDictionary.getOres("blockInvar");
- if (ores.size() > 0)
- {
- basinCasting.addCastingRecipe(ores.get(0), new FluidStack(moltenInvarFluid, TConstruct.blockLiquidValue), null, 100);
- }
- ores = OreDictionary.getOres("blockElectrum");
- if (ores.size() > 0)
- {
- basinCasting.addCastingRecipe(ores.get(0), new FluidStack(moltenElectrumFluid, TConstruct.blockLiquidValue), null, 100);
- }
-
- /* Extra Utilities */
- ores = OreDictionary.getOres("compressedGravel1x");
- if (ores.size() > 0)
- {
- basinCasting.addCastingRecipe(new ItemStack(speedBlock, 9), new FluidStack(moltenElectrumFluid, TConstruct.blockLiquidValue), ores.get(0), 100);
- }
- ores = OreDictionary.getOres("compressedGravel2x"); //Higher won't save properly
- if (ores.size() > 0)
- {
- basinCasting.addCastingRecipe(new ItemStack(speedBlock, 81), new FluidStack(moltenElectrumFluid, TConstruct.blockLiquidValue * 9), ores.get(0), 100);
- }
-
- /* Rubber */
- ores = OreDictionary.getOres("itemRubber");
- if (ores.size() > 0)
- {
- FurnaceRecipes.smelting().addSmelting(materials.itemID, 36, ores.get(0), 0.2f);
- }
- }
-
- public static Object getStaticItem (String name, String classPackage)
- {
- try
- {
- Class clazz = Class.forName(classPackage);
- Field field = clazz.getDeclaredField(name);
- Object ret = field.get(null);
- if (ret != null && (ret instanceof ItemStack || ret instanceof Item))
- return ret;
- return null;
- }
- catch (Exception e)
- {
- TConstruct.logger.warning("Could not find " + name);
- return null;
- }
- }
-
- @Override
- public int getBurnTime (ItemStack fuel)
- {
- if (fuel.itemID == materials.itemID && fuel.getItemDamage() == 7)
- return 26400;
- return 0;
- }
-
- public void addOreDictionarySmelteryRecipes ()
- {
- List exceptions = Arrays.asList(new FluidType[] { FluidType.Water, FluidType.Stone, FluidType.Ender, FluidType.Glass, FluidType.Slime, FluidType.Obsidian });
- for (FluidType ft : FluidType.values())
- {
- if (exceptions.contains(ft))
- continue;
-
- // Nuggets
- Smeltery.addDictionaryMelting("nugget" + ft.toString(), ft, -100, TConstruct.nuggetLiquidValue);
-
- // Ingots, Dust
- registerIngotCasting(ft);
- Smeltery.addDictionaryMelting("ingot" + ft.toString(), ft, -50, TConstruct.ingotLiquidValue);
- Smeltery.addDictionaryMelting("dust" + ft.toString(), ft, -75, TConstruct.ingotLiquidValue);
-
- // Factorization support
- Smeltery.addDictionaryMelting("crystalline" + ft.toString(), ft, -50, TConstruct.ingotLiquidValue);
-
- // Ores
- Smeltery.addDictionaryMelting("ore" + ft.toString(), ft, 0, TConstruct.ingotLiquidValue * PHConstruct.ingotsPerOre);
-
- // NetherOres support
- Smeltery.addDictionaryMelting("oreNether" + ft.toString(), ft, 75, TConstruct.ingotLiquidValue * PHConstruct.ingotsPerOre * 2);
-
- // Blocks
- Smeltery.addDictionaryMelting("block" + ft.toString(), ft, 100, TConstruct.blockLiquidValue);
-
- if (ft.isToolpart)
- {
- registerPatternMaterial("ingot" + ft.toString(), 2, ft.toString());
- registerPatternMaterial("block" + ft.toString(), 18, ft.toString());
- }
- }
-
- //Obsidian, different dust amount
- {
- FluidType ft = FluidType.Obsidian;
- Smeltery.addDictionaryMelting("nugget" + ft.toString(), ft, -100, TConstruct.nuggetLiquidValue);
-
- // Ingots, Dust
- registerIngotCasting(ft);
- Smeltery.addDictionaryMelting("ingot" + ft.toString(), ft, -50, TConstruct.ingotLiquidValue);
- Smeltery.addDictionaryMelting("dust" + ft.toString(), ft, -75, TConstruct.ingotLiquidValue / 4);
-
- // Factorization support
- Smeltery.addDictionaryMelting("crystalline" + ft.toString(), ft, -50, TConstruct.ingotLiquidValue);
-
- // Ores
- Smeltery.addDictionaryMelting("ore" + ft.toString(), ft, 0, TConstruct.ingotLiquidValue * PHConstruct.ingotsPerOre);
-
- // NetherOres support
- Smeltery.addDictionaryMelting("oreNether" + ft.toString(), ft, 75, TConstruct.ingotLiquidValue * PHConstruct.ingotsPerOre * 2);
-
- // Blocks
- Smeltery.addDictionaryMelting("block" + ft.toString(), ft, 100, TConstruct.blockLiquidValue);
-
- if (ft.isToolpart)
- {
- registerPatternMaterial("ingot" + ft.toString(), 2, ft.toString());
- registerPatternMaterial("block" + ft.toString(), 18, ft.toString());
- }
- }
-
- //Compressed materials
- for (int i = 1; i <= 8; i++)
- {
- Smeltery.addDictionaryMelting("compressedCobblestone" + i + "x", FluidType.Stone, 0, TConstruct.ingotLiquidValue / 18 * (9 ^ i));
- }
- Smeltery.addDictionaryMelting("compressedSand1x", FluidType.Glass, 175, FluidContainerRegistry.BUCKET_VOLUME * 9);
-
- registerPatternMaterial("plankWood", 2, "Wood");
- registerPatternMaterial("stickWood", 1, "Wood");
- registerPatternMaterial("slabWood", 1, "Wood");
- registerPatternMaterial("compressedCobblestone1x", 18, "Stone");
- }
-
- private void registerPatternMaterial (String oreName, int value, String materialName)
- {
- for (ItemStack ore : OreDictionary.getOres(oreName))
- {
- PatternBuilder.instance.registerMaterial(ore, value, materialName);
- }
- }
-
- private void registerIngotCasting (FluidType ft)
- {
- ItemStack pattern = new ItemStack(TContent.metalPattern, 1, 0);
- LiquidCasting tableCasting = TConstructRegistry.instance.getTableCasting();
- for (ItemStack ore : OreDictionary.getOres("ingot" + ft.toString()))
- {
- tableCasting.addCastingRecipe(pattern, new FluidStack(TContent.moltenAlubrassFluid, TConstruct.ingotLiquidValue), new ItemStack(ore.itemID, 1, ore.getItemDamage()), false, 50);
- tableCasting.addCastingRecipe(pattern, new FluidStack(TContent.moltenGoldFluid, TConstruct.oreLiquidValue), new ItemStack(ore.itemID, 1, ore.getItemDamage()), false, 50);
- tableCasting.addCastingRecipe(new ItemStack(ore.itemID, 1, ore.getItemDamage()), new FluidStack(ft.fluid, TConstruct.ingotLiquidValue), pattern, 80);
- }
-
- }
-
- public void addAchievements ()
- {
- HashMap achievements = TAchievements.achievements;
-
- achievements.put("tconstruct.beginner", new Achievement(2741, "tconstruct.beginner", 0, 0, manualBook, null).setIndependent().registerAchievement());
- achievements.put("tconstruct.pattern", new Achievement(2742, "tconstruct.pattern", 2, 1, blankPattern, achievements.get("tconstruct.beginner")).registerAchievement());
- achievements.put("tconstruct.tinkerer", new Achievement(2743, "tconstruct.tinkerer", 2, 2, new ItemStack(titleIcon, 1, 4096), achievements.get("tconstruct.pattern")).registerAchievement());
- achievements.put("tconstruct.preparedFight",
- new Achievement(2744, "tconstruct.preparedFight", 1, 3, new ItemStack(titleIcon, 1, 4097), achievements.get("tconstruct.tinkerer")).registerAchievement());
- achievements.put("tconstruct.proTinkerer", new Achievement(2745, "tconstruct.proTinkerer", 4, 4, new ItemStack(titleIcon, 1, 4098), achievements.get("tconstruct.tinkerer")).setSpecial()
- .registerAchievement());
- achievements.put("tconstruct.smelteryMaker", new Achievement(2746, "tconstruct.smelteryMaker", -2, -1, smeltery, achievements.get("tconstruct.beginner")).registerAchievement());
- achievements.put("tconstruct.enemySlayer",
- new Achievement(2747, "tconstruct.enemySlayer", 0, 5, new ItemStack(titleIcon, 1, 4099), achievements.get("tconstruct.preparedFight")).registerAchievement());
- achievements.put("tconstruct.dualConvenience", new Achievement(2748, "tconstruct.dualConvenience", 0, 7, new ItemStack(titleIcon, 1, 4100), achievements.get("tconstruct.enemySlayer"))
- .setSpecial().registerAchievement());
- }
-}
diff --git a/src/main/java/tconstruct/common/TProxyCommon.java b/src/main/java/tconstruct/common/TProxyCommon.java
deleted file mode 100644
index 8ceff4ba..00000000
--- a/src/main/java/tconstruct/common/TProxyCommon.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package tconstruct.common;
-
-import cpw.mods.fml.common.network.IGuiHandler;
-import cpw.mods.fml.common.registry.LanguageRegistry;
-import cpw.mods.fml.common.registry.TickRegistry;
-import cpw.mods.fml.relauncher.Side;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.TileEntityLandmine;
-import tconstruct.inventory.*;
-import tconstruct.library.blocks.InventoryLogic;
-import tconstruct.util.player.TPlayerStats;
-
-/**
- * Common proxy class for InfiTools
- */
-
-public class TProxyCommon implements IGuiHandler
-{
- public static int toolStationID = 0;
- public static int partBuilderID = 1;
- public static int patternChestID = 2;
- public static int stencilTableID = 3;
- public static int frypanGuiID = 4;
- public static int toolForgeID = 5;
-
- public static int smelteryGuiID = 7;
- public static int furnaceID = 8;
-// public static int drawbridgeID = 9; // Moved to TMechworks
- public static int landmineID = 10;
- public static int craftingStationID = 11;
-// public static int advDrawbridgeID = 12; // Moved to TMechworks
- public static int inventoryGui = 100;
- public static int armorGuiID = 101;
- public static int knapsackGuiID = 102;
-
- public static int manualGuiID = -1;
-
- @Override
- public Object getServerGuiElement (int ID, EntityPlayer player, World world, int x, int y, int z)
- {
- if (ID < 0)
- return null;
-
- if (ID == landmineID)
- {
- return new ContainerLandmine(player, (TileEntityLandmine) world.getBlockTileEntity(x, y, z));
- }
-
- else if (ID < 100)
- {
- TileEntity tile = world.getBlockTileEntity(x, y, z);
- System.out.println(tile instanceof InventoryLogic);
- if (tile != null && tile instanceof InventoryLogic)
- {
- return ((InventoryLogic) tile).getGuiContainer(player.inventory, world, x, y, z);
- }
- }
- else
- {
- if (ID == inventoryGui)
- {
- //GuiInventory inv = new GuiInventory(player);
- return player.inventoryContainer;
- }
- if (ID == armorGuiID)
- {
- TPlayerStats stats = TConstruct.playerTracker.getPlayerStats(player.username);
- return new ArmorExtendedContainer(player.inventory, stats.armor);
- }
- if (ID == knapsackGuiID)
- {
- TPlayerStats stats = TConstruct.playerTracker.getPlayerStats(player.username);
- return new KnapsackContainer(player.inventory, stats.knapsack);
- }
- }
- return null;
- }
-
- @Override
- public Object getClientGuiElement (int ID, EntityPlayer player, World world, int x, int y, int z)
- {
- return null;
- }
-
- public void registerTickHandler ()
- {
- //TickRegistry.registerTickHandler(new TimeTicker(), Side.SERVER);
- }
-
- /* Registers any rendering code. Does nothing server-side */
- public void registerRenderer ()
- {
- }
-
- /* Ties an internal name to a visible one. */
- public void addNames ()
- {
- // As of 1.6.x, this is now handled by Minecraft itself for the most part.
-
- LanguageRegistry.addName(TContent.potionLauncher, "Potion Launcher");
- LanguageRegistry.addName(TContent.knapsack, "Knapsack");
-
- LanguageRegistry.addName(TContent.meatBlock, "Hambone");
- }
-
- public void readManuals ()
- {
- }
-
- public void registerKeys ()
- {
- }
-
- public void spawnParticle (String slimeParticle, double xPos, double yPos, double zPos, double velX, double velY, double velZ)
- {
- }
-
- public static final String[] patterns = new String[] { "ingot", "rod", "pickaxe", "shovel", "axe", "swordblade", "largeguard", "mediumguard", "crossbar", "binding", "frypan", "sign",
- "knifeblade", "chisel", "largerod", "toughbinding", "largeplate", "broadaxe", "scythe", "excavator", "largeblade", "hammerhead", "fullguard", "bowstring", "fletching", "arrowhead" };
-
- public void postInit ()
- {
-
- }
-}
diff --git a/src/main/java/tconstruct/common/TimeTicker.java b/src/main/java/tconstruct/common/TimeTicker.java
deleted file mode 100644
index 80515eaa..00000000
--- a/src/main/java/tconstruct/common/TimeTicker.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package tconstruct.common;
-
-import java.util.EnumSet;
-
-import cpw.mods.fml.common.ITickHandler;
-import cpw.mods.fml.common.TickType;
-import tconstruct.TConstruct;
-
-public class TimeTicker implements ITickHandler
-{
- public static long time = 0;
- public static int tickParts = 0;
- public static int seconds = 0;
- public static int minutes = 0;
-
- @Override
- public void tickStart (EnumSet type, Object... tickData)
- {
- TConstruct.logger.info("Tick");
- time++;
- tickParts = (int) (time % 20);
- seconds = (int) (time / 20);
- minutes = (int) (time / 1200);
- }
-
- @Override
- public void tickEnd (EnumSet type, Object... tickData)
- {
- }
-
- @Override
- public EnumSet ticks ()
- {
- return EnumSet.of(TickType.WORLD);
- }
-
- @Override
- public String getLabel ()
- {
- return null;
- }
-
-}
diff --git a/src/main/java/tconstruct/entity/BlueSlime.java b/src/main/java/tconstruct/entity/BlueSlime.java
deleted file mode 100644
index d07ed596..00000000
--- a/src/main/java/tconstruct/entity/BlueSlime.java
+++ /dev/null
@@ -1,564 +0,0 @@
-package tconstruct.entity;
-
-import net.minecraft.entity.EntityList;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.EntityLivingData;
-import net.minecraft.entity.SharedMonsterAttributes;
-import net.minecraft.entity.boss.IBossDisplayData;
-import net.minecraft.entity.monster.EntityCreeper;
-import net.minecraft.entity.monster.EntitySkeleton;
-import net.minecraft.entity.monster.IMob;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.potion.Potion;
-import net.minecraft.util.DamageSource;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.EnumSkyBlock;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeHooks;
-import tconstruct.TConstruct;
-import tconstruct.common.TContent;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.crafting.ToolBuilder;
-import tconstruct.library.tools.ToolCore;
-
-public class BlueSlime extends EntityLiving implements IMob, IBossDisplayData
-{
- private static final float[] field_100000_e = new float[] { 1.0F, 0.75F, 0.5F, 0.25F, 0.0F, 0.25F, 0.5F, 0.75F };
- public float sizeOffset;
- public float sizeFactor;
- public float sizeHeight;
-
- /** the time between each jump of the slime */
- protected int slimeJumpDelay = 0;
-
- public BlueSlime(World world)
- {
- super(world);
- //this.texture = "/mods/tinker/textures/mob/slimeedible.png";
- int offset = this.rand.nextInt(299);
- if (offset < 149)
- offset = 1;
- else if (offset < 298)
- offset = 2;
- else
- offset = 3;
- int size = 1 << offset;
- this.yOffset = 0.0F;
- this.slimeJumpDelay = this.rand.nextInt(120) + 40;
- this.setSlimeSize(size);
- this.jumpMovementFactor = 0.004F * size + 0.01F;
- this.setHealth(getMaxHealthForSize());
- }
-
- protected void damageEntity (DamageSource damageSource, int damage)
- {
- if (damageSource.damageType.equals("arrow"))
- damage = damage / 2;
- super.damageEntity(damageSource, damage);
- }
-
- public String getEntityName ()
- {
- String s = EntityList.getEntityString(this);
-
- if (s == null)
- {
- s = "generic";
- }
-
- if (getSlimeSize() >= 8)
- s = "TConstruct.KingSlime";
-
- return StatCollector.translateToLocal("entity." + s + ".name");
- }
-
- public EntityLivingData func_110161_a (EntityLivingData par1EntityLivingData)
- {
- Object par1EntityLivingData1 = super.onSpawnWithEgg(par1EntityLivingData);
-
- if (getSlimeSize() == 2 && rand.nextInt(8) == 0)
- {
- EntitySkeleton entityskeleton = new EntitySkeleton(this.worldObj);
- entityskeleton.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, 0.0F);
- entityskeleton.onSpawnWithEgg(par1EntityLivingData);
- this.worldObj.spawnEntityInWorld(entityskeleton);
- entityskeleton.mountEntity(this);
- }
- if (getSlimeSize() == 4 && rand.nextInt(12) == 0)
- {
- EntityCreeper creeper = new EntityCreeper(this.worldObj);
- creeper.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, 0.0F);
- creeper.onSpawnWithEgg(par1EntityLivingData);
- this.worldObj.spawnEntityInWorld(creeper);
- creeper.mountEntity(this);
- }
- if (getSlimeSize() == 8)
- {
- for (int i = 0; i < 5; i++)
- {
- BlueSlime slime = new BlueSlime(this.worldObj);
- slime.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, 0.0F);
- slime.func_110161_a(par1EntityLivingData);
- this.worldObj.spawnEntityInWorld(slime);
- }
-
- BlueSlime slime = new BlueSlime(this.worldObj);
- slime.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, 0.0F);
- slime.setSlimeSize(2);
- this.worldObj.spawnEntityInWorld(slime);
-
- EntitySkeleton skelton = new EntitySkeleton(this.worldObj);
- skelton.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, 0.0F);
- skelton.onSpawnWithEgg(par1EntityLivingData);
- this.worldObj.spawnEntityInWorld(skelton);
- skelton.mountEntity(slime);
- }
-
- return (EntityLivingData) par1EntityLivingData1;
- }
-
- @Override
- public double getMountedYOffset ()
- {
- return this.height * 0.3;
- }
-
- public void jump ()
- {
- this.motionY = 0.05 * getSlimeSize() + 0.37;
-
- if (this.isPotionActive(Potion.jump))
- {
- this.motionY += (double) ((float) (this.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F);
- }
-
- if (this.isSprinting())
- {
- float f = this.rotationYaw * 0.017453292F;
- this.motionX -= (double) (MathHelper.sin(f) * 0.2F);
- this.motionZ += (double) (MathHelper.cos(f) * 0.2F);
- }
-
- if (this.getBrightness(1.0F) > 0.9F && rand.nextInt(5) == 0
- && this.worldObj.canBlockSeeTheSky(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)))
- {
- int size = this.getSlimeSize() - 1;
- if (size < 7)
- {
- if (size <= 0)
- this.kill();
- else
- this.setSlimeSize(size);
- }
- }
-
- this.isAirBorne = true;
- ForgeHooks.onLivingJump(this);
- }
-
- protected void fall (float par1)
- {
- }
-
- protected String getSlimeParticle ()
- {
- return "blueslime";
- }
-
- @Override
- public boolean getCanSpawnHere ()
- {
- return isValidLightLevel() && this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty()
- && !this.worldObj.isAnyLiquid(this.boundingBox);
- }
-
- protected boolean isValidLightLevel ()
- {
- int x = MathHelper.floor_double(this.posX);
- int y = MathHelper.floor_double(this.boundingBox.minY);
- int z = MathHelper.floor_double(this.posZ);
-
- if (y < 60 && rand.nextInt(5) != 0)
- {
- return false;
- }
-
- if (this.worldObj.getSavedLightValue(EnumSkyBlock.Sky, x, y, z) > this.rand.nextInt(32))
- {
- return false;
- }
- else
- {
- int light = this.worldObj.getBlockLightValue(x, y, z);
-
- if (this.worldObj.isThundering())
- {
- int i1 = this.worldObj.skylightSubtracted;
- this.worldObj.skylightSubtracted = 10;
- light = this.worldObj.getBlockLightValue(x, y, z);
- this.worldObj.skylightSubtracted = i1;
- }
-
- return light <= this.rand.nextInt(8);
- }
- }
-
- protected void entityInit ()
- {
- super.entityInit();
- this.dataWatcher.addObject(16, new Byte((byte) 1));
- }
-
- public void setSlimeSize (int size)
- {
- this.dataWatcher.updateObject(16, new Byte((byte) size));
- this.setSize(0.6F * (float) size, 0.6F * (float) size);
- this.setPosition(this.posX, this.posY, this.posZ);
- this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(this.getMaxHealth());
- this.setHealth(this.getMaxHealth());
-
- this.experienceValue = size + 2 ^ (size);
- if (size >= 8)
- this.experienceValue = 500;
- }
-
- // Invoked by constructor to set max health dependant on current size
- private float getMaxHealthForSize ()
- {
- int i = this.getSlimeSize();
- if (i == 1)
- return 4;
- if (i == 8)
- return 100;
- return (float) Math.min(i * i + 8, 49);
- }
-
- /**
- * Returns the size of the slime.
- */
- public int getSlimeSize ()
- {
- return this.dataWatcher.getWatchableObjectByte(16);
- }
-
- /**
- * (abstract) Protected helper method to write subclass entity data to NBT.
- */
- public void writeEntityToNBT (NBTTagCompound par1NBTTagCompound)
- {
- super.writeEntityToNBT(par1NBTTagCompound);
- par1NBTTagCompound.setInteger("Size", this.getSlimeSize() - 1);
- }
-
- /**
- * (abstract) Protected helper method to read subclass entity data from NBT.
- */
- public void readEntityFromNBT (NBTTagCompound par1NBTTagCompound)
- {
- super.readEntityFromNBT(par1NBTTagCompound);
- this.setSlimeSize(par1NBTTagCompound.getInteger("Size") + 1);
- //this.dataWatcher.updateObject(17, Integer.valueOf(this.health));
- }
-
- /**
- * Returns the name of the sound played when the slime jumps.
- */
- protected String getJumpSound ()
- {
- return "mob.slime." + (this.getSlimeSize() > 1 ? "big" : "small");
- }
-
- /**
- * Called to update the entity's position/logic.
- */
- public void onUpdate ()
- {
- if (!this.worldObj.isRemote && this.worldObj.difficultySetting == 0 && this.getSlimeSize() > 0)
- {
- this.isDead = true;
- }
-
- this.sizeFactor += (this.sizeOffset - this.sizeFactor) * 0.5F;
- this.sizeHeight = this.sizeFactor;
- boolean flag = this.onGround;
- super.onUpdate();
- int i;
-
- if (this.onGround && !flag)
- {
- i = this.getSlimeSize();
-
- for (int j = 0; j < i * 8; ++j)
- {
- float f = this.rand.nextFloat() * (float) Math.PI * 2.0F;
- float offset = this.rand.nextFloat() * 0.5F + 0.5F;
- float xPos = MathHelper.sin(f) * (float) i * 0.5F * offset;
- float zPos = MathHelper.cos(f) * (float) i * 0.5F * offset;
- TConstruct.proxy.spawnParticle(this.getSlimeParticle(), this.posX + (double) xPos, this.boundingBox.minY, this.posZ + (double) zPos, 0.0D, 0.0D, 0.0D);
- }
-
- if (this.makesSoundOnLand())
- {
- this.playSound(this.getJumpSound(), this.getSoundVolume(), ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F) / 0.8F);
- }
-
- this.sizeOffset = -0.5F;
- }
- else if (!this.onGround && flag)
- {
- this.sizeOffset = 1.0F;
- }
-
- this.func_70808_l();
-
- if (this.worldObj.isRemote)
- {
- i = this.getSlimeSize();
- this.setSize(0.6F * (float) i, 0.6F * (float) i);
- }
- }
-
- protected void updateEntityActionState ()
- {
- //Minecraft.getMinecraft().getLogAgent().logInfo("Collided with "+entity.getEntityName());
- this.despawnEntity();
- EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 16.0D);
-
- if (entityplayer != null)
- {
- this.faceEntity(entityplayer, 10.0F, 20.0F);
- }
- else if (this.onGround && this.slimeJumpDelay == 1)
- {
- this.rotationYaw = this.rotationYaw + rand.nextFloat() * 180 - 90;
- if (rotationYaw > 360)
- rotationYaw -= 360;
- if (rotationYaw < 0)
- rotationYaw += 360;
- }
-
- if (this.onGround && this.slimeJumpDelay-- <= 0)
- {
- this.slimeJumpDelay = this.getJumpDelay();
-
- if (entityplayer != null)
- {
- this.slimeJumpDelay /= 12;
- }
-
- this.isJumping = true;
-
- if (this.makesSoundOnJump())
- {
- this.playSound(this.getJumpSound(), this.getSoundVolume(), ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F) * 0.8F);
- }
-
- this.moveStrafing = 1.0F - this.rand.nextFloat() * 2.0F;
- this.moveForward = (float) (1 * this.getSlimeSize());
- }
- else
- {
- this.isJumping = false;
-
- if (this.onGround)
- {
- this.moveStrafing = this.moveForward = 0.0F;
- }
- }
- }
-
- public boolean handleWaterMovement ()
- {
- return false;
- }
-
- protected void func_70808_l ()
- {
- this.sizeOffset *= 0.6F;
- }
-
- /**
- * Gets the amount of time the slime needs to wait between jumps.
- */
- protected int getJumpDelay ()
- {
- return this.rand.nextInt(120) + 40;
- }
-
- protected BlueSlime createInstance ()
- {
- return new BlueSlime(this.worldObj);
- }
-
- /**
- * Will get destroyed next tick.
- */
- public void setDead ()
- {
- int size = this.getSlimeSize();
-
- if (!this.worldObj.isRemote && size > 1 && this.getHealth() <= 0 && size < 8)
- {
- float f = (-0.5F) * (float) size / 4.0F;
- float f1 = (-0.5F) * (float) size / 4.0F;
- BlueSlime entityslime = this.createInstance();
- entityslime.setSlimeSize(size / 2);
- entityslime.setLocationAndAngles(this.posX + (double) f, this.posY + 0.5D, this.posZ + (double) f1, this.rand.nextFloat() * 360.0F, 0.0F);
- this.worldObj.spawnEntityInWorld(entityslime);
- }
-
- super.setDead();
- }
-
- protected void dropFewItems (boolean par1, int par2)
- {
- int size = this.getSlimeSize();
- int j = this.getDropItemId();
-
- if (j > 0 && (rand.nextInt(2) == 0) || size >= 8)
- {
- int k = rand.nextInt(3) + rand.nextInt(this.getSlimeSize());
-
- if (par2 > 0)
- {
- k += this.rand.nextInt(par2 + 1);
- }
-
- for (int l = 0; l < k; ++l)
- {
- this.dropItem(j, 1);
- }
- }
-
- if (size == 8)
- {
- ToolCore tool = getValidTool();
-
- Item accessory = tool.getAccessoryItem();
- ItemStack accessoryStack = accessory != null ? new ItemStack(tool.getAccessoryItem(), 1, 17) : null;
- ItemStack toolStack = ToolBuilder.instance.buildTool(new ItemStack(tool.getHeadItem(), 1, 17), new ItemStack(tool.getHandleItem(), 1, 17), accessoryStack,
- "King Slime " + tool.getToolName());
-
- NBTTagCompound tags = toolStack.getTagCompound().getCompoundTag("InfiTool");
- tags.setInteger("Attack", 3 + tool.getDamageVsEntity(null));
- tags.setInteger("TotalDurability", 2500);
- tags.setInteger("BaseDurability", 2500);
- tags.setInteger("MiningSpeed", 1400);
-
- this.entityDropItem(toolStack, 0f);
- if (rand.nextInt(5) == 0)
- {
- ItemStack dropStack = new ItemStack(TContent.heartCanister, 1, 1);
- this.entityDropItem(dropStack, 0f);
- }
- }
- }
-
- ToolCore getValidTool ()
- {
- ToolCore tool = TConstructRegistry.tools.get(rand.nextInt(TConstructRegistry.tools.size()));
- if (tool.getAccessoryItem() != null)
- tool = getValidTool();
- return tool;
- }
-
- /**
- * Called by a player entity when they collide with an entity
- */
- public void onCollideWithPlayer (EntityPlayer par1EntityPlayer)
- {
- if (this.canDamagePlayer())
- {
- int i = this.getSlimeSize();
-
- if (this.canEntityBeSeen(par1EntityPlayer) && this.getDistanceSqToEntity(par1EntityPlayer) < 0.6D * (double) i * 0.6D * (double) i
- && par1EntityPlayer.attackEntityFrom(DamageSource.causeMobDamage(this), this.getAttackStrength()))
- {
- this.playSound("mob.attack", 1.0F, (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F);
- }
- }
- }
-
- /**
- * Indicates weather the slime is able to damage the player (based upon the slime's size)
- */
- protected boolean canDamagePlayer ()
- {
- return this.getSlimeSize() > 1;
- }
-
- /**
- * Gets the amount of damage dealt to the player when "attacked" by the slime.
- */
- protected int getAttackStrength ()
- {
- return this.getSlimeSize();
- }
-
- /**
- * Returns the sound this mob makes when it is hurt.
- */
- protected String getHurtSound ()
- {
- return "mob.slime." + (this.getSlimeSize() > 1 ? "big" : "small");
- }
-
- /**
- * Returns the sound this mob makes on death.
- */
- protected String getDeathSound ()
- {
- return "mob.slime." + (this.getSlimeSize() > 1 ? "big" : "small");
- }
-
- /**
- * Returns the item ID for the item the mob drops on death.
- */
- protected int getDropItemId ()
- {
- return TContent.strangeFood.itemID;
- }
-
- /**
- * Returns the volume for the sounds this mob makes.
- */
- protected float getSoundVolume ()
- {
- return Math.min(0.05F * (float) this.getSlimeSize(), 0.3f);
- }
-
- /**
- * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently
- * use in wolves.
- */
- public int getVerticalFaceSpeed ()
- {
- return 0;
- }
-
- /**
- * Returns true if the slime makes a sound when it jumps (based upon the slime's size)
- */
- protected boolean makesSoundOnJump ()
- {
- return this.getSlimeSize() > 0;
- }
-
- /**
- * Returns true if the slime makes a sound when it lands after a jump (based upon the slime's size)
- */
- protected boolean makesSoundOnLand ()
- {
- return this.getSlimeSize() > 2;
- }
-
- /*@Override
- public int getBossHealth ()
- {
- return this.dataWatcher.getWatchableObjectInt(17);
- }*/
-}
diff --git a/src/main/java/tconstruct/entity/CartEntity.java b/src/main/java/tconstruct/entity/CartEntity.java
deleted file mode 100644
index af9aca41..00000000
--- a/src/main/java/tconstruct/entity/CartEntity.java
+++ /dev/null
@@ -1,1456 +0,0 @@
-package tconstruct.entity;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import net.minecraft.block.BlockRail;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.monster.EntityIronGolem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.server.MinecraftServer;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.DamageSource;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.Vec3;
-import net.minecraft.world.World;
-import net.minecraft.world.WorldServer;
-
-import com.google.common.io.ByteArrayDataInput;
-import com.google.common.io.ByteArrayDataOutput;
-
-import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class CartEntity extends Entity implements IInventory, IEntityAdditionalSpawnData
-{
- /** Array of item stacks stored in minecart (for storage minecarts). */
- protected ItemStack[] cargoItems;
- protected int fuel;
- protected boolean field_70499_f;
-
- /** The type of minecart, 2 for powered, 1 for storage. */
- private int pullcartType;
- public double pushX;
- public double pushZ;
- protected boolean field_82345_h;
-
- /** Minecart rotational logic matrix */
- protected static final int[][][] matrix = new int[][][] { { { 0, 0, -1 }, { 0, 0, 1 } }, { { -1, 0, 0 }, { 1, 0, 0 } }, { { -1, -1, 0 }, { 1, 0, 0 } }, { { -1, 0, 0 }, { 1, -1, 0 } },
- { { 0, 0, -1 }, { 0, -1, 1 } }, { { 0, -1, -1 }, { 0, 0, 1 } }, { { 0, 0, 1 }, { 1, 0, 0 } }, { { 0, 0, 1 }, { -1, 0, 0 } }, { { 0, 0, -1 }, { -1, 0, 0 } }, { { 0, 0, -1 }, { 1, 0, 0 } } };
-
- /** appears to be the progress of the turn */
- protected int turnProgress;
- protected double minecartX;
- protected double minecartY;
- protected double minecartZ;
- protected double minecartYaw;
- protected double minecartPitch;
- @SideOnly(Side.CLIENT)
- protected double velocityX;
- @SideOnly(Side.CLIENT)
- protected double velocityY;
- @SideOnly(Side.CLIENT)
- protected double velocityZ;
-
- /* Forge: Minecart Compatibility Layer Integration. */
- public static float defaultMaxSpeedRail = 0.4f;
- public static float defaultMaxSpeedGround = 0.4f;
- public static float defaultMaxSpeedAirLateral = 0.4f;
- public static float defaultMaxSpeedAirVertical = -1f;
- public static double defaultDragRidden = 0.996999979019165D;
- public static double defaultDragEmpty = 0.9599999785423279D;
- public static double defaultDragAir = 0.94999998807907104D;
- protected boolean canUseRail = true;
- protected boolean canBePushed = true;
-
- /* Instance versions of the above physics properties */
- protected float maxSpeedRail;
- protected float maxSpeedGround;
- protected float maxSpeedAirLateral;
- protected float maxSpeedAirVertical;
- protected double dragAir;
-
- Entity entityFollowing;
-
- public CartEntity(World par1World)
- {
- super(par1World);
- this.cargoItems = new ItemStack[36];
- this.fuel = 0;
- this.field_70499_f = false;
- this.field_82345_h = true;
- this.preventEntitySpawning = true;
- this.setSize(0.98F, 0.7F);
- this.yOffset = this.height / 2.0F;
- this.stepHeight = 1.0f;
-
- maxSpeedRail = defaultMaxSpeedRail;
- maxSpeedGround = defaultMaxSpeedGround;
- maxSpeedAirLateral = defaultMaxSpeedAirLateral;
- maxSpeedAirVertical = defaultMaxSpeedAirVertical;
- dragAir = defaultDragAir;
- }
-
- public CartEntity(World world, int type)
- {
- this(world);
- pullcartType = type;
- }
-
- public CartEntity(World world, double x, double y, double z, int type)
- {
- this(world);
- this.setPosition(x, y + (double) this.yOffset, z);
- this.motionX = 0.0D;
- this.motionY = 0.0D;
- this.motionZ = 0.0D;
- this.prevPosX = x;
- this.prevPosY = y;
- this.prevPosZ = z;
- this.pullcartType = type;
- this.stepHeight = 1.0f;
- }
-
- /**
- * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to
- * prevent them from trampling crops
- */
- protected boolean canTriggerWalking ()
- {
- return false;
- }
-
- protected void entityInit ()
- {
- this.dataWatcher.addObject(16, new Byte((byte) 0));
- this.dataWatcher.addObject(17, new Integer(0));
- this.dataWatcher.addObject(18, new Integer(1));
- this.dataWatcher.addObject(19, new Integer(0));
- }
-
- /**
- * Returns a boundingBox used to collide the entity with other entities and blocks. This enables the entity to be
- * pushable on contact, like boats or minecarts.
- */
- public AxisAlignedBB getCollisionBox (Entity par1Entity)
- {
- return par1Entity.boundingBox;
- }
-
- /**
- * returns the bounding box for this entity
- */
- public AxisAlignedBB getBoundingBox ()
- {
- return this.boundingBox;
- }
-
- /**
- * Returns true if this entity should push and be pushed by other entities when colliding.
- */
- public boolean canBePushed ()
- {
- return canBePushed;
- }
-
- /**
- * Returns the Y offset from the entity's position for any entity riding this one.
- */
- public double getMountedYOffset ()
- {
- return (double) this.height * 0.0D - 0.30000001192092896D;
- }
-
- /**
- * Called when the entity is attacked.
- */
- public boolean attackEntityFrom (DamageSource par1DamageSource, int par2)
- {
- if (!this.worldObj.isRemote && !this.isDead)
- {
- if (this.isEntityInvulnerable())
- {
- return false;
- }
- else
- {
- this.func_70494_i(-this.func_70493_k());
- this.func_70497_h(10);
- this.setBeenAttacked();
- this.setDamage(this.getDamage() + par2 * 10);
-
- if (par1DamageSource.getEntity() instanceof EntityPlayer && ((EntityPlayer) par1DamageSource.getEntity()).capabilities.isCreativeMode)
- {
- this.setDamage(100);
- }
-
- if (this.getDamage() > 40)
- {
- if (this.riddenByEntity != null)
- {
- this.riddenByEntity.mountEntity(this);
- }
-
- this.setDead();
- dropCartAsItem();
- }
-
- return true;
- }
- }
- else
- {
- return true;
- }
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * Setups the entity to do the hurt animation. Only used by packets in multiplayer.
- */
- public void performHurtAnimation ()
- {
- this.func_70494_i(-this.func_70493_k());
- this.func_70497_h(10);
- this.setDamage(this.getDamage() + this.getDamage() * 10);
- }
-
- /**
- * Returns true if other Entities should be prevented from moving through this Entity.
- */
- public boolean canBeCollidedWith ()
- {
- return !this.isDead;
- }
-
- /**
- * Will get destroyed next tick.
- */
- public void setDead ()
- {
- if (this.field_82345_h)
- {
- for (int var1 = 0; var1 < this.getSizeInventory(); ++var1)
- {
- ItemStack var2 = this.getStackInSlot(var1);
-
- if (var2 != null)
- {
- float var3 = this.rand.nextFloat() * 0.8F + 0.1F;
- float var4 = this.rand.nextFloat() * 0.8F + 0.1F;
- float var5 = this.rand.nextFloat() * 0.8F + 0.1F;
-
- while (var2.stackSize > 0)
- {
- int var6 = this.rand.nextInt(21) + 10;
-
- if (var6 > var2.stackSize)
- {
- var6 = var2.stackSize;
- }
-
- var2.stackSize -= var6;
- EntityItem entityitem = new EntityItem(this.worldObj, this.posX + (double) var3, this.posY + (double) var4, this.posZ + (double) var5, new ItemStack(var2.itemID, var6,
- var2.getItemDamage()));
-
- if (var2.hasTagCompound())
- {
- entityitem.getEntityItem().setTagCompound((NBTTagCompound) var2.getTagCompound().copy());
- }
-
- float var8 = 0.05F;
- entityitem.motionX = (double) ((float) this.rand.nextGaussian() * var8);
- entityitem.motionY = (double) ((float) this.rand.nextGaussian() * var8 + 0.2F);
- entityitem.motionZ = (double) ((float) this.rand.nextGaussian() * var8);
- this.worldObj.spawnEntityInWorld(entityitem);
- }
- }
- }
- }
-
- super.setDead();
- }
-
- /**
- * Teleports the entity to another dimension. Params: Dimension number to teleport to
- */
- public void travelToDimension (int par1)
- {
- this.field_82345_h = false;
- super.travelToDimension(par1);
- }
-
- /**
- * Called to update the entity's position/logic.
- */
- public void onUpdate ()
- {
- if (this.func_70496_j() > 0)
- {
- this.func_70497_h(this.func_70496_j() - 1);
- }
-
- if (this.getDamage() > 0)
- {
- this.setDamage(this.getDamage() - 1);
- }
-
- if (this.posY < -64.0D)
- {
- this.kill();
- }
-
- if (this.isMinecartPowered() && this.rand.nextInt(4) == 0 && pullcartType == 2 && getClass() == CartEntity.class)
- {
- this.worldObj.spawnParticle("largesmoke", this.posX, this.posY + 0.8D, this.posZ, 0.0D, 0.0D, 0.0D);
- }
-
- int var2;
-
- if (!this.worldObj.isRemote && this.worldObj instanceof WorldServer)
- {
- this.worldObj.theProfiler.startSection("portal");
- MinecraftServer var1 = ((WorldServer) this.worldObj).getMinecraftServer();
- var2 = this.getMaxInPortalTime();
-
- if (this.inPortal)
- {
- if (var1.getAllowNether())
- {
- /*
- if (this.ridingEntity == null && this.timeInPortal++ >= var2)
- {
- this.timeInPortal = var2;
- this.timeUntilPortal = this.getPortalCooldown();
- byte var3;
-
- if (this.worldObj.provider.dimensionId == -1)
- {
- var3 = 0;
- }
- else
- {
- var3 = -1;
- }
-
- this.travelToDimension(var3);
- }
-
- this.inPortal = false;*/
- }
- }
- else
- {
- /*if (this.timeInPortal > 0)
- {
- this.timeInPortal -= 4;
- }
-
- if (this.timeInPortal < 0)
- {
- this.timeInPortal = 0;
- }*/
- }
-
- if (this.timeUntilPortal > 0)
- {
- --this.timeUntilPortal;
- }
-
- this.worldObj.theProfiler.endSection();
- }
-
- if (this.worldObj.isRemote)
- {
- if (this.turnProgress > 0)
- {
- double var46 = this.posX + (this.minecartX - this.posX) / (double) this.turnProgress;
- double var48 = this.posY + (this.minecartY - this.posY) / (double) this.turnProgress;
- double var5 = this.posZ + (this.minecartZ - this.posZ) / (double) this.turnProgress;
- double var7 = MathHelper.wrapAngleTo180_double(this.minecartYaw - (double) this.rotationYaw);
- this.rotationYaw = (float) ((double) this.rotationYaw + var7 / (double) this.turnProgress);
- this.rotationPitch = (float) ((double) this.rotationPitch + (this.minecartPitch - (double) this.rotationPitch) / (double) this.turnProgress);
- --this.turnProgress;
- this.setPosition(var46, var48, var5);
- this.setRotation(this.rotationYaw, this.rotationPitch);
- }
- else
- {
- this.setPosition(this.posX, this.posY, this.posZ);
- this.setRotation(this.rotationYaw, this.rotationPitch);
- }
- }
- else
- {
- this.prevPosX = this.posX;
- this.prevPosY = this.posY;
- this.prevPosZ = this.posZ;
- this.motionY -= 0.03999999910593033D;
- int var45 = MathHelper.floor_double(this.posX);
- var2 = MathHelper.floor_double(this.posY);
- int var47 = MathHelper.floor_double(this.posZ);
-
- if (BlockRail.isRailBlockAt(this.worldObj, var45, var2 - 1, var47))
- {
- --var2;
- }
-
- double var4 = 0.4D;
- double var6 = 0.0078125D;
- int var8 = this.worldObj.getBlockId(var45, var2, var47);
-
- moveMinecartOffRail(var45, var2, var47);
- if (entityFollowing != null)
- moveTowardsEntity(entityFollowing);
-
- this.doBlockCollisions();
- this.rotationPitch = 0.0F;
- double var49 = this.prevPosX - this.posX;
- double var50 = this.prevPosZ - this.posZ;
-
- if (var49 * var49 + var50 * var50 > 0.001D)
- {
- this.rotationYaw = (float) (Math.atan2(var50, var49) * 180.0D / Math.PI);
-
- if (this.field_70499_f)
- {
- this.rotationYaw += 180.0F;
- }
- }
-
- double var51 = (double) MathHelper.wrapAngleTo180_float(this.rotationYaw - this.prevRotationYaw);
-
- if (var51 < -170.0D || var51 >= 170.0D)
- {
- this.rotationYaw += 180.0F;
- this.field_70499_f = !this.field_70499_f;
- }
-
- this.setRotation(this.rotationYaw, this.rotationPitch);
-
- AxisAlignedBB box = boundingBox.expand(0.2D, 0.0D, 0.2D);
-
- List var15 = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, box);
-
- if (var15 != null && !var15.isEmpty())
- {
- for (int var52 = 0; var52 < var15.size(); ++var52)
- {
- Entity var17 = (Entity) var15.get(var52);
-
- if (var17 != this.riddenByEntity && var17.canBePushed() && var17 instanceof CartEntity)
- {
- var17.applyEntityCollision(this);
- }
- }
- }
-
- if (this.riddenByEntity != null && this.riddenByEntity.isDead)
- {
- if (this.riddenByEntity.ridingEntity == this)
- {
- this.riddenByEntity.ridingEntity = null;
- }
-
- this.riddenByEntity = null;
- }
-
- updateFuel();
- }
- }
-
- void moveTowardsEntity (Entity entity)
- {
- //TConstruct.logger.info("Moving towards entity");
- /*double distX = this.posX - entity.posX;
- double distZ = this.posZ - entity.posZ;
- //posY = posY + 0.1;
-
- if (entity.posY > this.posY)
- motionY += 0.1;
- if (distX > 0.5 && distZ > 0.5)
- {
- motionX = -distX;
- motionZ = -distZ;
- }*/
-
- double var15 = entity.posX;
- double var19 = entity.posZ;
-
- if (this.calculateDistance(this.prevPosX, var15) > 1.5D || this.calculateDistance(this.prevPosZ, var19) > 1.5D)
- {
- double var28 = this.prevPosX;
- double var30 = this.prevPosZ;
- double var36 = this.calculateDistance(var28, var15);
- double var38 = this.calculateDistance(var30, var19);
- double var40 = 1.0D;
- double var42 = 1.0D;
- double var46;
- double var44;
-
- if (var36 > var38)
- {
- var46 = 1.0D;
- var44 = var38 / var36;
- var42 = var44 / 3.0D;
- var40 = var46 / 3.0D;
- }
- else if (var38 > var36)
- {
- var44 = 1.0D;
- var46 = var36 / var38;
- var40 = var46 / 3.0D;
- var42 = var44 / 3.0D;
- }
-
- if (var15 > var28)
- {
- this.motionX = var40;// * var26;
- }
- else
- {
- this.motionX = -var40;// * var26;
- }
-
- if (var19 > var30)
- {
- this.motionZ = var42;// * var26;
- }
- else
- {
- this.motionZ = -var42;// * var26;
- }
- }
-
- /*if (entity.posY > this.posY)
- motionY += 0.1;*/
- }
-
- public double calculateDistance (double pos1, double pos2)
- {
- double distance = Math.abs(pos1 - pos2); //0.0D;
- /*double absPos1 = Math.abs(pos1);
- double absPos2 = Math.abs(pos2);
-
- if ((pos1 <= 0.0D || pos2 <= 0.0D) && (pos1 >= 0.0D || pos2 >= 0.0D))
- {
- distance = absPos1 + absPos2;
- }
- else if (absPos1 > absPos2)
- {
- distance = absPos1 - absPos2;
- }
- else if (absPos2 > absPos1)
- {
- distance = absPos2 - absPos1;
- }*/
-
- return distance;
- }
-
- @SideOnly(Side.CLIENT)
- public Vec3 func_70495_a (double par1, double par3, double par5, double par7)
- {
- int var9 = MathHelper.floor_double(par1);
- int var10 = MathHelper.floor_double(par3);
- int var11 = MathHelper.floor_double(par5);
-
- if (BlockRail.isRailBlockAt(this.worldObj, var9, var10 - 1, var11))
- {
- --var10;
- }
-
- int var12 = this.worldObj.getBlockId(var9, var10, var11);
-
- return null;
- }
-
- public Vec3 func_70489_a (double par1, double par3, double par5)
- {
- int var7 = MathHelper.floor_double(par1);
- int var8 = MathHelper.floor_double(par3);
- int var9 = MathHelper.floor_double(par5);
-
- if (BlockRail.isRailBlockAt(this.worldObj, var7, var8 - 1, var9))
- {
- --var8;
- }
-
- int var10 = this.worldObj.getBlockId(var7, var8, var9);
-
- if (BlockRail.isRailBlock(var10))
- {
- int var11 = 0;
- par3 = (double) var8;
-
- if (var11 >= 2 && var11 <= 5)
- {
- par3 = (double) (var8 + 1);
- }
-
- int[][] var12 = matrix[var11];
- double var13 = 0.0D;
- double var15 = (double) var7 + 0.5D + (double) var12[0][0] * 0.5D;
- double var17 = (double) var8 + 0.5D + (double) var12[0][1] * 0.5D;
- double var19 = (double) var9 + 0.5D + (double) var12[0][2] * 0.5D;
- double var21 = (double) var7 + 0.5D + (double) var12[1][0] * 0.5D;
- double var23 = (double) var8 + 0.5D + (double) var12[1][1] * 0.5D;
- double var25 = (double) var9 + 0.5D + (double) var12[1][2] * 0.5D;
- double var27 = var21 - var15;
- double var29 = (var23 - var17) * 2.0D;
- double var31 = var25 - var19;
-
- if (var27 == 0.0D)
- {
- par1 = (double) var7 + 0.5D;
- var13 = par5 - (double) var9;
- }
- else if (var31 == 0.0D)
- {
- par5 = (double) var9 + 0.5D;
- var13 = par1 - (double) var7;
- }
- else
- {
- double var33 = par1 - var15;
- double var35 = par5 - var19;
- var13 = (var33 * var27 + var35 * var31) * 2.0D;
- }
-
- par1 = var15 + var27 * var13;
- par3 = var17 + var29 * var13;
- par5 = var19 + var31 * var13;
-
- if (var29 < 0.0D)
- {
- ++par3;
- }
-
- if (var29 > 0.0D)
- {
- par3 += 0.5D;
- }
-
- return this.worldObj.getWorldVec3Pool().getVecFromPool(par1, par3, par5);
- }
- else
- {
- return null;
- }
- }
-
- /**
- * (abstract) Protected helper method to write subclass entity data to NBT.
- */
- @Override
- protected void writeEntityToNBT (NBTTagCompound par1NBTTagCompound)
- {
- par1NBTTagCompound.setInteger("Type", pullcartType);
-
- if (isPoweredCart())
- {
- par1NBTTagCompound.setDouble("PushX", this.pushX);
- par1NBTTagCompound.setDouble("PushZ", this.pushZ);
- par1NBTTagCompound.setInteger("Fuel", this.fuel);
- }
-
- if (getSizeInventory() > 0)
- {
- NBTTagList var2 = new NBTTagList();
-
- for (int var3 = 0; var3 < this.cargoItems.length; ++var3)
- {
- if (this.cargoItems[var3] != null)
- {
- NBTTagCompound var4 = new NBTTagCompound();
- var4.setByte("Slot", (byte) var3);
- this.cargoItems[var3].writeToNBT(var4);
- var2.appendTag(var4);
- }
- }
-
- par1NBTTagCompound.setTag("Items", var2);
- }
- }
-
- /**
- * (abstract) Protected helper method to read subclass entity data from NBT.
- */
- @Override
- protected void readEntityFromNBT (NBTTagCompound par1NBTTagCompound)
- {
- pullcartType = par1NBTTagCompound.getInteger("Type");
-
- if (isPoweredCart())
- {
- this.pushX = par1NBTTagCompound.getDouble("PushX");
- this.pushZ = par1NBTTagCompound.getDouble("PushZ");
- try
- {
- this.fuel = par1NBTTagCompound.getInteger("Fuel");
- }
- catch (ClassCastException e)
- {
- this.fuel = par1NBTTagCompound.getShort("Fuel");
- }
- }
-
- if (getSizeInventory() > 0)
- {
- NBTTagList var2 = par1NBTTagCompound.getTagList("Items");
- this.cargoItems = new ItemStack[this.getSizeInventory()];
-
- for (int var3 = 0; var3 < var2.tagCount(); ++var3)
- {
- NBTTagCompound var4 = (NBTTagCompound) var2.tagAt(var3);
- int var5 = var4.getByte("Slot") & 255;
-
- if (var5 >= 0 && var5 < this.cargoItems.length)
- {
- this.cargoItems[var5] = ItemStack.loadItemStackFromNBT(var4);
- }
- }
- }
- }
-
- @SideOnly(Side.CLIENT)
- public float getShadowSize ()
- {
- return 0.5F;
- }
-
- /**
- * Applies a velocity to each of the entities pushing them away from each other. Args: entity
- */
- public void applyEntityCollision (Entity par1Entity)
- {
- if (!this.worldObj.isRemote)
- {
- if (par1Entity != this.riddenByEntity)
- {
- if (par1Entity instanceof EntityLiving && !(par1Entity instanceof EntityPlayer) && !(par1Entity instanceof EntityIronGolem) && canBeRidden()
- && this.motionX * this.motionX + this.motionZ * this.motionZ > 0.01D && this.riddenByEntity == null && par1Entity.ridingEntity == null)
- {
- par1Entity.mountEntity(this);
- }
-
- double var2 = par1Entity.posX - this.posX;
- double var4 = par1Entity.posZ - this.posZ;
- double var6 = var2 * var2 + var4 * var4;
-
- if (var6 >= 9.999999747378752E-5D)
- {
- var6 = (double) MathHelper.sqrt_double(var6);
- var2 /= var6;
- var4 /= var6;
- double var8 = 1.0D / var6;
-
- if (var8 > 1.0D)
- {
- var8 = 1.0D;
- }
-
- var2 *= var8;
- var4 *= var8;
- var2 *= 0.10000000149011612D;
- var4 *= 0.10000000149011612D;
- var2 *= (double) (1.0F - this.entityCollisionReduction);
- var4 *= (double) (1.0F - this.entityCollisionReduction);
- var2 *= 0.5D;
- var4 *= 0.5D;
-
- if (par1Entity instanceof CartEntity)
- {
- double var10 = par1Entity.posX - this.posX;
- double var12 = par1Entity.posZ - this.posZ;
- Vec3 var14 = this.worldObj.getWorldVec3Pool().getVecFromPool(var10, 0.0D, var12).normalize();
- Vec3 var15 = this.worldObj.getWorldVec3Pool()
- .getVecFromPool((double) MathHelper.cos(this.rotationYaw * (float) Math.PI / 180.0F), 0.0D, (double) MathHelper.sin(this.rotationYaw * (float) Math.PI / 180.0F))
- .normalize();
- double var16 = Math.abs(var14.dotProduct(var15));
-
- if (var16 < 0.8D)
- {
- return;
- }
-
- double var18 = par1Entity.motionX + this.motionX;
- double var20 = par1Entity.motionZ + this.motionZ;
-
- if (((CartEntity) par1Entity).isPoweredCart() && !isPoweredCart())
- {
- this.motionX *= 0.20000000298023224D;
- this.motionZ *= 0.20000000298023224D;
- this.addVelocity(par1Entity.motionX - var2, 0.0D, par1Entity.motionZ - var4);
- par1Entity.motionX *= 0.949999988079071D;
- par1Entity.motionZ *= 0.949999988079071D;
- }
- else if (!((CartEntity) par1Entity).isPoweredCart() && isPoweredCart())
- {
- par1Entity.motionX *= 0.20000000298023224D;
- par1Entity.motionZ *= 0.20000000298023224D;
- par1Entity.addVelocity(this.motionX + var2, 0.0D, this.motionZ + var4);
- this.motionX *= 0.949999988079071D;
- this.motionZ *= 0.949999988079071D;
- }
- else
- {
- var18 /= 2.0D;
- var20 /= 2.0D;
- this.motionX *= 0.20000000298023224D;
- this.motionZ *= 0.20000000298023224D;
- this.addVelocity(var18 - var2, 0.0D, var20 - var4);
- par1Entity.motionX *= 0.20000000298023224D;
- par1Entity.motionZ *= 0.20000000298023224D;
- par1Entity.addVelocity(var18 + var2, 0.0D, var20 + var4);
- }
- }
- else
- {
- this.addVelocity(-var2, 0.0D, -var4);
- par1Entity.addVelocity(var2 / 4.0D, 0.0D, var4 / 4.0D);
- }
- }
- }
- }
- }
-
- /**
- * Returns the number of slots in the inventory.
- */
- public int getSizeInventory ()
- {
- return (pullcartType == 1 && getClass() == CartEntity.class ? 27 : 0);
- }
-
- /**
- * Returns the stack in slot i
- */
- public ItemStack getStackInSlot (int par1)
- {
- return this.cargoItems[par1];
- }
-
- /**
- * Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a
- * new stack.
- */
- public ItemStack decrStackSize (int par1, int par2)
- {
- if (this.cargoItems[par1] != null)
- {
- ItemStack var3;
-
- if (this.cargoItems[par1].stackSize <= par2)
- {
- var3 = this.cargoItems[par1];
- this.cargoItems[par1] = null;
- return var3;
- }
- else
- {
- var3 = this.cargoItems[par1].splitStack(par2);
-
- if (this.cargoItems[par1].stackSize == 0)
- {
- this.cargoItems[par1] = null;
- }
-
- return var3;
- }
- }
- else
- {
- return null;
- }
- }
-
- /**
- * When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem -
- * like when you close a workbench GUI.
- */
- public ItemStack getStackInSlotOnClosing (int par1)
- {
- if (this.cargoItems[par1] != null)
- {
- ItemStack var2 = this.cargoItems[par1];
- this.cargoItems[par1] = null;
- return var2;
- }
- else
- {
- return null;
- }
- }
-
- /**
- * Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
- */
- public void setInventorySlotContents (int par1, ItemStack par2ItemStack)
- {
- this.cargoItems[par1] = par2ItemStack;
-
- if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit())
- {
- par2ItemStack.stackSize = this.getInventoryStackLimit();
- }
- }
-
- /**
- * Returns the name of the inventory.
- */
- public String getInvName ()
- {
- return "container.minecart";
- }
-
- /**
- * Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't
- * this more of a set than a get?*
- */
- public int getInventoryStackLimit ()
- {
- return 64;
- }
-
- /**
- * Called when an the contents of an Inventory change, usually
- */
- public void onInventoryChanged ()
- {
- }
-
- /**
- * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig.
- */
- public boolean interact (EntityPlayer player)
- {
- if (player.isSneaking())
- {
- if (entityFollowing == null)
- {
- entityFollowing = player;
- //if (!worldObj.isRemote)
- //player.addChatMessage("The cart is following you");
- }
- else
- {
- entityFollowing = null;
- //if (!worldObj.isRemote)
- //player.addChatMessage("The cart has stopped following you");
- }
- return true;
- }
- if (canBeRidden())
- {
- if (this.riddenByEntity != null && this.riddenByEntity instanceof EntityPlayer && this.riddenByEntity != player)
- {
- return true;
- }
-
- if (!this.worldObj.isRemote)
- {
- player.mountEntity(this);
- }
- }
- else if (getSizeInventory() > 0)
- {
- if (!this.worldObj.isRemote)
- {
- player.displayGUIChest(this);
- }
- }
- else if (this.pullcartType == 2 && getClass() == CartEntity.class)
- {
- ItemStack var2 = player.inventory.getCurrentItem();
-
- if (var2 != null && var2.itemID == Item.coal.itemID)
- {
- if (--var2.stackSize == 0)
- {
- player.inventory.setInventorySlotContents(player.inventory.currentItem, (ItemStack) null);
- }
-
- this.fuel += 3600;
- }
-
- this.pushX = this.posX - player.posX;
- this.pushZ = this.posZ - player.posZ;
- }
-
- return true;
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX,
- * posY, posZ, yaw, pitch
- */
- public void setPositionAndRotation2 (double par1, double par3, double par5, float par7, float par8, int par9)
- {
- this.minecartX = par1;
- this.minecartY = par3;
- this.minecartZ = par5;
- this.minecartYaw = (double) par7;
- this.minecartPitch = (double) par8;
- this.turnProgress = par9 + 2;
- this.motionX = this.velocityX;
- this.motionY = this.velocityY;
- this.motionZ = this.velocityZ;
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * Sets the velocity to the args. Args: x, y, z
- */
- public void setVelocity (double par1, double par3, double par5)
- {
- this.velocityX = this.motionX = par1;
- this.velocityY = this.motionY = par3;
- this.velocityZ = this.motionZ = par5;
- }
-
- /**
- * Do not make give this method the name canInteractWith because it clashes with Container
- */
- public boolean isUseableByPlayer (EntityPlayer par1EntityPlayer)
- {
- return this.isDead ? false : par1EntityPlayer.getDistanceSqToEntity(this) <= 64.0D;
- }
-
- /**
- * Is this minecart powered (Fuel > 0)
- */
- public boolean isMinecartPowered ()
- {
- return (this.dataWatcher.getWatchableObjectByte(16) & 1) != 0;
- }
-
- /**
- * Set if this minecart is powered (Fuel > 0)
- */
- protected void setMinecartPowered (boolean par1)
- {
- if (par1)
- {
- this.dataWatcher.updateObject(16, Byte.valueOf((byte) (this.dataWatcher.getWatchableObjectByte(16) | 1)));
- }
- else
- {
- this.dataWatcher.updateObject(16, Byte.valueOf((byte) (this.dataWatcher.getWatchableObjectByte(16) & -2)));
- }
- }
-
- public void openChest ()
- {
- }
-
- public void closeChest ()
- {
- }
-
- /**
- * Sets the current amount of damage the minecart has taken. Decreases over time. The cart breaks when this is over
- * 40.
- */
- public void setDamage (int par1)
- {
- this.dataWatcher.updateObject(19, Integer.valueOf(par1));
- }
-
- /**
- * Gets the current amount of damage the minecart has taken. Decreases over time. The cart breaks when this is over
- * 40.
- */
- public int getDamage ()
- {
- return this.dataWatcher.getWatchableObjectInt(19);
- }
-
- public void func_70497_h (int par1)
- {
- this.dataWatcher.updateObject(17, Integer.valueOf(par1));
- }
-
- public int func_70496_j ()
- {
- return this.dataWatcher.getWatchableObjectInt(17);
- }
-
- public void func_70494_i (int par1)
- {
- this.dataWatcher.updateObject(18, Integer.valueOf(par1));
- }
-
- public int func_70493_k ()
- {
- return this.dataWatcher.getWatchableObjectInt(18);
- }
-
- /**
- * Drops the cart as a item. The exact item dropped is defined by getItemDropped().
- */
- public void dropCartAsItem ()
- {
- for (ItemStack item : getItemsDropped())
- {
- entityDropItem(item, 0);
- }
- }
-
- /**
- * Override this to define which items your cart drops when broken.
- * This does not include items contained in the inventory,
- * that is handled elsewhere.
- * @return A list of items dropped.
- */
- public List getItemsDropped ()
- {
- /*List items = new ArrayList();
- items.add(new ItemStack(Item.minecartEmpty));
-
- switch(cartType)
- {
- case 1:
- items.add(new ItemStack(Block.chest));
- break;
- case 2:
- items.add(new ItemStack(Block.stoneOvenIdle));
- break;
- }
- return items;*/
- return new ArrayList();
- }
-
- /**
- * This function returns an ItemStack that represents this cart.
- * This should be an ItemStack that can be used by the player to place the cart.
- * This is the item that was registered with the cart via the registerMinecart function,
- * but is not necessary the item the cart drops when destroyed.
- * @return An ItemStack that can be used to place the cart.
- */
- public ItemStack getCartItem ()
- {
- return null;
- //return MinecartRegistry.getItemForCart(this);
- }
-
- /**
- * Returns true if this cart is self propelled.
- * @return True if powered.
- */
- public boolean isPoweredCart ()
- {
- return pullcartType == 2 && getClass() == CartEntity.class;
- }
-
- /**
- * Returns true if this cart is a storage cart
- * Some carts may have inventories but not be storage carts
- * and some carts without inventories may be storage carts.
- * @return True if this cart should be classified as a storage cart.
- */
- public boolean isStorageCart ()
- {
- return pullcartType == 1 && getClass() == CartEntity.class;
- }
-
- /**
- * Returns true if this cart can be ridden by an Entity.
- * @return True if this cart can be ridden.
- */
- public boolean canBeRidden ()
- {
- if (pullcartType == 0 && getClass() == CartEntity.class)
- {
- return true;
- }
- return false;
- }
-
- /**
- * Returns true if this cart can currently use rails.
- * This function is mainly used to gracefully detach a minecart from a rail.
- * @return True if the minecart can use rails.
- */
- public boolean canUseRail ()
- {
- return false;
- }
-
- /**
- * Set whether the minecart can use rails.
- * This function is mainly used to gracefully detach a minecart from a rail.
- * @param use Whether the minecart can currently use rails.
- */
- public void setCanUseRail (boolean use)
- {
- canUseRail = use;
- }
-
- /**
- * Return false if this cart should not call IRail.onMinecartPass() and should ignore Powered Rails.
- * @return True if this cart should call IRail.onMinecartPass().
- */
- public boolean shouldDoRailFunctions ()
- {
- return true;
- }
-
- /**
- * Simply returns the minecartType variable.
- * @return minecartType
- */
- public int getCartType ()
- {
- return pullcartType;
- }
-
- /**
- * Carts should return their drag factor here
- * @return The drag rate.
- */
- protected double getDrag ()
- {
- return riddenByEntity != null ? defaultDragRidden : defaultDragEmpty;
- }
-
- /**
- * Moved to allow overrides.
- * This code applies drag and updates push forces.
- */
- protected void applyDragAndPushForces ()
- {
- if (isPoweredCart())
- {
- double d27 = MathHelper.sqrt_double(pushX * pushX + pushZ * pushZ);
- if (d27 > 0.01D)
- {
- pushX /= d27;
- pushZ /= d27;
- double d29 = 0.04;
- motionX *= 0.8D;
- motionY *= 0.0D;
- motionZ *= 0.8D;
- motionX += pushX * d29;
- motionZ += pushZ * d29;
- }
- else
- {
- motionX *= 0.9D;
- motionY *= 0.0D;
- motionZ *= 0.9D;
- }
- }
- motionX *= getDrag();
- motionY *= 0.0D;
- motionZ *= getDrag();
- }
-
- /**
- * Moved to allow overrides.
- * This code updates push forces.
- */
- protected void updatePushForces ()
- {
- if (isPoweredCart())
- {
- double push = MathHelper.sqrt_double(pushX * pushX + pushZ * pushZ);
- if (push > 0.01D && motionX * motionX + motionZ * motionZ > 0.001D)
- {
- pushX /= push;
- pushZ /= push;
- if (pushX * motionX + pushZ * motionZ < 0.0D)
- {
- pushX = 0.0D;
- pushZ = 0.0D;
- }
- else
- {
- pushX = motionX;
- pushZ = motionZ;
- }
- }
- }
- }
-
- /**
- * Moved to allow overrides.
- * This code handles minecart movement and speed capping when not on a rail.
- */
- protected void moveMinecartOffRail (int i, int j, int k)
- {
- double d2 = getMaxSpeedGround();
- if (!onGround)
- {
- d2 = getMaxSpeedAirLateral();
- }
- if (motionX < -d2)
- motionX = -d2;
- if (motionX > d2)
- motionX = d2;
- if (motionZ < -d2)
- motionZ = -d2;
- if (motionZ > d2)
- motionZ = d2;
- double moveY = motionY;
- if (getMaxSpeedAirVertical() > 0 && motionY > getMaxSpeedAirVertical())
- {
- moveY = getMaxSpeedAirVertical();
- if (Math.abs(motionX) < 0.3f && Math.abs(motionZ) < 0.3f)
- {
- moveY = 0.15f;
- motionY = moveY;
- }
- }
- if (onGround)
- {
- motionX *= 0.5D;
- motionY *= 0.5D;
- motionZ *= 0.5D;
- }
- moveEntity(motionX, moveY, motionZ);
- if (!onGround)
- {
- motionX *= getDragAir();
- motionY *= getDragAir();
- motionZ *= getDragAir();
- }
- }
-
- /**
- * Moved to allow overrides.
- * This code applies fuel consumption.
- */
- protected void updateFuel ()
- {
- if (fuel > 0)
- fuel--;
- if (fuel <= 0)
- pushX = pushZ = 0.0D;
- setMinecartPowered(fuel > 0);
- }
-
- /**
- * Moved to allow overrides, This code handle slopes affecting velocity.
- * @param metadata The blocks position metadata
- */
- protected void adjustSlopeVelocities (int metadata)
- {
- double acceleration = 0.0078125D;
- if (metadata == 2)
- {
- motionX -= acceleration;
- }
- else if (metadata == 3)
- {
- motionX += acceleration;
- }
- else if (metadata == 4)
- {
- motionZ += acceleration;
- }
- else if (metadata == 5)
- {
- motionZ -= acceleration;
- }
- }
-
- /**
- * Getters/setters for physics variables
- */
-
- /**
- * Returns the carts max speed.
- * Carts going faster than 1.1 cause issues with chunk loading.
- * Carts cant traverse slopes or corners at greater than 0.5 - 0.6.
- * This value is compared with the rails max speed to determine
- * the carts current max speed. A normal rails max speed is 0.4.
- * @return Carts max speed.
- */
- public float getMaxSpeedRail ()
- {
- return maxSpeedRail;
- }
-
- public void setMaxSpeedRail (float value)
- {
- maxSpeedRail = value;
- }
-
- public float getMaxSpeedGround ()
- {
- return maxSpeedGround;
- }
-
- public void setMaxSpeedGround (float value)
- {
- maxSpeedGround = value;
- }
-
- public float getMaxSpeedAirLateral ()
- {
- return maxSpeedAirLateral;
- }
-
- public void setMaxSpeedAirLateral (float value)
- {
- maxSpeedAirLateral = value;
- }
-
- public float getMaxSpeedAirVertical ()
- {
- return maxSpeedAirVertical;
- }
-
- public void setMaxSpeedAirVertical (float value)
- {
- maxSpeedAirVertical = value;
- }
-
- public double getDragAir ()
- {
- return dragAir;
- }
-
- public void setDragAir (double value)
- {
- dragAir = value;
- }
-
- @Override
- public void writeSpawnData (ByteArrayDataOutput data)
- {
- data.writeInt(pullcartType);
-
- }
-
- @Override
- public void readSpawnData (ByteArrayDataInput data)
- {
- pullcartType = data.readInt();
-
- }
-
- @Override
- public boolean isInvNameLocalized ()
- {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean isItemValidForSlot (int i, ItemStack itemstack)
- {
- // TODO Auto-generated method stub
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/entity/Crystal.java b/src/main/java/tconstruct/entity/Crystal.java
deleted file mode 100644
index fabd5c15..00000000
--- a/src/main/java/tconstruct/entity/Crystal.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package tconstruct.entity;
-
-import net.minecraft.entity.monster.EntityCreeper;
-import net.minecraft.world.World;
-
-public class Crystal extends EntityCreeper
-{
-
- public Crystal(World par1World)
- {
- super(par1World);
- //texture = "/mods/tinker/textures/mob/crystalwater.png";
- }
-
-}
diff --git a/src/main/java/tconstruct/entity/CrystalGuardian.java b/src/main/java/tconstruct/entity/CrystalGuardian.java
deleted file mode 100644
index 63eb9337..00000000
--- a/src/main/java/tconstruct/entity/CrystalGuardian.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package tconstruct.entity;
-
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.world.World;
-
-public class CrystalGuardian extends EntityLiving
-{
-
- public CrystalGuardian(World par1World)
- {
- super(par1World);
- //this.texture = "/mods/tinker/textures/mob/crystalguardamber.png";
- }
-
- /*@Override
- public int getMaxHealth ()
- {
- return 100;
- }*/
-
-}
diff --git a/src/main/java/tconstruct/entity/FakeBlockEntity.java b/src/main/java/tconstruct/entity/FakeBlockEntity.java
deleted file mode 100644
index 054290ee..00000000
--- a/src/main/java/tconstruct/entity/FakeBlockEntity.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package tconstruct.entity;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-
-import com.google.common.io.ByteArrayDataInput;
-import com.google.common.io.ByteArrayDataOutput;
-
-import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData;
-
-public class FakeBlockEntity extends Entity implements IEntityAdditionalSpawnData
-{
-
- public FakeBlockEntity(World world)
- {
- super(world);
- preventEntitySpawning = true;
- }
-
- @Override
- protected void entityInit ()
- {
-
- }
-
- @Override
- public void writeSpawnData (ByteArrayDataOutput data)
- {
-
- }
-
- @Override
- public void readSpawnData (ByteArrayDataInput data)
- {
-
- }
-
- @Override
- protected void readEntityFromNBT (NBTTagCompound var1)
- {
-
- }
-
- @Override
- protected void writeEntityToNBT (NBTTagCompound var1)
- {
-
- }
-
-}
diff --git a/src/main/java/tconstruct/entity/FancyEntityItem.java b/src/main/java/tconstruct/entity/FancyEntityItem.java
deleted file mode 100644
index b4568775..00000000
--- a/src/main/java/tconstruct/entity/FancyEntityItem.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package tconstruct.entity;
-
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-
-public class FancyEntityItem extends EntityItem
-{
- public FancyEntityItem(World par1World, double par2, double par4, double par6)
- {
- super(par1World, par2, par4, par6);
- }
-
- public FancyEntityItem(World par1World, double par2, double par4, double par6, ItemStack par8ItemStack)
- {
- this(par1World, par2, par4, par6);
- this.setEntityItemStack(par8ItemStack);
- this.lifespan = (par8ItemStack.getItem() == null ? 6000 : par8ItemStack.getItem().getEntityLifespan(par8ItemStack, par1World));
- }
-
- public FancyEntityItem(World par1World)
- {
- super(par1World);
- }
-}
diff --git a/src/main/java/tconstruct/entity/MetalSlime.java b/src/main/java/tconstruct/entity/MetalSlime.java
deleted file mode 100644
index d9b03404..00000000
--- a/src/main/java/tconstruct/entity/MetalSlime.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package tconstruct.entity;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.util.DamageSource;
-import net.minecraft.world.World;
-
-public class MetalSlime extends BlueSlime
-{
-
- public MetalSlime(World world)
- {
- super(world);
- //this.texture = "/mods/tinker/textures/mob/slimemetal.png";
- this.setHealth(getMaxHealthForSize());
- }
-
- public boolean attackEntityFrom (DamageSource damageSource, int damage)
- {
- if (!damageSource.isExplosion() && damageSource.isProjectile())
- return false;
- return super.attackEntityFrom(damageSource, damage);
- }
-
- // Invoked by constructor to set max health dependant on current size
- private float getMaxHealthForSize ()
- {
- int i = this.getSlimeSize();
- if (i == 1)
- return 4;
- return (float) Math.min(i * i + 20, 100);
- }
-
- public int getTotalArmorValue ()
- {
- return super.getTotalArmorValue() + 12;
- }
-
- public void setDead ()
- {
- this.isDead = true;
- }
-
- /*protected void dropFewItems (boolean par1, int par2)
- {
- int j = this.getDropItemId();
-
- if (j > 0)
- {
- int k = rand.nextInt(3) + rand.nextInt(this.getSlimeSize());
-
- if (par2 > 0)
- {
- k += this.rand.nextInt(par2 + 1);
- }
-
- for (int l = 0; l < k; ++l)
- {
- this.dropItem(j, 1);
- }
- }
- }*/
-
- protected void updateEntityActionState ()
- {
- this.despawnEntity();
- EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 16.0D);
-
- if (entityplayer != null)
- {
- this.faceEntity(entityplayer, 10.0F, 20.0F);
- }
- else if (this.onGround && this.slimeJumpDelay == 1)
- {
- this.rotationYaw = this.rotationYaw + rand.nextFloat() * 180 - 90;
- if (rotationYaw > 360)
- rotationYaw -= 360;
- if (rotationYaw < 0)
- rotationYaw += 360;
- }
-
- if (this.onGround && this.slimeJumpDelay-- <= 0)
- {
- this.slimeJumpDelay = this.getJumpDelay();
-
- if (entityplayer != null)
- {
- this.slimeJumpDelay /= 3;
- }
-
- this.isJumping = true;
-
- if (this.makesSoundOnJump())
- {
- this.playSound(this.getJumpSound(), this.getSoundVolume(), ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F) * 0.8F);
- }
-
- this.moveStrafing = 1.0F - this.rand.nextFloat() * 2.0F;
- this.moveForward = (float) (1 * this.getSlimeSize());
- }
- else
- {
- this.isJumping = false;
-
- if (this.onGround)
- {
- this.moveStrafing = this.moveForward = 0.0F;
- }
- }
- }
-}
diff --git a/src/main/java/tconstruct/entity/Skyla.java b/src/main/java/tconstruct/entity/Skyla.java
deleted file mode 100644
index ef201dad..00000000
--- a/src/main/java/tconstruct/entity/Skyla.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package tconstruct.entity;
-
-import net.minecraft.entity.monster.EntityCreeper;
-import net.minecraft.world.World;
-
-public class Skyla extends EntityCreeper
-{
-
- public Skyla(World par1World)
- {
- super(par1World);
- //username = "Skyla";
- //texture = "/mods/tinker/textures/mob/skyla.png";
- }
-
- /*@Override
- public void sendChatToPlayer (String var1) {}
-
- @Override
- public boolean canCommandSenderUseCommand (int var1, String var2)
- {
- return false;
- }
-
- @Override
- public ChunkCoordinates getPlayerCoordinates ()
- {
- return null;
- }*/
-
-}
diff --git a/src/main/java/tconstruct/entity/item/EntityLandmineFirework.java b/src/main/java/tconstruct/entity/item/EntityLandmineFirework.java
deleted file mode 100644
index 8fd0be4b..00000000
--- a/src/main/java/tconstruct/entity/item/EntityLandmineFirework.java
+++ /dev/null
@@ -1,246 +0,0 @@
-package tconstruct.entity.item;
-
-import tconstruct.util.DamageSourceFireworkExplode;
-
-import cpw.mods.fml.relauncher.*;
-import net.minecraft.entity.Entity;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-
-public class EntityLandmineFirework extends Entity
-{
- /** The age of the firework in ticks. */
- private int fireworkAge;
-
- /**
- * The lifetime of the firework in ticks. When the age reaches the lifetime the firework explodes.
- */
- private int lifetime;
-
- private Entity rider;
-
- private int moveDirection = 0;
-
- public EntityLandmineFirework(World par1World)
- {
- super(par1World);
- this.setSize(0.25F, 0.25F);
- }
-
- protected void entityInit ()
- {
- this.dataWatcher.addObjectByDataType(8, 5);
- }
-
- public EntityLandmineFirework setRider (Entity entity)
- {
- rider = entity;
- return this;
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * Checks if the entity is in range to render by using the past in distance and comparing it to its average edge
- * length * 64 * renderDistanceWeight Args: distance
- */
- public boolean isInRangeToRenderDist (double par1)
- {
- return par1 < 4096.0D;
- }
-
- public EntityLandmineFirework(World par1World, double par2, double par4, double par6, ItemStack par8ItemStack, int moveDirection)
- {
- super(par1World);
- this.fireworkAge = 0;
- this.setSize(0.25F, 0.25F);
- this.setPosition(par2, par4, par6);
- this.yOffset = 0.0F;
- int i = 1;
-
- if (par8ItemStack != null && par8ItemStack.hasTagCompound())
- {
- this.dataWatcher.updateObject(8, par8ItemStack);
- NBTTagCompound nbttagcompound = par8ItemStack.getTagCompound();
- NBTTagCompound nbttagcompound1 = nbttagcompound.getCompoundTag("Fireworks");
-
- if (nbttagcompound1 != null)
- {
- i += nbttagcompound1.getByte("Flight");
- }
- }
-
- this.motionX = this.rand.nextGaussian() * 0.001D;
- this.motionZ = this.rand.nextGaussian() * 0.001D;
- this.motionY = 0.05D;
- this.lifetime = 10 * i + this.rand.nextInt(6) + this.rand.nextInt(7);
- this.moveDirection = moveDirection;
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * Sets the velocity to the args. Args: x, y, z
- */
- public void setVelocity (double par1, double par3, double par5)
- {
- this.motionX = par1;
- this.motionY = par3;
- this.motionZ = par5;
-
- if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F)
- {
- float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5);
- this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI);
- this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI);
- }
- }
-
- /**
- * Called to update the entity's position/logic.
- */
- public void onUpdate ()
- {
- if (this.riddenByEntity == null && this.rider != null)
- {
- this.rider.mountEntity(this);
- }
-
- this.lastTickPosX = this.posX;
- this.lastTickPosY = this.posY;
- this.lastTickPosZ = this.posZ;
- super.onUpdate();
- this.motionX *= 1.15D;
- this.motionZ *= 1.15D;
- this.motionY += 0.04D;
- this.moveEntity(this.motionX, this.motionY, this.motionZ);
- float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
- this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
-
- for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F)
- {
- ;
- }
-
- while (this.rotationPitch - this.prevRotationPitch >= 180.0F)
- {
- this.prevRotationPitch += 360.0F;
- }
-
- while (this.rotationYaw - this.prevRotationYaw < -180.0F)
- {
- this.prevRotationYaw -= 360.0F;
- }
-
- while (this.rotationYaw - this.prevRotationYaw >= 180.0F)
- {
- this.prevRotationYaw += 360.0F;
- }
-
- this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F;
- this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F;
-
- if (this.fireworkAge == 0)
- {
- this.worldObj.playSoundAtEntity(this, "fireworks.launch", 3.0F, 1.0F);
- }
-
- ++this.fireworkAge;
-
- if (this.worldObj.isRemote && this.fireworkAge % 2 < 2)
- {
- this.worldObj.spawnParticle("fireworksSpark", this.posX, this.posY - 0.3D, this.posZ, this.rand.nextGaussian() * 0.05D, -this.motionY * 0.5D, this.rand.nextGaussian() * 0.05D);
- }
-
- if (!this.worldObj.isRemote && this.fireworkAge > this.lifetime)
- {
- this.worldObj.setEntityState(this, (byte) 17);
- this.rider.attackEntityFrom(new DamageSourceFireworkExplode("FireworkExplode"), 200F);
- this.setDead();
- }
- }
-
- @SideOnly(Side.CLIENT)
- public void handleHealthUpdate (byte par1)
- {
- if (par1 == 17 && this.worldObj.isRemote)
- {
- ItemStack itemstack = this.dataWatcher.getWatchableObjectItemStack(8);
- NBTTagCompound nbttagcompound = null;
-
- if (itemstack != null && itemstack.hasTagCompound())
- {
- nbttagcompound = itemstack.getTagCompound().getCompoundTag("Fireworks");
- }
-
- this.worldObj.func_92088_a(this.posX, this.posY, this.posZ, this.motionX, this.motionY, this.motionZ, nbttagcompound);
- }
-
- super.handleHealthUpdate(par1);
- }
-
- /**
- * (abstract) Protected helper method to write subclass entity data to NBT.
- */
- public void writeEntityToNBT (NBTTagCompound par1NBTTagCompound)
- {
- par1NBTTagCompound.setInteger("Life", this.fireworkAge);
- par1NBTTagCompound.setInteger("LifeTime", this.lifetime);
- ItemStack itemstack = this.dataWatcher.getWatchableObjectItemStack(8);
-
- if (itemstack != null)
- {
- NBTTagCompound nbttagcompound1 = new NBTTagCompound();
- itemstack.writeToNBT(nbttagcompound1);
- par1NBTTagCompound.setCompoundTag("FireworksItem", nbttagcompound1);
- }
- }
-
- /**
- * (abstract) Protected helper method to read subclass entity data from NBT.
- */
- public void readEntityFromNBT (NBTTagCompound par1NBTTagCompound)
- {
- this.fireworkAge = par1NBTTagCompound.getInteger("Life");
- this.lifetime = par1NBTTagCompound.getInteger("LifeTime");
- NBTTagCompound nbttagcompound1 = par1NBTTagCompound.getCompoundTag("FireworksItem");
-
- if (nbttagcompound1 != null)
- {
- ItemStack itemstack = ItemStack.loadItemStackFromNBT(nbttagcompound1);
-
- if (itemstack != null)
- {
- this.dataWatcher.updateObject(8, itemstack);
- }
- }
- }
-
- @SideOnly(Side.CLIENT)
- public float getShadowSize ()
- {
- return 0.0F;
- }
-
- /**
- * Gets how bright this entity is.
- */
- public float getBrightness (float par1)
- {
- return super.getBrightness(par1);
- }
-
- @SideOnly(Side.CLIENT)
- public int getBrightnessForRender (float par1)
- {
- return super.getBrightnessForRender(par1);
- }
-
- /**
- * If returns false, the item will not inflict any damage against entities.
- */
- public boolean canAttackWithItem ()
- {
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/entity/item/ExplosivePrimed.java b/src/main/java/tconstruct/entity/item/ExplosivePrimed.java
deleted file mode 100644
index c89b751e..00000000
--- a/src/main/java/tconstruct/entity/item/ExplosivePrimed.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package tconstruct.entity.item;
-
-import net.minecraft.block.Block;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.Explosion;
-import net.minecraft.world.World;
-import tconstruct.util.MiningExplosion;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class ExplosivePrimed extends Entity
-{
- /** How long the fuse is */
- public Block block;
- public int metadata;
- public int fuse;
- private EntityLivingBase tntPlacedBy;
-
- public ExplosivePrimed(World par1World)
- {
- super(par1World);
- this.preventEntitySpawning = true;
- this.setSize(0.98F, 0.98F);
- this.yOffset = this.height / 2.0F;
- }
-
- public ExplosivePrimed(World par1World, double par2, double par4, double par6, EntityLivingBase par8EntityLivingBase)
- {
- this(par1World);
- this.setPosition(par2, par4, par6);
- float f = (float) (Math.random() * Math.PI * 2.0D);
- this.motionX = (double) (-((float) Math.sin((double) f)) * 0.02F);
- this.motionY = 0.20000000298023224D;
- this.motionZ = (double) (-((float) Math.cos((double) f)) * 0.02F);
- this.fuse = 80;
- this.prevPosX = par2;
- this.prevPosY = par4;
- this.prevPosZ = par6;
- this.tntPlacedBy = par8EntityLivingBase;
- }
-
- protected void entityInit ()
- {
- }
-
- /**
- * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to
- * prevent them from trampling crops
- */
- protected boolean canTriggerWalking ()
- {
- return false;
- }
-
- /**
- * Returns true if other Entities should be prevented from moving through this Entity.
- */
- public boolean canBeCollidedWith ()
- {
- return !this.isDead;
- }
-
- /**
- * Called to update the entity's position/logic.
- */
- public void onUpdate ()
- {
- this.prevPosX = this.posX;
- this.prevPosY = this.posY;
- this.prevPosZ = this.posZ;
- this.motionY -= 0.03999999910593033D;
- this.moveEntity(this.motionX, this.motionY, this.motionZ);
- this.motionX *= 0.9800000190734863D;
- this.motionY *= 0.9800000190734863D;
- this.motionZ *= 0.9800000190734863D;
-
- if (this.onGround)
- {
- this.motionX *= 0.699999988079071D;
- this.motionZ *= 0.699999988079071D;
- this.motionY *= -0.5D;
- }
-
- if (this.fuse-- <= 0)
- {
- this.setDead();
-
- if (!this.worldObj.isRemote)
- {
- this.explode();
- }
- }
- else
- {
- this.worldObj.spawnParticle("smoke", this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D);
- }
- }
-
- private void explode ()
- {
- float f = 5.0F;
- this.createExplosion(worldObj, this, this.posX, this.posY, this.posZ, f);
- }
-
- public void createExplosion (World world, Entity par1Entity, double par2, double par4, double par6, float par8)
- {
- Explosion explosion = new MiningExplosion(world, par1Entity, par2, par4, par6, par8);
- explosion.isFlaming = false;
- explosion.isSmoking = true;
- explosion.doExplosionA();
- explosion.doExplosionB(true);
- //return explosion;
- }
-
- /**
- * (abstract) Protected helper method to write subclass entity data to NBT.
- */
- protected void writeEntityToNBT (NBTTagCompound par1NBTTagCompound)
- {
- par1NBTTagCompound.setByte("Fuse", (byte) this.fuse);
- }
-
- /**
- * (abstract) Protected helper method to read subclass entity data from NBT.
- */
- protected void readEntityFromNBT (NBTTagCompound par1NBTTagCompound)
- {
- this.fuse = par1NBTTagCompound.getByte("Fuse");
- }
-
- @SideOnly(Side.CLIENT)
- public float getShadowSize ()
- {
- return 0.0F;
- }
-
- /**
- * returns null or the entityliving it was placed or ignited by
- */
- public EntityLivingBase getTntPlacedBy ()
- {
- return this.tntPlacedBy;
- }
-}
diff --git a/src/main/java/tconstruct/entity/projectile/ArrowEntity.java b/src/main/java/tconstruct/entity/projectile/ArrowEntity.java
deleted file mode 100644
index 5990bed0..00000000
--- a/src/main/java/tconstruct/entity/projectile/ArrowEntity.java
+++ /dev/null
@@ -1,675 +0,0 @@
-package tconstruct.entity.projectile;
-
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.crash.CrashReport;
-import net.minecraft.crash.CrashReportCategory;
-import net.minecraft.enchantment.EnchantmentThorns;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.monster.EntityEnderman;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.entity.projectile.EntityArrow;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.network.packet.Packet70GameEvent;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.DamageSource;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.util.ReportedException;
-import net.minecraft.util.Vec3;
-import net.minecraft.world.World;
-
-import com.google.common.io.ByteArrayDataInput;
-import com.google.common.io.ByteArrayDataOutput;
-
-import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData;
-
-public class ArrowEntity extends EntityArrow implements IEntityAdditionalSpawnData
-{
- public ItemStack returnStack;
- public float mass;
- public int baseDamage;
- private float knockbackStrengthMod;
- Random random = new Random();
-
- public ArrowEntity(World par1World)
- {
- super(par1World);
- }
-
- public ArrowEntity(World world, EntityLivingBase living, float baseSpeed, ItemStack stack)
- {
- super(world, living, baseSpeed);
- this.returnStack = stack;
- NBTTagCompound toolTag = stack.getTagCompound().getCompoundTag("InfiTool");
- this.mass = toolTag.getFloat("Mass");
- this.baseDamage = toolTag.getInteger("Attack");
- }
-
- public ArrowEntity(World world, double x, double y, double z, ItemStack stack)
- {
- super(world, x, y, z);
- this.returnStack = stack;
- NBTTagCompound toolTag = stack.getTagCompound().getCompoundTag("InfiTool");
- this.mass = toolTag.getFloat("Mass");
- this.baseDamage = toolTag.getInteger("Attack");
- }
-
- @Override
- public void onCollideWithPlayer (EntityPlayer par1EntityPlayer)
- {
- if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0)
- {
- boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode;
-
- if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(returnStack))
- {
- flag = false;
- }
-
- if (flag)
- {
- this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F);
- par1EntityPlayer.onItemPickup(this, 1);
- this.setDead();
- }
- }
- }
-
- @Override
- public void onUpdate ()
- {
- this.onEntityUpdate();
- if (returnStack == null || returnStack.stackSize < 1)
- {
- this.setDead();
- }
-
- if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F)
- {
- float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
- this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
- this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI);
- }
-
- int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile);
-
- if (i > 0)
- {
- Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile);
- AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile);
-
- if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ)))
- {
- this.inGround = true;
- }
- }
-
- if (this.arrowShake > 0)
- {
- --this.arrowShake;
- }
-
- if (this.inGround)
- {
- if (!worldObj.isRemote)
- {
- int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile);
- int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile);
-
- if (j == this.inTile && k == this.inData)
- {
- ++this.ticksInGround;
-
- if (this.ticksInGround == 120000)
- {
- this.setDead();
- }
- }
- else
- {
- this.inGround = false;
- this.motionX *= (double) (this.rand.nextFloat() * 0.2F);
- this.motionY *= (double) (this.rand.nextFloat() * 0.2F);
- this.motionZ *= (double) (this.rand.nextFloat() * 0.2F);
- this.ticksInGround = 0;
- this.ticksInAir = 0;
- }
- }
- }
- else
- {
- ++this.ticksInAir;
- Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ);
- Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
- MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true);
- vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ);
- vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
-
- if (movingobjectposition != null)
- {
- vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord);
- }
-
- Entity entity = null;
- List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D));
- double d0 = 0.0D;
- int l;
- float ySpeed;
-
- for (l = 0; l < list.size(); ++l)
- {
- Entity entity1 = (Entity) list.get(l);
-
- if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5))
- {
- ySpeed = 0.3F;
- AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) ySpeed, (double) ySpeed, (double) ySpeed);
- MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31);
-
- if (movingobjectposition1 != null)
- {
- double d1 = vec3.distanceTo(movingobjectposition1.hitVec);
-
- if (d1 < d0 || d0 == 0.0D)
- {
- entity = entity1;
- d0 = d1;
- }
- }
- }
- }
-
- if (entity != null)
- {
- movingobjectposition = new MovingObjectPosition(entity);
- }
-
- if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer)
- {
- EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit;
-
- if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer))
- {
- movingobjectposition = null;
- }
- }
-
- float speed;
- float f3;
-
- if (movingobjectposition != null)
- {
- if (movingobjectposition.entityHit != null)
- {
- speed = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ);
- double damageSpeed = (double) speed * this.damage;
- damageSpeed *= baseDamage;
- damageSpeed /= 5D;
- int damageInflicted = MathHelper.ceiling_double_int(damageSpeed);
-
- if (this.getIsCritical())
- {
- damageInflicted += this.rand.nextInt(damageInflicted / 2 + 2);
- }
-
- DamageSource damagesource = null;
-
- if (this.shootingEntity == null)
- {
- damagesource = DamageSource.causeArrowDamage(this, this);
- }
- else
- {
- damagesource = DamageSource.causeArrowDamage(this, this.shootingEntity);
- }
-
- if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman))
- {
- movingobjectposition.entityHit.setFire(5);
- }
-
- if (returnStack.hasTagCompound())
- {
- int fireAspect = 0;
- NBTTagCompound toolTags = returnStack.getTagCompound().getCompoundTag("InfiTool");
- if (toolTags.hasKey("Fiery") || toolTags.hasKey("Lava"))
- {
- fireAspect *= 4;
- if (toolTags.hasKey("Fiery"))
- {
- fireAspect += toolTags.getInteger("Fiery") / 5 + 1;
- }
- if (toolTags.getBoolean("Lava"))
- {
- fireAspect += 3;
- }
- entity.setFire(fireAspect);
- }
-
- int drain = toolTags.getInteger("Necrotic") * 2;
- if (drain > 0 && shootingEntity != null && shootingEntity instanceof EntityLiving)
- ((EntityLiving) shootingEntity).heal(random.nextInt(drain + 1));
- }
-
- if (movingobjectposition.entityHit.attackEntityFrom(damagesource, damageInflicted))
- {
- if (movingobjectposition.entityHit instanceof EntityLivingBase)
- {
- EntityLivingBase entityliving = (EntityLivingBase) movingobjectposition.entityHit;
-
- if (!this.worldObj.isRemote)
- {
- entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1);
- }
-
- if (this.knockbackStrength > 0 || this.knockbackStrengthMod > 0)
- {
- f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
-
- if (f3 > 0.0F)
- {
- float knockback = knockbackStrength + knockbackStrengthMod;
- movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ
- * (double) knockback * 0.6000000238418579D / (double) f3);
- }
- }
-
- if (this.shootingEntity != null)
- {
- EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand);
- }
-
- if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer
- && this.shootingEntity instanceof EntityPlayerMP)
- {
- ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0));
- }
- }
-
- this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F));
-
- if (!(movingobjectposition.entityHit instanceof EntityEnderman))
- {
- this.motionX = 0;
- this.motionZ = 0;
- if (movingobjectposition.entityHit instanceof EntityPlayer)
- {
- EntityPlayer player = (EntityPlayer) movingobjectposition.entityHit;
- if (canBePickedUp == 2 || player.inventory.addItemStackToInventory(returnStack))
- this.setDead();
- }
- else if (movingobjectposition.entityHit instanceof EntityLivingBase)
- {
- EntityLivingBase living = (EntityLivingBase) movingobjectposition.entityHit;
- if (canBePickedUp == 2 || addItemStackToInventory(returnStack, living))
- this.setDead();
- }
- }
- }
- else
- {
- this.motionX *= -0.10000000149011612D;
- this.motionY *= -0.10000000149011612D;
- this.motionZ *= -0.10000000149011612D;
- this.rotationYaw += 180.0F;
- this.prevRotationYaw += 180.0F;
- this.ticksInAir = 0;
- }
- }
- else
- {
- this.xTile = movingobjectposition.blockX;
- this.yTile = movingobjectposition.blockY;
- this.zTile = movingobjectposition.blockZ;
- this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile);
- this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile);
- this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX));
- this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY));
- this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ));
- speed = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ);
- this.posX -= this.motionX / (double) speed * 0.05000000074505806D;
- this.posY -= this.motionY / (double) speed * 0.05000000074505806D;
- this.posZ -= this.motionZ / (double) speed * 0.05000000074505806D;
- this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F));
- this.inGround = true;
- this.arrowShake = 0;
- this.setIsCritical(false);
-
- if (this.inTile != 0)
- {
- Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this);
- }
- }
- }
-
- if (this.getIsCritical())
- {
- for (l = 0; l < 4; ++l)
- {
- this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D,
- -this.motionX, -this.motionY + 0.2D, -this.motionZ);
- }
- }
-
- this.posX += this.motionX;
- this.posY += this.motionY;
- this.posZ += this.motionZ;
- speed = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
- this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
-
- for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) speed) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F)
- {
- ;
- }
-
- while (this.rotationPitch - this.prevRotationPitch >= 180.0F)
- {
- this.prevRotationPitch += 360.0F;
- }
-
- while (this.rotationYaw - this.prevRotationYaw < -180.0F)
- {
- this.prevRotationYaw -= 360.0F;
- }
-
- while (this.rotationYaw - this.prevRotationYaw >= 180.0F)
- {
- this.prevRotationYaw += 360.0F;
- }
-
- this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F;
- this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F;
- float dropSpeed = 0.99F;
- float speedMod = 1.05f + (mass / 1.26F) / 6F;
- ySpeed = 0.05F * speedMod;
-
- if (this.isInWater())
- {
- for (int j1 = 0; j1 < 4; ++j1)
- {
- f3 = 0.25F;
- this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX,
- this.motionY, this.motionZ);
- }
-
- dropSpeed = 0.8F;
- }
-
- this.motionX *= (double) dropSpeed;
- this.motionY *= (double) dropSpeed;
- this.motionZ *= (double) dropSpeed;
- this.motionY -= (double) ySpeed;
- this.setPosition(this.posX, this.posY, this.posZ);
- this.doBlockCollisions();
- }
- }
-
- public boolean addItemStackToInventory (ItemStack par1ItemStack, EntityLivingBase living)
- {
- if (par1ItemStack == null)
- {
- return false;
- }
- else
- {
- try
- {
- int stackSize;
-
- /*if (par1ItemStack.isItemDamaged())
- {
- slotID = this.getFirstEmptyStack(living);
-
- if (slotID >= 0)
- {
- living.setCurrentItemOrArmor(slotID, par1ItemStack);
- living.func_96120_a(slotID, 2.0f);
- par1ItemStack.stackSize = 0;
- return true;
- }
- else
- {
- return false;
- }
- }
- else*/
- {
- do
- {
- stackSize = par1ItemStack.stackSize;
- par1ItemStack.stackSize = this.storePartialItemStack(par1ItemStack, living);
- } while (par1ItemStack.stackSize > 0 && par1ItemStack.stackSize < stackSize);
-
- return par1ItemStack.stackSize < stackSize;
- }
- }
- catch (Throwable throwable)
- {
- CrashReport crashreport = CrashReport.makeCrashReport(throwable, "Adding item to inventory");
- CrashReportCategory crashreportcategory = crashreport.makeCategory("Item being added");
- crashreportcategory.addCrashSection("Item ID", Integer.valueOf(par1ItemStack.itemID));
- crashreportcategory.addCrashSection("Item data", Integer.valueOf(par1ItemStack.getItemDamage()));
- //crashreportcategory.addCrashSectionCallable("Item name", new CallableItemName(this, par1ItemStack));
- throw new ReportedException(crashreport);
- }
- }
- }
-
- public int getFirstEmptyStack (EntityLivingBase living)
- {
- for (int i = 0; i < 5; ++i)
- {
- if (living.getCurrentItemOrArmor(i) == null)
- {
- return i;
- }
- }
-
- return -1;
- }
-
- private int storePartialItemStack (ItemStack par1ItemStack, EntityLivingBase living)
- {
- int i = par1ItemStack.itemID;
- int j = par1ItemStack.stackSize;
- int slotID;
-
- if (par1ItemStack.getMaxStackSize() == 1)
- {
- slotID = this.getFirstEmptyStack(living);
-
- if (slotID < 0)
- {
- return j;
- }
- else
- {
- /*if (this.mainInventory[k] == null)
- {
- this.mainInventory[k] = par1ItemStack;
- }*/
- if (living.getCurrentItemOrArmor(slotID) == null)
- {
- living.setCurrentItemOrArmor(slotID, par1ItemStack);
- if (living instanceof EntityLiving)
- ((EntityLiving) living).setEquipmentDropChance(slotID, 2.0f);
- }
-
- return 0;
- }
- }
- else
- {
- slotID = this.storeItemStack(par1ItemStack, living);
-
- if (slotID < 0)
- {
- slotID = this.getFirstEmptyStack(living);
- }
-
- if (slotID < 0)
- {
- return j;
- }
- else
- {
- ItemStack stack = living.getCurrentItemOrArmor(slotID);
- if (stack == null)
- {
- living.setCurrentItemOrArmor(slotID, par1ItemStack);
- if (living instanceof EntityLiving)
- ((EntityLiving) living).setEquipmentDropChance(slotID, 2.0f);
- return par1ItemStack.stackSize;
- }
- else
- {
-
- int l = j;
-
- if (j > stack.getMaxStackSize() - stack.stackSize)
- {
- l = stack.getMaxStackSize() - stack.stackSize;
- }
-
- if (l > 64 - stack.stackSize)
- {
- l = 64 - stack.stackSize;
- }
-
- if (l == 0)
- {
- return j;
- }
- else
- {
- j -= l;
- stack.stackSize++;
- living.setCurrentItemOrArmor(slotID, stack);
- if (living instanceof EntityLiving)
- ((EntityLiving) living).setEquipmentDropChance(slotID, 2.0f);
- return j;
- }
- }
- }
- }
- }
-
- private int storeItemStack (ItemStack par1ItemStack, EntityLivingBase living)
- {
- for (int slotID = 0; slotID < 5; ++slotID)
- {
- ItemStack stack = living.getCurrentItemOrArmor(slotID);
- if (stack != null && stack.itemID == par1ItemStack.itemID && stack.isStackable() && stack.stackSize < stack.getMaxStackSize() && stack.stackSize < 64
- && (!stack.getHasSubtypes() || stack.getItemDamage() == par1ItemStack.getItemDamage()) && ItemStack.areItemStackTagsEqual(stack, par1ItemStack))
- {
- return slotID;
- }
- }
-
- return -1;
- }
-
- public void setKnockbackModStrength (float par1)
- {
- this.knockbackStrengthMod = par1;
- }
-
- public void writeEntityToNBT (NBTTagCompound tags)
- {
- super.writeEntityToNBT(tags);
- tags.setCompoundTag("Throwable", this.returnStack.writeToNBT(new NBTTagCompound()));
- }
-
- public void readEntityFromNBT (NBTTagCompound tags)
- {
- super.readEntityFromNBT(tags);
- this.returnStack = ItemStack.loadItemStackFromNBT(tags.getCompoundTag("Throwable"));
- }
-
- @Override
- public void writeSpawnData (ByteArrayDataOutput data)
- {
- if (!returnStack.hasTagCompound())
- this.kill();
- NBTTagCompound tags = returnStack.getTagCompound().getCompoundTag("InfiTool");
- data.writeShort(returnStack.itemID);
- data.writeFloat(rotationYaw);
- data.writeFloat(mass);
- data.writeInt(tags.getInteger("RenderHandle"));
- data.writeInt(tags.getInteger("RenderHead"));
- data.writeInt(tags.getInteger("RenderAccessory"));
-
- int effects = 0;
- if (tags.hasKey("Effect1"))
- effects++;
- if (tags.hasKey("Effect2"))
- effects++;
- if (tags.hasKey("Effect3"))
- effects++;
- if (tags.hasKey("Effect4"))
- effects++;
- if (tags.hasKey("Effect5"))
- effects++;
- if (tags.hasKey("Effect6"))
- effects++;
- data.writeInt(effects);
-
- switch (effects)
- {
- case 6:
- data.writeInt(tags.getInteger("Effect6"));
- case 5:
- data.writeInt(tags.getInteger("Effect5"));
- case 4:
- data.writeInt(tags.getInteger("Effect4"));
- case 3:
- data.writeInt(tags.getInteger("Effect3"));
- case 2:
- data.writeInt(tags.getInteger("Effect2"));
- case 1:
- data.writeInt(tags.getInteger("Effect1"));
- }
- }
-
- @Override
- public void readSpawnData (ByteArrayDataInput data)
- {
- returnStack = new ItemStack(data.readShort(), 1, 0);
- rotationYaw = data.readFloat();
- mass = data.readFloat();
- NBTTagCompound compound = new NBTTagCompound();
- NBTTagCompound toolTag = new NBTTagCompound();
- toolTag.setInteger("RenderHandle", data.readInt());
- toolTag.setInteger("RenderHead", data.readInt());
- toolTag.setInteger("RenderAccessory", data.readInt());
- switch (data.readInt())
- {
- case 6:
- toolTag.setInteger("Effect6", data.readInt());
- case 5:
- toolTag.setInteger("Effect5", data.readInt());
- case 4:
- toolTag.setInteger("Effect4", data.readInt());
- case 3:
- toolTag.setInteger("Effect3", data.readInt());
- case 2:
- toolTag.setInteger("Effect2", data.readInt());
- case 1:
- toolTag.setInteger("Effect1", data.readInt());
- }
- compound.setCompoundTag("InfiTool", toolTag);
- returnStack.setTagCompound(compound);
- }
-
- public ItemStack getEntityItem ()
- {
- return returnStack;
- }
-}
diff --git a/src/main/java/tconstruct/entity/projectile/DaggerEntity.java b/src/main/java/tconstruct/entity/projectile/DaggerEntity.java
deleted file mode 100644
index c5b24e6f..00000000
--- a/src/main/java/tconstruct/entity/projectile/DaggerEntity.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package tconstruct.entity.projectile;
-
-import tconstruct.items.tools.Dagger;
-import tconstruct.library.tools.AbilityHelper;
-import tconstruct.library.tools.ToolCore;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.DamageSource;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.world.World;
-
-public class DaggerEntity extends RotatingBase
-{
-
- public DaggerEntity(World world)
- {
- super(world);
- }
-
- public DaggerEntity(ItemStack itemstack, World world, EntityPlayer entityplayer)
- {
- super(world, entityplayer, 0.75F, 0.8F);
- //TConstruct.logger.info("Stack: "+itemstack);
- returnStackSlot = entityplayer.inventory.currentItem;
- returnStack = itemstack;
- }
-
- public DaggerEntity(World world, EntityPlayer entityplayer, float f, float g)
- {
- super(world, entityplayer, f, g);
- }
-
- /*public void entityInit ()
- {
- super.entityInit();
- }*/
-
- @Override
- public void onHit (MovingObjectPosition movingobjectposition)
- {
- if (movingobjectposition.entityHit != null)
- {
- if (movingobjectposition.entityHit.attackEntityFrom(DamageSource.causeMobDamage(owner), damageDealt))
- {
- worldObj.playSoundAtEntity(this, "random.drr", 1.0F, 1.2F / (rand.nextFloat() * 0.2F + 0.9F));
- motionX *= -0.1D;
- motionY *= -0.1D;
- motionZ *= -0.1D;
- rotationYaw += 180F;
- prevRotationYaw += 180F;
- ticksInAir = 0;
- if (movingobjectposition.entityHit instanceof EntityLiving)
- {
- Dagger dagger = (Dagger) returnStack.getItem();
- this.hitEntity(returnStack, (EntityLiving) movingobjectposition.entityHit, owner, dagger);
- }
- }
- }
- else
- {
- onGround = true;
- xTile = movingobjectposition.blockX;
- yTile = movingobjectposition.blockY;
- zTile = movingobjectposition.blockZ;
- inTile = worldObj.getBlockId(xTile, yTile, zTile);
- motionX = (float) (movingobjectposition.hitVec.xCoord - posX);
- motionY = (float) (movingobjectposition.hitVec.yCoord - posY);
- motionZ = (float) (movingobjectposition.hitVec.zCoord - posZ);
- float f = MathHelper.sqrt_double(motionX * motionX + motionY * motionY + motionZ * motionZ);
- posX -= (motionX / (double) f) * 0.05D;
- posY -= (motionY / (double) f) * 0.05D;
- posZ -= (motionZ / (double) f) * 0.05D;
- worldObj.playSoundAtEntity(this, "random.drr", 1.0F, 1.2F / (rand.nextFloat() * 0.2F + 0.9F));
- arrowShake = 7;
- if (!worldObj.isRemote)
- AbilityHelper.damageTool(returnStack, 1, owner, false);
- }
- }
-
- public boolean hitEntity (ItemStack stack, EntityLiving mob, EntityPlayer player, ToolCore weapon)
- {
- if (!worldObj.isRemote && player.canAttackWithItem())
- {
- AbilityHelper.onLeftClickEntity(stack, player, mob, weapon);
- }
- return true;
- }
-
- protected void dealFireDamage (int i)
- {
- }
-}
diff --git a/src/main/java/tconstruct/entity/projectile/LaunchedPotion.java b/src/main/java/tconstruct/entity/projectile/LaunchedPotion.java
deleted file mode 100644
index fb0dea85..00000000
--- a/src/main/java/tconstruct/entity/projectile/LaunchedPotion.java
+++ /dev/null
@@ -1,192 +0,0 @@
-package tconstruct.entity.projectile;
-
-import java.util.Iterator;
-import java.util.List;
-
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.projectile.EntityThrowable;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class LaunchedPotion extends EntityThrowable
-{
- /**
- * The damage value of the thrown potion that this EntityPotion represents.
- */
- private ItemStack potionDamage;
-
- public LaunchedPotion(World par1World)
- {
- super(par1World);
- }
-
- public LaunchedPotion(World par1World, EntityLivingBase par2EntityLiving, int par3)
- {
- this(par1World, par2EntityLiving, new ItemStack(Item.potion, 1, par3));
- }
-
- public LaunchedPotion(World par1World, EntityLivingBase par2EntityLiving, ItemStack par3ItemStack)
- {
- super(par1World, par2EntityLiving);
- this.potionDamage = par3ItemStack;
- }
-
- @SideOnly(Side.CLIENT)
- public LaunchedPotion(World par1World, double par2, double par4, double par6, int par8)
- {
- this(par1World, par2, par4, par6, new ItemStack(Item.potion, 1, par8));
- }
-
- public LaunchedPotion(World par1World, double par2, double par4, double par6, ItemStack par8ItemStack)
- {
- super(par1World, par2, par4, par6);
- this.potionDamage = par8ItemStack;
- }
-
- /**
- * Gets the amount of gravity to apply to the thrown entity with each tick.
- */
- protected float getGravityVelocity ()
- {
- return 0.05F;
- }
-
- protected float func_70182_d ()
- {
- return 1.0F;
- }
-
- protected float func_70183_g ()
- {
- return -10.0F;
- }
-
- public void setPotionDamage (int par1)
- {
- if (this.potionDamage == null)
- {
- this.potionDamage = new ItemStack(Item.potion, 1, 0);
- }
-
- this.potionDamage.setItemDamage(par1);
- }
-
- /**
- * Returns the damage value of the thrown potion that this EntityPotion represents.
- */
- public int getPotionDamage ()
- {
- if (this.potionDamage == null)
- {
- this.potionDamage = new ItemStack(Item.potion, 1, 0);
- }
-
- return this.potionDamage.getItemDamage();
- }
-
- /**
- * Called when this EntityThrowable hits a block or entity.
- */
- protected void onImpact (MovingObjectPosition par1MovingObjectPosition)
- {
- if (!this.worldObj.isRemote)
- {
- List list = Item.potion.getEffects(this.potionDamage);
-
- if (list != null && !list.isEmpty())
- {
- AxisAlignedBB axisalignedbb = this.boundingBox.expand(4.0D, 2.0D, 4.0D);
- List list1 = this.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb);
-
- if (list1 != null && !list1.isEmpty())
- {
- Iterator iterator = list1.iterator();
-
- while (iterator.hasNext())
- {
- EntityLivingBase entityliving = (EntityLivingBase) iterator.next();
- double d0 = this.getDistanceSqToEntity(entityliving);
-
- if (d0 < 16.0D)
- {
- double d1 = 1.0D - Math.sqrt(d0) / 4.0D;
-
- if (entityliving == par1MovingObjectPosition.entityHit)
- {
- d1 = 1.0D;
- }
-
- Iterator iterator1 = list.iterator();
-
- while (iterator1.hasNext())
- {
- PotionEffect potioneffect = (PotionEffect) iterator1.next();
- int i = potioneffect.getPotionID();
-
- if (Potion.potionTypes[i].isInstant())
- {
- Potion.potionTypes[i].affectEntity(this.getThrower(), entityliving, potioneffect.getAmplifier(), d1);
- }
- else
- {
- int j = (int) (d1 * (double) potioneffect.getDuration() + 0.5D);
-
- if (j > 20)
- {
- entityliving.addPotionEffect(new PotionEffect(i, j, potioneffect.getAmplifier()));
- }
- }
- }
- }
- }
- }
- }
-
- this.worldObj.playAuxSFX(2002, (int) Math.round(this.posX), (int) Math.round(this.posY), (int) Math.round(this.posZ), this.getPotionDamage());
- this.setDead();
- }
- }
-
- /**
- * (abstract) Protected helper method to read subclass entity data from NBT.
- */
- public void readEntityFromNBT (NBTTagCompound par1NBTTagCompound)
- {
- super.readEntityFromNBT(par1NBTTagCompound);
-
- if (par1NBTTagCompound.hasKey("Potion"))
- {
- this.potionDamage = ItemStack.loadItemStackFromNBT(par1NBTTagCompound.getCompoundTag("Potion"));
- }
- else
- {
- this.setPotionDamage(par1NBTTagCompound.getInteger("potionValue"));
- }
-
- if (this.potionDamage == null)
- {
- this.setDead();
- }
- }
-
- /**
- * (abstract) Protected helper method to write subclass entity data to NBT.
- */
- public void writeEntityToNBT (NBTTagCompound par1NBTTagCompound)
- {
- super.writeEntityToNBT(par1NBTTagCompound);
-
- if (this.potionDamage != null)
- {
- par1NBTTagCompound.setCompoundTag("Potion", this.potionDamage.writeToNBT(new NBTTagCompound()));
- }
- }
-}
diff --git a/src/main/java/tconstruct/entity/projectile/RotatingBase.java b/src/main/java/tconstruct/entity/projectile/RotatingBase.java
deleted file mode 100644
index af58b17f..00000000
--- a/src/main/java/tconstruct/entity/projectile/RotatingBase.java
+++ /dev/null
@@ -1,489 +0,0 @@
-package tconstruct.entity.projectile;
-
-import java.util.List;
-
-import tconstruct.library.tools.AbilityHelper;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.util.Vec3;
-import net.minecraft.world.World;
-
-import com.google.common.io.ByteArrayDataInput;
-import com.google.common.io.ByteArrayDataOutput;
-
-import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData;
-
-public class RotatingBase extends Entity implements IEntityAdditionalSpawnData
-{
-
- public RotatingBase(World world)
- {
- super(world);
- texID = 0;
- tex2ID = 16 * 3;
- returnStackSlot = -1;
- hasHitGround = false;
- hasHitMob = false;
- damageDealt = 4;
- maxGroundTicks = 2400;
- xTile = -1;
- yTile = -1;
- zTile = -1;
- inTile = 0;
- onGround = false;
- arrowShake = 0;
- ticksInAir = 0;
- setSize(0.5F, 0.5F);
- }
-
- public RotatingBase(World world, double d, double d1, double d2)
- {
- this(world);
- setPosition(d, d1, d2);
- yOffset = 0.0F;
- }
-
- public RotatingBase(World world, EntityPlayer entityliving, float f, float f1)
- {
- this(world);
- owner = entityliving;
- setLocationAndAngles(entityliving.posX, entityliving.posY + (double) entityliving.getEyeHeight(), entityliving.posZ, entityliving.rotationYaw, entityliving.rotationPitch);
- posX -= MathHelper.cos((rotationYaw / 180F) * 3.141593F) * 0.16F;
- posY -= 0.10000000149011612D;
- posZ -= MathHelper.sin((rotationYaw / 180F) * 3.141593F) * 0.16F;
- setPosition(posX, posY, posZ);
- yOffset = 0.0F;
- motionX = -MathHelper.sin((rotationYaw / 180F) * 3.141593F) * MathHelper.cos((rotationPitch / 180F) * 3.141593F);
- motionZ = MathHelper.cos((rotationYaw / 180F) * 3.141593F) * MathHelper.cos((rotationPitch / 180F) * 3.141593F);
- motionY = -MathHelper.sin((rotationPitch / 180F) * 3.141593F - 0.2f);
- setArrowHeading(motionX, motionY, motionZ, f, f1);
- }
-
- /*public void setOnGround(boolean flag)
- {
- onGround = flag;
- this.dataWatcher.updateObject(6, Byte.valueOf((byte) (flag == true ? 1 : 0)));
- }
-
- public boolean getOnGround()
- {
- return this.dataWatcher.getWatchableObjectByte(0) == 1 ? true : false;
- }*/
-
- @Override
- protected void entityInit ()
- {
- }
-
- public void damageItem (int i, boolean flag)
- {
- if (!flag)
- {
- return;
- }
- if (returnStack.stackSize < 1)
- {
- for (int j = 0; j < 8; j++)
- {
- worldObj.spawnParticle("snowballpoof", posX, posY, posZ, 0.0D, 0.0D, 0.0D);
- }
-
- //kill();
- }
- }
-
- /*
- public void returnToPlayer()
- {
- damageDagger(0, true);
- if(returnStack.stackSize < 1)
- {
- return;
- }
- if(returnStackSlot > 0)
- {
- mod_Infi2x2.forceAddToInv((EntityPlayer)returnsTo, returnStack, returnStackSlot, true);
- } else
- {
- mod_Infi2x2.addToInv((EntityPlayer)returnsTo, returnStack, true);
- }
- }
- */
-
- public void determineRotation ()
- {
- rotationPitch = -57.29578F * (float) Math.atan2(motionY, motionX);
- double d = Math.sqrt((double) (rotationYaw * rotationYaw) + motionY * motionY);
- prevRotationYaw = -57.29578F * (float) Math.atan2(motionZ, d);
- }
-
- public void onHit (MovingObjectPosition movingobjectposition)
- {
- }
-
- public void setArrowHeading (double d, double d1, double d2, float f, float f1)
- {
- float f2 = MathHelper.sqrt_double(d * d + d1 * d1 + d2 * d2);
- d /= f2;
- d1 /= f2;
- d2 /= f2;
- d += rand.nextGaussian() * 0.0074999998323619366D * (double) f1;
- d1 += rand.nextGaussian() * 0.0074999998323619366D * (double) f1;
- d2 += rand.nextGaussian() * 0.0074999998323619366D * (double) f1;
- d *= f;
- d1 *= f;
- d2 *= f;
- motionX = d;
- motionY = d1;
- motionZ = d2;
- float f3 = MathHelper.sqrt_double(d * d + d2 * d2);
- prevRotationYaw = rotationYaw = (float) ((Math.atan2(d, d2) * 180D) / 3.1415927410125732D);
- prevRotationPitch = rotationPitch = (float) ((Math.atan2(d1, f3) * 180D) / 3.1415927410125732D);
- ticksInGround = 0;
- }
-
- @Override
- public void setVelocity (double d, double d1, double d2)
- {
- motionX = d;
- motionY = d1;
- motionZ = d2;
- if (prevRotationPitch == 0.0F && prevRotationYaw == 0.0F)
- {
- float f = MathHelper.sqrt_double(d * d + d2 * d2);
- prevRotationYaw = rotationYaw = (float) ((Math.atan2(d, d2) * 180D) / 3.1415927410125732D);
- prevRotationPitch = rotationPitch = (float) ((Math.atan2(d1, f) * 180D) / 3.1415927410125732D);
- }
- }
-
- @Override
- public void onUpdate ()
- {
- super.onUpdate();
- if (prevRotationPitch == 0.0F && prevRotationYaw == 0.0F)
- {
- float f = MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ);
- prevRotationYaw = rotationYaw = (float) ((Math.atan2(motionX, motionZ) * 180D) / Math.PI);
- prevRotationPitch = rotationPitch = (float) ((Math.atan2(motionY, f) * 180D) / Math.PI);
- }
- if (arrowShake > 0)
- {
- arrowShake--;
- }
- if (onGround)
- {
- int i = worldObj.getBlockId(xTile, yTile, zTile);
- if (i != inTile)
- {
- onGround = false;
- motionX *= rand.nextFloat() * 0.2F;
- motionY *= rand.nextFloat() * 0.2F;
- motionZ *= rand.nextFloat() * 0.2F;
- ticksInGround = 0;
- ticksInAir = 0;
- }
- else
- {
- /*this.motionX = 0;
- this.motionY = 0;
- this.motionZ = 0;*/
- /*ticksInGround++;
- if (ticksInGround == 1200)
- {
- setDead();
- }
- if (ticksInGround == maxGroundTicks)
- {
- setDead();
- }*/
- if (!hasHitGround)
- {
- hasHitGround = true;
- damageItem(1, true);
- }
- return;
- }
- return;
- }
- else
- {
- ticksInAir++;
- }
- Vec3 vec3d = Vec3.createVectorHelper(posX, posY, posZ);
- Vec3 vec3d1 = Vec3.createVectorHelper(posX + motionX, posY + motionY, posZ + motionZ);
- MovingObjectPosition movingobjectposition = worldObj.clip(vec3d, vec3d1);
- vec3d = Vec3.createVectorHelper(posX, posY, posZ);
- vec3d1 = Vec3.createVectorHelper(posX + motionX, posY + motionY, posZ + motionZ);
- if (movingobjectposition != null)
- {
- vec3d1 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord);
- }
- Entity entity = null;
- List list = worldObj.getEntitiesWithinAABBExcludingEntity(this, boundingBox.addCoord(motionX, motionY, motionZ).expand(1.0D, 1.0D, 1.0D));
- double d = 0.0D;
- for (int j = 0; j < list.size(); j++)
- {
- Entity entity1 = (Entity) list.get(j);
- if (!entity1.canBeCollidedWith() || entity1 == owner && ticksInAir < 5)
- {
- continue;
- }
- float f3 = 0.3F;
- AxisAlignedBB axisalignedbb = entity1.boundingBox.expand(f3, f3, f3);
- MovingObjectPosition movingobjectposition2 = axisalignedbb.calculateIntercept(vec3d, vec3d1);
- if (movingobjectposition2 == null)
- {
- continue;
- }
- double d1 = vec3d.distanceTo(movingobjectposition2.hitVec);
- if (d1 < d || d == 0.0D)
- {
- entity = entity1;
- d = d1;
- }
- }
-
- if (entity != null)
- {
- MovingObjectPosition movingobjectposition1 = new MovingObjectPosition(entity);
- onHit(movingobjectposition1);
- }
- if (movingobjectposition != null)
- {
- onHit(movingobjectposition);
- }
- posX += motionX;
- posY += motionY;
- posZ += motionZ;
- float f1 = MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ);
- rotationYaw = (float) ((Math.atan2(motionX, motionZ) * 180D) / 3.1415927410125732D);
- for (rotationPitch = (float) ((Math.atan2(motionY, f1) * 180D) / 3.1415927410125732D); rotationPitch - prevRotationPitch < -180F; prevRotationPitch -= 360F)
- {
- }
- for (; rotationPitch - prevRotationPitch >= 180F; prevRotationPitch += 360F)
- {
- }
- for (; rotationYaw - prevRotationYaw < -180F; prevRotationYaw -= 360F)
- {
- }
- for (; rotationYaw - prevRotationYaw >= 180F; prevRotationYaw += 360F)
- {
- }
- rotationPitch = prevRotationPitch + (rotationPitch - prevRotationPitch) * 0.2F;
- rotationYaw = prevRotationYaw + (rotationYaw - prevRotationYaw) * 0.2F;
- float f2 = 0.99F;
- float f4 = 0.03F;
- if (isInWater())
- {
- for (int k = 0; k < 4; k++)
- {
- float f5 = 0.25F;
- worldObj.spawnParticle("bubble", posX - motionX * (double) f5, posY - motionY * (double) f5, posZ - motionZ * (double) f5, motionX, motionY, motionZ);
- }
-
- f2 = 0.8F;
- }
- motionX *= f2;
- motionY *= f2;
- motionZ *= f2;
- motionY -= f4;
- setPosition(posX, posY, posZ);
- if (!onGround)
- {
- prevBoomerangRotation = boomerangRotation;
- for (boomerangRotation += 36F; boomerangRotation > 360F; boomerangRotation -= 360F)
- {
- }
- }
- }
-
- /*public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound)
- {
- super.readEntityFromNBT(par1NBTTagCompound);
-
- if (par1NBTTagCompound.hasKey("Potion"))
- {
- this.potionDamage = ItemStack.loadItemStackFromNBT(par1NBTTagCompound.getCompoundTag("Potion"));
- }
- else
- {
- this.setPotionDamage(par1NBTTagCompound.getInteger("potionValue"));
- }
-
- if (this.potionDamage == null)
- {
- this.setDead();
- }
- }
-
- public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound)
- {
- super.writeEntityToNBT(par1NBTTagCompound);
-
- if (this.potionDamage != null)
- {
-
- }
- }*/
-
- public void writeEntityToNBT (NBTTagCompound tags)
- {
- tags.setCompoundTag("Throwable", this.returnStack.writeToNBT(new NBTTagCompound()));
- tags.setShort("xTile", (short) xTile);
- tags.setShort("yTile", (short) yTile);
- tags.setShort("zTile", (short) zTile);
- tags.setByte("inTile", (byte) inTile);
- tags.setByte("shake", (byte) arrowShake);
- tags.setByte("onGround", (byte) (onGround ? 1 : 0));
- tags.setBoolean("Retrieval", doNotRetrieve);
- }
-
- public void readEntityFromNBT (NBTTagCompound tags)
- {
- //super.readEntityFromNBT(tags);
-
- this.returnStack = ItemStack.loadItemStackFromNBT(tags.getCompoundTag("Throwable"));
- xTile = tags.getShort("xTile");
- yTile = tags.getShort("yTile");
- zTile = tags.getShort("zTile");
- inTile = tags.getByte("inTile") & 0xff;
- arrowShake = tags.getByte("shake") & 0xff;
- onGround = tags.getByte("onGround") == 1;
- doNotRetrieve = tags.getBoolean("Retrieval");
- }
-
- public void onCollideWithPlayer (EntityPlayer entityplayer)
- {
- onCollideWithPlayer(entityplayer, true);
- }
-
- public void onCollideWithPlayer (EntityPlayer entityplayer, boolean flag)
- {
- if (returnStack == null || returnStack.stackSize == 0 || worldObj.isRemote)
- {
- return;
- }
- if (!flag || onGround && arrowShake <= 0)
- {
- if (!flag || returnsTo != null && !returnsTo.isDead && returnsTo != entityplayer)
- {
- return;
- }
- if (!doNotRetrieve)
- AbilityHelper.addToInv(entityplayer, returnStack, true);
- worldObj.playSoundAtEntity(this, "random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F);
- entityplayer.onItemPickup(this, 1);
- kill();
- }
- }
-
- public float getShadowSize ()
- {
- return 0.0F;
- }
-
- public ItemStack getEntityItem ()
- {
- return returnStack;
- }
-
- public int age = 0;
- public int hoverStart = 0;
- public int texID;
- public int tex2ID;
- public ItemStack returnStack;
- public int returnStackSlot;
- public boolean hasHitGround;
- public boolean hasHitMob;
- public float prevBoomerangRotation;
- public float boomerangRotation;
- public Entity returnsTo;
- public int damageDealt;
- public int maxGroundTicks;
- protected int xTile;
- protected int yTile;
- protected int zTile;
- protected int inTile;
- public int arrowShake;
- public EntityPlayer owner;
- protected int ticksInGround;
- protected int ticksInAir;
- public boolean doNotRetrieve;
-
- @Override
- public void writeSpawnData (ByteArrayDataOutput data)
- {
- NBTTagCompound tags = returnStack.getTagCompound().getCompoundTag("InfiTool");
- data.writeShort(returnStack.itemID);
- data.writeFloat(rotationYaw);
- data.writeInt(tags.getInteger("RenderHandle"));
- data.writeInt(tags.getInteger("RenderHead"));
- data.writeInt(tags.getInteger("RenderAccessory"));
-
- int effects = 0;
- if (tags.hasKey("Effect1"))
- effects++;
- if (tags.hasKey("Effect2"))
- effects++;
- if (tags.hasKey("Effect3"))
- effects++;
- if (tags.hasKey("Effect4"))
- effects++;
- if (tags.hasKey("Effect5"))
- effects++;
- if (tags.hasKey("Effect6"))
- effects++;
- data.writeInt(effects);
-
- switch (effects)
- {
- case 6:
- data.writeInt(tags.getInteger("Effect6"));
- case 5:
- data.writeInt(tags.getInteger("Effect5"));
- case 4:
- data.writeInt(tags.getInteger("Effect4"));
- case 3:
- data.writeInt(tags.getInteger("Effect3"));
- case 2:
- data.writeInt(tags.getInteger("Effect2"));
- case 1:
- data.writeInt(tags.getInteger("Effect1"));
- }
- }
-
- @Override
- public void readSpawnData (ByteArrayDataInput data)
- {
- returnStack = new ItemStack(data.readShort(), 1, 0);
- rotationYaw = data.readFloat();
- NBTTagCompound compound = new NBTTagCompound();
- NBTTagCompound toolTag = new NBTTagCompound();
- toolTag.setInteger("RenderHandle", data.readInt());
- toolTag.setInteger("RenderHead", data.readInt());
- toolTag.setInteger("RenderAccessory", data.readInt());
- switch (data.readInt())
- {
- case 6:
- toolTag.setInteger("Effect6", data.readInt());
- case 5:
- toolTag.setInteger("Effect5", data.readInt());
- case 4:
- toolTag.setInteger("Effect4", data.readInt());
- case 3:
- toolTag.setInteger("Effect3", data.readInt());
- case 2:
- toolTag.setInteger("Effect2", data.readInt());
- case 1:
- toolTag.setInteger("Effect1", data.readInt());
- }
- compound.setCompoundTag("InfiTool", toolTag);
- returnStack.setTagCompound(compound);
- }
-}
diff --git a/src/main/java/tconstruct/inventory/ActiveContainer.java b/src/main/java/tconstruct/inventory/ActiveContainer.java
deleted file mode 100644
index a32e8b41..00000000
--- a/src/main/java/tconstruct/inventory/ActiveContainer.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package tconstruct.inventory;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.Container;
-
-public class ActiveContainer extends Container
-{
- public List activeInventorySlots = new ArrayList();
-
- @Override
- public boolean canInteractWith (EntityPlayer entityplayer)
- {
- return false;
- }
-
- protected ActiveSlot addDualSlotToContainer (ActiveSlot slot)
- {
- slot.activeSlotNumber = this.activeInventorySlots.size();
- this.activeInventorySlots.add(slot);
- this.addSlotToContainer(slot);
- return slot;
- }
-
-}
diff --git a/src/main/java/tconstruct/inventory/ActiveSlot.java b/src/main/java/tconstruct/inventory/ActiveSlot.java
deleted file mode 100644
index 2a67e3cb..00000000
--- a/src/main/java/tconstruct/inventory/ActiveSlot.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-
-public class ActiveSlot extends Slot
-{
- protected boolean active;
- public int activeSlotNumber;
-
- public ActiveSlot(IInventory iinventory, int par2, int par3, int par4, boolean flag)
- {
- super(iinventory, par2, par3, par4);
- active = flag;
- }
-
- public void setActive (boolean flag)
- {
- active = flag;
- }
-
- public boolean getActive ()
- {
- return active;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/AdaptiveSmelteryContainer.java b/src/main/java/tconstruct/inventory/AdaptiveSmelteryContainer.java
deleted file mode 100644
index 6426a551..00000000
--- a/src/main/java/tconstruct/inventory/AdaptiveSmelteryContainer.java
+++ /dev/null
@@ -1,266 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-import tconstruct.blocks.logic.AdaptiveSmelteryLogic;
-
-public class AdaptiveSmelteryContainer extends ActiveContainer
-{
- public AdaptiveSmelteryLogic logic;
- public InventoryPlayer playerInv;
- public int fuel = 0;
- int slotRow;
-
- public AdaptiveSmelteryContainer(InventoryPlayer inventoryplayer, AdaptiveSmelteryLogic smeltery)
- {
- logic = smeltery;
- playerInv = inventoryplayer;
- slotRow = 0;
-
- /* Smeltery inventory */
-
- int height = smeltery.getSizeInventory() / 3;
- for (int y = 0; y < height; y++)
- {
- for (int x = 0; x < 3; x++)
- {
- this.addDualSlotToContainer(new ActiveSlot(smeltery, x + y * 3, 2 + x * 22, 8 + y * 18, y < 8));
- }
- }
- int leftovers = smeltery.getSizeInventory() % 3;
- for (int x = 0; x < leftovers; x++)
- {
- this.addDualSlotToContainer(new ActiveSlot(smeltery, x + height * 3, 2 + x * 22, 8 + height * 18, height < 8));
- }
-
- /* Player inventory */
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 9; row++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, row + column * 9 + 9, 90 + row * 18, 84 + column * 18));
- }
- }
-
- for (int column = 0; column < 9; column++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, column, 90 + column * 18, 142));
- }
- }
-
- public int updateRows (int invRow)
- {
- if (invRow != slotRow)
- {
- slotRow = invRow;
- //TConstruct.logger.info(invRow);
- int basePos = invRow * 3;
- for (int iter = 0; iter < activeInventorySlots.size(); iter++)
- {
- ActiveSlot slot = (ActiveSlot) activeInventorySlots.get(iter);
- if (slot.activeSlotNumber >= basePos && slot.activeSlotNumber < basePos + 24)
- {
- slot.setActive(true);
- }
- else
- {
- slot.setActive(false);
- }
- int xPos = (iter - basePos) % 3;
- int yPos = (iter - basePos) / 3;
- slot.xDisplayPosition = 2 + 22 * xPos;
- slot.yDisplayPosition = 8 + 18 * yPos;
- }
- return slotRow;
- }
- return -1;
- }
-
- public int scrollTo (float scrollPos)
- {
- float total = (logic.getSizeInventory() - 24) / 3;
- int rowPos = (int) (total * scrollPos);
- return updateRows(rowPos);
- }
-
- public void updateProgressBar (int id, int value)
- {
-
- }
-
- @Override
- public boolean canInteractWith (EntityPlayer entityplayer)
- {
- return logic.isUseableByPlayer(entityplayer);
- }
-
- @Override
- public ItemStack transferStackInSlot (EntityPlayer player, int slotID)
- {
- ItemStack stack = null;
- Slot slot = (Slot) this.inventorySlots.get(slotID);
-
- if (slot != null && slot.getHasStack())
- {
- ItemStack slotStack = slot.getStack();
- stack = slotStack.copy();
-
- if (slotID < logic.getSizeInventory())
- {
- if (!this.mergeItemStack(slotStack, logic.getSizeInventory(), this.inventorySlots.size(), true))
- {
- return null;
- }
- }
- else if (!this.mergeItemStack(slotStack, 0, logic.getSizeInventory(), false))
- {
- return null;
- }
-
- if (slotStack.stackSize == 0)
- {
- slot.putStack((ItemStack) null);
- }
- else
- {
- slot.onSlotChanged();
- }
- }
-
- return stack;
- }
-
- @Override
- protected boolean mergeItemStack (ItemStack inputStack, int startSlot, int endSlot, boolean flag)
- {
- //TConstruct.logger.info("Merge");
- boolean merged = false;
- int slotPos = startSlot;
-
- if (flag)
- {
- slotPos = endSlot - 1;
- }
-
- Slot slot;
- ItemStack slotStack;
-
- /*if (inputStack.isStackable() && startSlot >= logic.getSizeInventory())
- {
- TConstruct.logger.info("Rawr!");
- while (inputStack.stackSize > 0 && (!flag && slotPos < endSlot || flag && slotPos >= startSlot))
- {
- slot = (Slot) this.inventorySlots.get(slotPos);
- slotStack = slot.getStack();
-
- if (slotStack != null && ItemStack.areItemStacksEqual(inputStack, slotStack) && !inputStack.getHasSubtypes())
- {
- int totalSize = slotStack.stackSize + inputStack.stackSize;
-
- if (totalSize <= inputStack.getMaxStackSize())
- {
- inputStack.stackSize = 0;
- slotStack.stackSize = totalSize;
- slot.onSlotChanged();
- merged = true;
- }
- else if (slotStack.stackSize < inputStack.getMaxStackSize())
- {
- inputStack.stackSize -= inputStack.getMaxStackSize() - slotStack.stackSize;
- slotStack.stackSize = inputStack.getMaxStackSize();
- slot.onSlotChanged();
- merged = true;
- }
- }
-
- if (flag)
- {
- --slotPos;
- }
- else
- {
- ++slotPos;
- }
- }
- }*/
-
- if (inputStack.isStackable() && startSlot >= logic.getSizeInventory())
- {
- while (inputStack.stackSize > 0 && (!flag && slotPos < endSlot || flag && slotPos >= startSlot))
- {
- slot = (Slot) this.inventorySlots.get(slotPos);
- slotStack = slot.getStack();
-
- if (slotStack != null && slotStack.itemID == inputStack.itemID && (!inputStack.getHasSubtypes() || inputStack.getItemDamage() == slotStack.getItemDamage())
- && ItemStack.areItemStackTagsEqual(inputStack, slotStack))
- {
- int l = slotStack.stackSize + inputStack.stackSize;
-
- if (l <= inputStack.getMaxStackSize())
- {
- inputStack.stackSize = 0;
- slotStack.stackSize = l;
- slot.onSlotChanged();
- merged = true;
- }
- else if (slotStack.stackSize < inputStack.getMaxStackSize())
- {
- inputStack.stackSize -= inputStack.getMaxStackSize() - slotStack.stackSize;
- slotStack.stackSize = inputStack.getMaxStackSize();
- slot.onSlotChanged();
- merged = true;
- }
- }
-
- if (flag)
- {
- --slotPos;
- }
- else
- {
- ++slotPos;
- }
- }
- }
-
- if (inputStack.stackSize > 0)
- {
- if (flag)
- {
- slotPos = endSlot - 1;
- }
- else
- {
- slotPos = startSlot;
- }
-
- while (!flag && slotPos < endSlot || flag && slotPos >= startSlot)
- {
- slot = (Slot) this.inventorySlots.get(slotPos);
- slotStack = slot.getStack();
-
- if (slotStack == null)
- {
- slot.putStack(inputStack.copy());
- slot.onSlotChanged();
- inputStack.stackSize -= 1;
- merged = true;
- break;
- }
-
- if (flag)
- {
- --slotPos;
- }
- else
- {
- ++slotPos;
- }
- }
- }
-
- return merged;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/ArmorExtendedContainer.java b/src/main/java/tconstruct/inventory/ArmorExtendedContainer.java
deleted file mode 100644
index 3b0c7d05..00000000
--- a/src/main/java/tconstruct/inventory/ArmorExtendedContainer.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package tconstruct.inventory;
-
-import tconstruct.util.player.ArmorExtended;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class ArmorExtendedContainer extends ActiveContainer
-{
- public InventoryPlayer invPlayer;
- public ArmorExtended armor;
-
- public ArmorExtendedContainer(InventoryPlayer inventoryplayer, ArmorExtended armor)
- {
- invPlayer = inventoryplayer;
- this.armor = armor;
-
- this.addSlotToContainer(new SlotUnused(armor, 0, 80, 17));
- this.addSlotToContainer(new SlotUnused(armor, 1, 80, 35));
- this.addSlotToContainer(new SlotKnapsack(armor, 2, 116, 17));
- this.addSlotToContainer(new SlotUnused(armor, 3, 116, 35));
- this.addSlotToContainer(new SlotUnused(armor, 4, 152, 17));
- this.addSlotToContainer(new SlotUnused(armor, 5, 152, 35));
- this.addSlotToContainer(new SlotCanister(armor, 6, 152, 53));
-
- /* Player inventory */
- for (int playerArmor = 0; playerArmor < 4; ++playerArmor)
- {
- this.addSlotToContainer(new SlotArmorCopy(this, inventoryplayer, inventoryplayer.getSizeInventory() - 1 - playerArmor, 98, 8 + playerArmor * 18, playerArmor));
- }
-
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 9; row++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, row + column * 9 + 9, 8 + row * 18, 84 + column * 18));
- }
- }
-
- for (int column = 0; column < 9; column++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, column, 8 + column * 18, 142));
- }
-
- }
-
- @Override
- public boolean canInteractWith (EntityPlayer var1)
- {
- return true;
- }
-
- @Override
- public ItemStack transferStackInSlot (EntityPlayer player, int slotID)
- {
- return null;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/ContainerLandmine.java b/src/main/java/tconstruct/inventory/ContainerLandmine.java
deleted file mode 100644
index 7cf0f8bb..00000000
--- a/src/main/java/tconstruct/inventory/ContainerLandmine.java
+++ /dev/null
@@ -1,511 +0,0 @@
-package tconstruct.inventory;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import tconstruct.blocks.logic.TileEntityLandmine;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.crafting.FurnaceRecipes;
-import net.minecraft.tileentity.TileEntityFurnace;
-
-/**
- *
- * @author fuj1n
- *
- */
-public class ContainerLandmine extends Container
-{
-
- public TileEntityLandmine te;
- public EntityPlayer entityPlayer;
- private int field_94536_g;
- private int field_94535_f = -1;
- private final Set field_94537_h = new HashSet();
-
- public ContainerLandmine(EntityPlayer player, TileEntityLandmine te)
- {
- this.te = te;
- this.entityPlayer = player;
- addInventorySlots(te);
- bindPlayerInventory(player.inventory);
- }
-
- public void addInventorySlots (TileEntityLandmine inv)
- {
- addSlotToContainer(new SlotBehavedOnly(inv, 0, 35, 53));
- addSlotToContainer(new SlotBehavedOnly(inv, 1, 80, 53));
- addSlotToContainer(new SlotBehavedOnly(inv, 2, 125, 53));
- addSlotToContainer(new SlotOpaqueBlocksOnly(inv, 3, 80, 21));
- }
-
- public void bindPlayerInventory (InventoryPlayer inventory)
- {
- for (int i = 0; i < 3; i++)
- {
- for (int j = 0; j < 9; j++)
- {
- addSlotToContainer(new Slot(inventory, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
- }
- }
-
- for (int i = 0; i < 9; i++)
- {
- addSlotToContainer(new Slot(inventory, i, 8 + i * 18, 142));
- }
- }
-
- @Override
- public boolean canInteractWith (EntityPlayer entityplayer)
- {
- return te.isUseableByPlayer(entityplayer);
- }
-
- @Override
- public ItemStack transferStackInSlot (EntityPlayer par1EntityPlayer, int par2)
- {
- // This code actually works perfectly, but does not respect the global
- // TileEntity stack limit, shift clicking ability disabled.
- /*
- * ItemStack itemstack = null; Slot slot = (Slot)
- * this.inventorySlots.get(par2);
- *
- * if (slot != null && slot.getHasStack()) { ItemStack itemstack1 =
- * slot.getStack(); itemstack = itemstack1.copy();
- *
- * if (par2 == 2) { if (!this.mergeItemStack(itemstack1, 3, 39, true)) {
- * return null; }
- *
- * slot.onSlotChange(itemstack1, itemstack); } else if (par2 != 1 &&
- * par2 != 0) { if (!this.mergeItemStack(itemstack1, 0, 1, false)) { if
- * (!this.mergeItemStack(itemstack1, 1, 2, false)) { if
- * (!this.mergeItemStack(itemstack1, 30, 39, false)) { return null; }
- * else if (par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1,
- * 3, 30, false)) { return null; } } } } else if
- * (!this.mergeItemStack(itemstack1, 3, 39, false)) { return null; }
- *
- * if (itemstack1.stackSize == 0) { slot.putStack((ItemStack) null); }
- * else { slot.onSlotChanged(); }
- *
- * if (itemstack1.stackSize == itemstack.stackSize) { return null; }
- *
- * slot.onPickupFromSlot(par1EntityPlayer, itemstack1); }
- *
- * return itemstack;
- */
- return null;
- }
-
- /* Disabled for another(less buggy and sticky) system */
- @Override
- public ItemStack slotClick (int par1, int par2, int par3, EntityPlayer par4EntityPlayer)
- {
- ItemStack itemstack = null;
- InventoryPlayer inventoryplayer = par4EntityPlayer.inventory;
- int l;
- ItemStack itemstack1;
-
- if (par3 == 5)
- {
- int i1 = this.field_94536_g;
- this.field_94536_g = func_94532_c(par2);
-
- if ((i1 != 1 || this.field_94536_g != 2) && i1 != this.field_94536_g)
- {
- this.func_94533_d();
- }
- else if (inventoryplayer.getItemStack() == null)
- {
- this.func_94533_d();
- }
- else if (this.field_94536_g == 0)
- {
- this.field_94535_f = func_94529_b(par2);
-
- if (func_94528_d(this.field_94535_f))
- {
- this.field_94536_g = 1;
- this.field_94537_h.clear();
- }
- else
- {
- this.func_94533_d();
- }
- }
- else if (this.field_94536_g == 1)
- {
- Slot slot = (Slot) this.inventorySlots.get(par1);
-
- if (slot != null && func_94527_a(slot, inventoryplayer.getItemStack(), true) && slot.isItemValid(inventoryplayer.getItemStack())
- && inventoryplayer.getItemStack().stackSize > this.field_94537_h.size() && this.canDragIntoSlot(slot))
- {
- this.field_94537_h.add(slot);
- }
- }
- else if (this.field_94536_g == 2)
- {
- if (!this.field_94537_h.isEmpty())
- {
- itemstack1 = inventoryplayer.getItemStack().copy();
- l = inventoryplayer.getItemStack().stackSize;
- Iterator iterator = this.field_94537_h.iterator();
-
- while (iterator.hasNext())
- {
- Slot slot1 = (Slot) iterator.next();
-
- if (slot1 != null && func_94527_a(slot1, inventoryplayer.getItemStack(), true) && slot1.isItemValid(inventoryplayer.getItemStack())
- && inventoryplayer.getItemStack().stackSize >= this.field_94537_h.size() && this.canDragIntoSlot(slot1))
- {
- ItemStack itemstack2 = itemstack1.copy();
- int j1 = slot1.getHasStack() ? slot1.getStack().stackSize : 0;
- func_94525_a(this.field_94537_h, this.field_94535_f, itemstack2, j1);
-
- if (itemstack2.stackSize > itemstack2.getMaxStackSize())
- {
- itemstack2.stackSize = itemstack2.getMaxStackSize();
- }
-
- if (itemstack2.stackSize > slot1.getSlotStackLimit())
- {
- itemstack2.stackSize = slot1.getSlotStackLimit();
- }
-
- l -= itemstack2.stackSize - j1;
- slot1.putStack(itemstack2);
- }
- }
-
- itemstack1.stackSize = l;
-
- if (itemstack1.stackSize <= 0)
- {
- itemstack1 = null;
- }
-
- inventoryplayer.setItemStack(itemstack1);
- }
-
- this.func_94533_d();
- }
- else
- {
- this.func_94533_d();
- }
- }
- else if (this.field_94536_g != 0)
- {
- this.func_94533_d();
- }
- else
- {
- Slot slot2;
- int k1;
- ItemStack itemstack3;
-
- if ((par3 == 0 || par3 == 1) && (par2 == 0 || par2 == 1))
- {
- if (par1 == -999)
- {
- if (inventoryplayer.getItemStack() != null && par1 == -999)
- {
- if (par2 == 0)
- {
- par4EntityPlayer.dropPlayerItem(inventoryplayer.getItemStack());
- inventoryplayer.setItemStack((ItemStack) null);
- }
-
- if (par2 == 1)
- {
- par4EntityPlayer.dropPlayerItem(inventoryplayer.getItemStack().splitStack(1));
-
- if (inventoryplayer.getItemStack().stackSize == 0)
- {
- inventoryplayer.setItemStack((ItemStack) null);
- }
- }
- }
- }
- else if (par3 == 1)
- {
- if (par1 < 0)
- {
- return null;
- }
-
- slot2 = (Slot) this.inventorySlots.get(par1);
-
- if (slot2 != null && slot2.canTakeStack(par4EntityPlayer))
- {
- itemstack1 = this.transferStackInSlot(par4EntityPlayer, par1);
-
- if (itemstack1 != null)
- {
- l = itemstack1.itemID;
- itemstack = itemstack1.copy();
-
- if (slot2 != null && slot2.getStack() != null && slot2.getStack().itemID == l)
- {
- this.retrySlotClick(par1, par2, true, par4EntityPlayer);
- }
- }
- }
- }
- else
- {
- if (par1 < 0)
- {
- return null;
- }
-
- slot2 = (Slot) this.inventorySlots.get(par1);
-
- boolean shouldDoStuff = true;
-
- if ((!(slot2 instanceof SlotBehavedOnly)))
- {
- shouldDoStuff = false;
- }
-
- if (slot2 != null)
- {
- itemstack1 = slot2.getStack();
- ItemStack itemstack4 = inventoryplayer.getItemStack();
-
- if (itemstack1 != null)
- {
- itemstack = itemstack1.copy();
- }
-
- if (itemstack1 == null)
- {
- if (itemstack4 != null && slot2.isItemValid(itemstack4))
- {
- k1 = par2 == 0 ? itemstack4.stackSize : 1;
-
- if (k1 > slot2.getSlotStackLimit())
- {
- k1 = slot2.getSlotStackLimit();
- }
-
- if (itemstack4.stackSize >= k1)
- {
- slot2.putStack(itemstack4.splitStack(k1));
- }
-
- if (itemstack4.stackSize == 0)
- {
- inventoryplayer.setItemStack((ItemStack) null);
- }
- }
- else if (shouldDoStuff && slot2 instanceof SlotBehavedOnly && itemstack4 != null && slot2.isItemValid(new ItemStack(itemstack4.itemID, 1, itemstack4.getItemDamage())))
- {
- k1 = par2 == 0 ? 1 : 1;
-
- if (k1 > slot2.getSlotStackLimit())
- {
- k1 = slot2.getSlotStackLimit();
- }
-
- if (itemstack4.stackSize >= k1)
- {
- slot2.putStack(itemstack4.splitStack(k1));
- }
-
- if (itemstack4.stackSize == 0)
- {
- inventoryplayer.setItemStack((ItemStack) null);
- }
- }
- }
- else if (slot2.canTakeStack(par4EntityPlayer))
- {
- if (itemstack4 == null)
- {
- k1 = par2 == 0 ? itemstack1.stackSize : (itemstack1.stackSize + 1) / 2;
- itemstack3 = slot2.decrStackSize(k1);
- inventoryplayer.setItemStack(itemstack3);
-
- if (itemstack1.stackSize == 0)
- {
- slot2.putStack((ItemStack) null);
- }
-
- slot2.onPickupFromSlot(par4EntityPlayer, inventoryplayer.getItemStack());
- }
- else if (slot2.isItemValid(itemstack4))
- {
- if (itemstack1.itemID == itemstack4.itemID && itemstack1.getItemDamage() == itemstack4.getItemDamage() && ItemStack.areItemStackTagsEqual(itemstack1, itemstack4))
- {
- k1 = par2 == 0 ? itemstack4.stackSize : 1;
-
- if (k1 > slot2.getSlotStackLimit() - itemstack1.stackSize)
- {
- k1 = slot2.getSlotStackLimit() - itemstack1.stackSize;
- }
-
- if (k1 > itemstack4.getMaxStackSize() - itemstack1.stackSize)
- {
- k1 = itemstack4.getMaxStackSize() - itemstack1.stackSize;
- }
-
- itemstack4.splitStack(k1);
-
- if (itemstack4.stackSize == 0)
- {
- inventoryplayer.setItemStack((ItemStack) null);
- }
-
- itemstack1.stackSize += k1;
- }
- else if (itemstack4.stackSize <= slot2.getSlotStackLimit())
- {
- slot2.putStack(itemstack4);
- inventoryplayer.setItemStack(itemstack1);
- }
- }
- else if (itemstack1.itemID == itemstack4.itemID && itemstack4.getMaxStackSize() > 1
- && (!itemstack1.getHasSubtypes() || itemstack1.getItemDamage() == itemstack4.getItemDamage()) && ItemStack.areItemStackTagsEqual(itemstack1, itemstack4))
- {
- k1 = itemstack1.stackSize;
-
- if (k1 > 0 && k1 + itemstack4.stackSize <= itemstack4.getMaxStackSize())
- {
- itemstack4.stackSize += k1;
- itemstack1 = slot2.decrStackSize(k1);
-
- if (itemstack1.stackSize == 0)
- {
- slot2.putStack((ItemStack) null);
- }
-
- slot2.onPickupFromSlot(par4EntityPlayer, inventoryplayer.getItemStack());
- }
- }
- }
-
- slot2.onSlotChanged();
- }
- }
- }
- else if (par3 == 2 && par2 >= 0 && par2 < 9)
- {
- slot2 = (Slot) this.inventorySlots.get(par1);
-
- if (slot2.canTakeStack(par4EntityPlayer))
- {
- itemstack1 = inventoryplayer.getStackInSlot(par2);
- boolean flag = itemstack1 == null || slot2.inventory == inventoryplayer && slot2.isItemValid(itemstack1);
- k1 = -1;
-
- if (!flag)
- {
- k1 = inventoryplayer.getFirstEmptyStack();
- flag |= k1 > -1;
- }
-
- if (slot2.getHasStack() && flag)
- {
- itemstack3 = slot2.getStack();
- inventoryplayer.setInventorySlotContents(par2, itemstack3.copy());
-
- if ((slot2.inventory != inventoryplayer || !slot2.isItemValid(itemstack1)) && itemstack1 != null)
- {
- if (k1 > -1)
- {
- inventoryplayer.addItemStackToInventory(itemstack1);
- slot2.decrStackSize(itemstack3.stackSize);
- slot2.putStack((ItemStack) null);
- slot2.onPickupFromSlot(par4EntityPlayer, itemstack3);
- }
- }
- else
- {
- slot2.decrStackSize(itemstack3.stackSize);
- slot2.putStack(itemstack1);
- slot2.onPickupFromSlot(par4EntityPlayer, itemstack3);
- }
- }
- else if (!slot2.getHasStack() && itemstack1 != null && slot2.isItemValid(itemstack1))
- {
- inventoryplayer.setInventorySlotContents(par2, (ItemStack) null);
- slot2.putStack(itemstack1);
- }
- }
- }
- else if (par3 == 3 && par4EntityPlayer.capabilities.isCreativeMode && inventoryplayer.getItemStack() == null && par1 >= 0)
- {
- slot2 = (Slot) this.inventorySlots.get(par1);
-
- if (slot2 != null && slot2.getHasStack())
- {
- itemstack1 = slot2.getStack().copy();
- itemstack1.stackSize = itemstack1.getMaxStackSize();
- inventoryplayer.setItemStack(itemstack1);
- }
- }
- else if (par3 == 4 && inventoryplayer.getItemStack() == null && par1 >= 0)
- {
- slot2 = (Slot) this.inventorySlots.get(par1);
-
- if (slot2 != null && slot2.getHasStack() && slot2.canTakeStack(par4EntityPlayer))
- {
- itemstack1 = slot2.decrStackSize(par2 == 0 ? 1 : slot2.getStack().stackSize);
- slot2.onPickupFromSlot(par4EntityPlayer, itemstack1);
- par4EntityPlayer.dropPlayerItem(itemstack1);
- }
- }
- else if (par3 == 6 && par1 >= 0)
- {
- slot2 = (Slot) this.inventorySlots.get(par1);
- itemstack1 = inventoryplayer.getItemStack();
-
- if (itemstack1 != null && (slot2 == null || !slot2.getHasStack() || !slot2.canTakeStack(par4EntityPlayer)))
- {
- l = par2 == 0 ? 0 : this.inventorySlots.size() - 1;
- k1 = par2 == 0 ? 1 : -1;
-
- for (int l1 = 0; l1 < 2; ++l1)
- {
- for (int i2 = l; i2 >= 0 && i2 < this.inventorySlots.size() && itemstack1.stackSize < itemstack1.getMaxStackSize(); i2 += k1)
- {
- Slot slot3 = (Slot) this.inventorySlots.get(i2);
-
- if (slot3.getHasStack() && func_94527_a(slot3, itemstack1, true) && slot3.canTakeStack(par4EntityPlayer) && this.func_94530_a(itemstack1, slot3)
- && (l1 != 0 || slot3.getStack().stackSize != slot3.getStack().getMaxStackSize()))
- {
- int j2 = Math.min(itemstack1.getMaxStackSize() - itemstack1.stackSize, slot3.getStack().stackSize);
- ItemStack itemstack5 = slot3.decrStackSize(j2);
- itemstack1.stackSize += j2;
-
- if (itemstack5.stackSize <= 0)
- {
- slot3.putStack((ItemStack) null);
- }
-
- slot3.onPickupFromSlot(par4EntityPlayer, itemstack5);
- }
- }
- }
- }
-
- this.detectAndSendChanges();
- }
- }
-
- return itemstack;
- }
-
- @Override
- public boolean canDragIntoSlot (Slot par1Slot)
- {
- return false;
- }
-
-}
diff --git a/src/main/java/tconstruct/inventory/CraftingStationContainer.java b/src/main/java/tconstruct/inventory/CraftingStationContainer.java
deleted file mode 100644
index c73ad420..00000000
--- a/src/main/java/tconstruct/inventory/CraftingStationContainer.java
+++ /dev/null
@@ -1,219 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.InventoryCrafting;
-import net.minecraft.inventory.Slot;
-import net.minecraft.inventory.SlotCrafting;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.crafting.CraftingManager;
-import net.minecraft.world.World;
-import tconstruct.blocks.logic.CraftingStationLogic;
-import tconstruct.library.armor.ArmorCore;
-import tconstruct.library.crafting.ToolBuilder;
-import tconstruct.library.tools.ToolCore;
-
-public class CraftingStationContainer extends Container
-{
- /** The crafting matrix inventory (3x3). */
- public InventoryCrafting craftMatrix;// = new InventoryCrafting(this, 3, 3);
- public IInventory craftResult;// = new InventoryCraftResult();
- private CraftingStationLogic logic;
- private World worldObj;
- private int posX;
- private int posY;
- private int posZ;
-
- public CraftingStationContainer(InventoryPlayer inventorplayer, CraftingStationLogic logic, int x, int y, int z)
- {
- this.worldObj = logic.worldObj;
- this.posX = x;
- this.posY = y;
- this.posZ = z;
- this.logic = logic;
- craftMatrix = new InventoryCraftingStation(this, 3, 3, logic);
- craftResult = new InventoryCraftingStationResult(logic);
-
- this.addSlotToContainer(new SlotCrafting(inventorplayer.player, this.craftMatrix, this.craftResult, 0, 124, 35));
-
- int row;
- int column;
-
- for (row = 0; row < 3; ++row)
- {
- for (column = 0; column < 3; ++column)
- {
- this.addSlotToContainer(new Slot(this.craftMatrix, column + row * 3, 30 + column * 18, 17 + row * 18));
- }
- }
-
- //Player Inventory
- for (row = 0; row < 3; ++row)
- {
- for (column = 0; column < 9; ++column)
- {
- this.addSlotToContainer(new Slot(inventorplayer, column + row * 9 + 9, 8 + column * 18, 84 + row * 18));
- }
- }
-
- for (column = 0; column < 9; ++column)
- {
- this.addSlotToContainer(new Slot(inventorplayer, column, 8 + column * 18, 142));
- }
-
- //Side inventory
- if (logic.chest != null)
- {
- IInventory chest = logic.chest.get();
- IInventory doubleChest = logic.doubleChest == null ? null : logic.doubleChest.get();
- int count = 0;
- for (column = 0; column < 9; column++)
- {
- for (row = 0; row < 6; row++)
- {
- int value = count < 27 ? count : count - 27;
- this.addSlotToContainer(new Slot(count < 27 ? chest : doubleChest, value, -108 + row * 18, 19 + column * 18));
- count++;
- if (count >= 27 && doubleChest == null)
- break;
- }
- if (count >= 27 && doubleChest == null)
- break;
- }
- }
-
- this.onCraftMatrixChanged(this.craftMatrix);
- }
-
- public void onCraftMatrixChanged (IInventory par1IInventory)
- {
- ItemStack tool = modifyTool();
- if (tool != null)
- this.craftResult.setInventorySlotContents(0, tool);
- else
- this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.worldObj));
- }
-
- public ItemStack modifyTool ()
- {
- ItemStack input = craftMatrix.getStackInSlot(4);
- if (input != null)
- {
- Item item = input.getItem();
- if (item instanceof ToolCore)
- {
- ItemStack[] slots = new ItemStack[8];
- for (int i = 0; i < 4; i++)
- {
- slots[i] = craftMatrix.getStackInSlot(i);
- slots[i + 4] = craftMatrix.getStackInSlot(i + 5);
- }
- ItemStack output = ToolBuilder.instance.modifyTool(input, slots, "");
- if (output != null)
- return output;
- }
- else if (item instanceof ArmorCore)
- {
- ItemStack[] slots = new ItemStack[8];
- for (int i = 0; i < 4; i++)
- {
- slots[i] = craftMatrix.getStackInSlot(i);
- slots[i + 4] = craftMatrix.getStackInSlot(i + 5);
- }
- ItemStack output = ToolBuilder.instance.modifyArmor(input, slots, "");
- if (output != null)
- return output;
- }
- }
- return null;
- }
-
- public void onContainerClosed (EntityPlayer par1EntityPlayer)
- {
- super.onContainerClosed(par1EntityPlayer);
-
- if (!this.worldObj.isRemote)
- {
- for (int i = 0; i < 9; ++i)
- {
- ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i);
-
- if (itemstack != null)
- {
- par1EntityPlayer.dropPlayerItem(itemstack);
- }
- }
- }
- }
-
- public boolean canInteractWith (EntityPlayer par1EntityPlayer)
- {
- return par1EntityPlayer.getDistanceSq((double) this.posX + 0.5D, (double) this.posY + 0.5D, (double) this.posZ + 0.5D) <= 64.0D;
- }
-
- public ItemStack transferStackInSlot (EntityPlayer par1EntityPlayer, int par2)
- {
- ItemStack itemstack = null;
- Slot slot = (Slot) this.inventorySlots.get(par2);
-
- if (slot != null && slot.getHasStack())
- {
- ItemStack itemstack1 = slot.getStack();
- itemstack = itemstack1.copy();
-
- if (par2 == 0)
- {
- if (!this.mergeItemStack(itemstack1, 10, 46, true))
- {
- return null;
- }
-
- slot.onSlotChange(itemstack1, itemstack);
- }
- else if (par2 >= 10 && par2 < 37)
- {
- if (!this.mergeItemStack(itemstack1, 37, 46, false))
- {
- return null;
- }
- }
- else if (par2 >= 37 && par2 < 46)
- {
- if (!this.mergeItemStack(itemstack1, 10, 37, false))
- {
- return null;
- }
- }
- else if (!this.mergeItemStack(itemstack1, 10, 46, false))
- {
- return null;
- }
-
- if (itemstack1.stackSize == 0)
- {
- slot.putStack((ItemStack) null);
- }
- else
- {
- slot.onSlotChanged();
- }
-
- if (itemstack1.stackSize == itemstack.stackSize)
- {
- return null;
- }
-
- slot.onPickupFromSlot(par1EntityPlayer, itemstack1);
- }
-
- return itemstack;
- }
-
- public boolean func_94530_a (ItemStack par1ItemStack, Slot par2Slot)
- {
- return par2Slot.inventory != this.craftResult && super.func_94530_a(par1ItemStack, par2Slot);
- }
-}
diff --git a/src/main/java/tconstruct/inventory/FrypanContainer.java b/src/main/java/tconstruct/inventory/FrypanContainer.java
deleted file mode 100644
index 9d39308d..00000000
--- a/src/main/java/tconstruct/inventory/FrypanContainer.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraft.entity.player.*;
-import net.minecraft.inventory.*;
-import net.minecraft.item.ItemStack;
-import tconstruct.blocks.logic.FrypanLogic;
-
-public class FrypanContainer extends Container
-{
- public FrypanLogic logic;
- public int progress = 0;
- public int fuel = 0;
- public int fuelGague = 0;
-
- public FrypanContainer(EntityPlayer player, FrypanLogic frypan)
- {
- InventoryPlayer inventoryplayer = player.inventory;
- logic = frypan;
- this.addSlotToContainer(new Slot(frypan, 1, 26, 45));
- for (int y = 0; y < 2; y++)
- for (int x = 0; x < 4; x++)
- this.addSlotToContainer(new SlotFrypan(frypan, 2 + x + y * 4, 70 + x * 18, 27 + y * 18, player));
-
- /* Player inventory */
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 9; row++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, row + column * 9 + 9, 8 + row * 18, 84 + column * 18));
- }
- }
-
- for (int column = 0; column < 9; column++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, column, 8 + column * 18, 142));
- }
- }
-
- @Override
- public void detectAndSendChanges ()
- {
- super.detectAndSendChanges();
- for (int i = 0; i < crafters.size(); i++)
- {
- ICrafting icrafting = (ICrafting) crafters.get(i);
- if (progress != logic.progress)
- {
- icrafting.sendProgressBarUpdate(this, 0, logic.progress);
- }
- if (fuel != logic.fuel)
- {
- icrafting.sendProgressBarUpdate(this, 1, logic.fuel);
- }
- if (fuelGague != logic.fuelGague)
- {
- icrafting.sendProgressBarUpdate(this, 2, logic.fuelGague);
- }
- }
-
- progress = logic.progress;
- fuel = logic.fuel;
- fuelGague = logic.fuelGague;
- }
-
- public void updateProgressBar (int i, int j)
- {
- if (i == 0)
- {
- logic.progress = j;
- }
- if (i == 1)
- {
- logic.fuel = j;
- }
- if (i == 2)
- {
- logic.fuelGague = j;
- }
- }
-
- @Override
- public boolean canInteractWith (EntityPlayer entityplayer)
- {
- return logic.isUseableByPlayer(entityplayer);
- }
-
- public ItemStack transferStackInSlot (EntityPlayer player, int slotID)
- {
- ItemStack stack = null;
- Slot slot = (Slot) this.inventorySlots.get(slotID);
-
- if (slot != null && slot.getHasStack())
- {
- ItemStack slotStack = slot.getStack();
- stack = slotStack.copy();
-
- if (slotID < logic.getSizeInventory())
- {
- if (!this.mergeItemStack(slotStack, logic.getSizeInventory(), this.inventorySlots.size(), true))
- {
- return null;
- }
- }
- else if (!this.mergeItemStack(slotStack, 0, logic.getSizeInventory(), false))
- {
- return null;
- }
-
- if (slotStack.stackSize == 0)
- {
- slot.putStack((ItemStack) null);
- }
- else
- {
- slot.onSlotChanged();
- }
- }
-
- return stack;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/FurnaceContainer.java b/src/main/java/tconstruct/inventory/FurnaceContainer.java
deleted file mode 100644
index 9099ae75..00000000
--- a/src/main/java/tconstruct/inventory/FurnaceContainer.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.inventory.Slot;
-import net.minecraft.inventory.SlotFurnace;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.crafting.FurnaceRecipes;
-import net.minecraft.tileentity.TileEntityFurnace;
-import tconstruct.blocks.logic.FurnaceLogic;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class FurnaceContainer extends Container
-{
- private FurnaceLogic furnace;
- private int lastCookTime;
- private int lastBurnTime;
- private int lastItemBurnTime;
-
- public FurnaceContainer(InventoryPlayer par1InventoryPlayer, FurnaceLogic par2TileEntityFurnace)
- {
- this.furnace = par2TileEntityFurnace;
- this.addSlotToContainer(new Slot(par2TileEntityFurnace, 0, 56, 17));
- this.addSlotToContainer(new Slot(par2TileEntityFurnace, 1, 56, 53));
- this.addSlotToContainer(new SlotFurnace(par1InventoryPlayer.player, par2TileEntityFurnace, 2, 116, 35));
- int i;
-
- for (i = 0; i < 3; ++i)
- {
- for (int j = 0; j < 9; ++j)
- {
- this.addSlotToContainer(new Slot(par1InventoryPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
- }
- }
-
- for (i = 0; i < 9; ++i)
- {
- this.addSlotToContainer(new Slot(par1InventoryPlayer, i, 8 + i * 18, 142));
- }
- }
-
- public void addCraftingToCrafters (ICrafting par1ICrafting)
- {
- super.addCraftingToCrafters(par1ICrafting);
- par1ICrafting.sendProgressBarUpdate(this, 0, this.furnace.progress);
- par1ICrafting.sendProgressBarUpdate(this, 1, this.furnace.fuel);
- par1ICrafting.sendProgressBarUpdate(this, 2, this.furnace.fuelGague);
- }
-
- /**
- * Looks for changes made in the container, sends them to every listener.
- */
- public void detectAndSendChanges ()
- {
- super.detectAndSendChanges();
-
- for (int i = 0; i < this.crafters.size(); ++i)
- {
- ICrafting icrafting = (ICrafting) this.crafters.get(i);
-
- if (this.lastCookTime != this.furnace.progress)
- {
- icrafting.sendProgressBarUpdate(this, 0, this.furnace.progress);
- }
-
- if (this.lastBurnTime != this.furnace.fuel)
- {
- icrafting.sendProgressBarUpdate(this, 1, this.furnace.fuel);
- }
-
- if (this.lastItemBurnTime != this.furnace.fuelGague)
- {
- icrafting.sendProgressBarUpdate(this, 2, this.furnace.fuelGague);
- }
- }
-
- this.lastCookTime = this.furnace.progress;
- this.lastBurnTime = this.furnace.fuel;
- this.lastItemBurnTime = this.furnace.fuelGague;
- }
-
- @SideOnly(Side.CLIENT)
- public void updateProgressBar (int par1, int par2)
- {
- if (par1 == 0)
- {
- this.furnace.progress = par2;
- }
-
- if (par1 == 1)
- {
- this.furnace.fuel = par2;
- }
-
- if (par1 == 2)
- {
- this.furnace.fuelGague = par2;
- }
- }
-
- public boolean canInteractWith (EntityPlayer par1EntityPlayer)
- {
- return this.furnace.isUseableByPlayer(par1EntityPlayer);
- }
-
- /**
- * Called when a player shift-clicks on a slot. You must override this or you will crash when someone does that.
- */
- public ItemStack transferStackInSlot (EntityPlayer par1EntityPlayer, int par2)
- {
- ItemStack itemstack = null;
- Slot slot = (Slot) this.inventorySlots.get(par2);
-
- if (slot != null && slot.getHasStack())
- {
- ItemStack itemstack1 = slot.getStack();
- itemstack = itemstack1.copy();
-
- if (par2 == 2)
- {
- if (!this.mergeItemStack(itemstack1, 3, 39, true))
- {
- return null;
- }
-
- slot.onSlotChange(itemstack1, itemstack);
- }
- else if (par2 != 1 && par2 != 0)
- {
- if (FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null)
- {
- if (!this.mergeItemStack(itemstack1, 0, 1, false))
- {
- return null;
- }
- }
- else if (TileEntityFurnace.isItemFuel(itemstack1))
- {
- if (!this.mergeItemStack(itemstack1, 1, 2, false))
- {
- return null;
- }
- }
- else if (par2 >= 3 && par2 < 30)
- {
- if (!this.mergeItemStack(itemstack1, 30, 39, false))
- {
- return null;
- }
- }
- else if (par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1, 3, 30, false))
- {
- return null;
- }
- }
- else if (!this.mergeItemStack(itemstack1, 3, 39, false))
- {
- return null;
- }
-
- if (itemstack1.stackSize == 0)
- {
- slot.putStack((ItemStack) null);
- }
- else
- {
- slot.onSlotChanged();
- }
-
- if (itemstack1.stackSize == itemstack.stackSize)
- {
- return null;
- }
-
- slot.onPickupFromSlot(par1EntityPlayer, itemstack1);
- }
-
- return itemstack;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/InventoryCraftingStation.java b/src/main/java/tconstruct/inventory/InventoryCraftingStation.java
deleted file mode 100644
index ba6f8347..00000000
--- a/src/main/java/tconstruct/inventory/InventoryCraftingStation.java
+++ /dev/null
@@ -1,156 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.InventoryCrafting;
-import net.minecraft.item.ItemStack;
-import tconstruct.library.blocks.InventoryLogic;
-
-public class InventoryCraftingStation extends InventoryCrafting
-{
- /** the width of the crafting inventory */
- private int inventoryWidth;
-
- /**
- * Class containing the callbacks for the events on_GUIClosed and on_CraftMaxtrixChanged.
- */
- private Container eventHandler;
- private InventoryLogic logic;
-
- public InventoryCraftingStation(Container par1Container, int size, int height, InventoryLogic logic)
- {
- super(par1Container, size, height);
- this.eventHandler = par1Container;
- this.inventoryWidth = size;
- this.logic = logic;
- }
-
- /**
- * Returns the number of slots in the inventory.
- */
- public int getSizeInventory ()
- {
- return 9;
- }
-
- public ItemStack getStackInSlot (int slot)
- {
- return slot >= this.getSizeInventory() + 1 ? null : logic.getStackInSlot(slot + 1);
- }
-
- public ItemStack getStackInRowAndColumn (int row, int column)
- {
- if (row >= 0 && row < this.inventoryWidth)
- {
- int k = row + column * this.inventoryWidth;
- return this.getStackInSlot(k);
- }
- else
- {
- return null;
- }
- }
-
- public String getInvName ()
- {
- return "container.crafting";
- }
-
- public boolean isInvNameLocalized ()
- {
- return false;
- }
-
- public ItemStack getStackInSlotOnClosing (int par1)
- {
- return null;
- }
-
- /**
- * Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a
- * new stack.
- */
- @Override
- public ItemStack decrStackSize (int slotID, int par2)
- {
- ItemStack stack = logic.getStackInSlot(slotID + 1);
- if (stack != null)
- {
- ItemStack itemstack;
-
- if (stack.stackSize <= par2)
- {
- itemstack = stack.copy();
- stack = null;
- logic.setInventorySlotContents(slotID + 1, null);
- this.eventHandler.onCraftMatrixChanged(this);
- return itemstack;
- }
- else
- {
- itemstack = stack.splitStack(par2);
-
- if (stack.stackSize == 0)
- {
- stack = null;
- }
-
- this.eventHandler.onCraftMatrixChanged(this);
- return itemstack;
- }
- }
- else
- {
- return null;
- }
- }
-
- /**
- * Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
- */
- public void setInventorySlotContents (int slot, ItemStack itemstack)
- {
- logic.setInventorySlotContents(slot + 1, itemstack);
- this.eventHandler.onCraftMatrixChanged(this);
- }
-
- /**
- * Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't
- * this more of a set than a get?*
- */
- public int getInventoryStackLimit ()
- {
- return 64;
- }
-
- /**
- * Called when an the contents of an Inventory change, usually
- */
- public void onInventoryChanged ()
- {
- }
-
- /**
- * Do not make give this method the name canInteractWith because it clashes with Container
- */
- public boolean isUseableByPlayer (EntityPlayer par1EntityPlayer)
- {
- return true;
- }
-
- public void openChest ()
- {
- }
-
- public void closeChest ()
- {
- }
-
- /**
- * Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
- */
- public boolean isStackValidForSlot (int par1, ItemStack par2ItemStack)
- {
- return true;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/InventoryCraftingStationResult.java b/src/main/java/tconstruct/inventory/InventoryCraftingStationResult.java
deleted file mode 100644
index e6fa0412..00000000
--- a/src/main/java/tconstruct/inventory/InventoryCraftingStationResult.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.InventoryCraftResult;
-import net.minecraft.item.ItemStack;
-import tconstruct.blocks.logic.CraftingStationLogic;
-
-public class InventoryCraftingStationResult extends InventoryCraftResult
-{
- CraftingStationLogic logic;
-
- public InventoryCraftingStationResult(CraftingStationLogic logic)
- {
- this.logic = logic;
- }
-
- /**
- * Returns the number of slots in the inventory.
- */
- public int getSizeInventory ()
- {
- return 1;
- }
-
- /**
- * Returns the stack in slot i
- */
- public ItemStack getStackInSlot (int par1)
- {
- return logic.getStackInSlot(0);//this.stackResult[0];
- }
-
- /**
- * Returns the name of the inventory.
- */
- public String getInvName ()
- {
- return "Result";
- }
-
- /**
- * If this returns false, the inventory name will be used as an unlocalized name, and translated into the player's
- * language. Otherwise it will be used directly.
- */
- public boolean isInvNameLocalized ()
- {
- return false;
- }
-
- /**
- * Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a
- * new stack.
- */
- public ItemStack decrStackSize (int par1, int par2)
- {
- ItemStack stack = logic.getStackInSlot(0);
- if (stack != null)
- {
- ItemStack itemstack = stack;
- logic.setInventorySlotContents(0, null);
- return itemstack;
- }
- else
- {
- return null;
- }
- }
-
- /**
- * When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem -
- * like when you close a workbench GUI.
- */
- public ItemStack getStackInSlotOnClosing (int par1)
- {
- return null;
- }
-
- /**
- * Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
- */
- @Override
- public void setInventorySlotContents (int par1, ItemStack par2ItemStack)
- {
- logic.setInventorySlotContents(0, par2ItemStack);
- }
-
- /**
- * Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't
- * this more of a set than a get?*
- */
- public int getInventoryStackLimit ()
- {
- return 64;
- }
-
- /**
- * Called when an the contents of an Inventory change, usually
- */
- public void onInventoryChanged ()
- {
- }
-
- /**
- * Do not make give this method the name canInteractWith because it clashes with Container
- */
- public boolean isUseableByPlayer (EntityPlayer par1EntityPlayer)
- {
- return true;
- }
-
- public void openChest ()
- {
- }
-
- public void closeChest ()
- {
- }
-
- /**
- * Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
- */
- public boolean isStackValidForSlot (int par1, ItemStack par2ItemStack)
- {
- return true;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/KnapsackContainer.java b/src/main/java/tconstruct/inventory/KnapsackContainer.java
deleted file mode 100644
index 8990d9e2..00000000
--- a/src/main/java/tconstruct/inventory/KnapsackContainer.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package tconstruct.inventory;
-
-import tconstruct.util.player.KnapsackInventory;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class KnapsackContainer extends Container
-{
- public KnapsackInventory backpack;
- public int progress = 0;
- public int fuel = 0;
- public int fuelGague = 0;
-
- public KnapsackContainer(InventoryPlayer inventoryplayer, KnapsackInventory knapsack)
- {
- backpack = knapsack;
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 9; row++)
- {
- this.addSlotToContainer(new Slot(knapsack, row + column * 9, 8 + row * 18, 17 + column * 18));
- }
- }
-
- /* Player inventory */
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 9; row++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, row + column * 9 + 9, 8 + row * 18, 84 + column * 18));
- }
- }
-
- for (int column = 0; column < 9; column++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, column, 8 + column * 18, 142));
- }
- }
-
- @Override
- public boolean canInteractWith (EntityPlayer entityplayer)
- {
- return backpack.isUseableByPlayer(entityplayer);
- }
-
- @Override
- public ItemStack transferStackInSlot (EntityPlayer player, int slotID)
- {
- ItemStack stack = null;
- Slot slot = (Slot) this.inventorySlots.get(slotID);
-
- if (slot != null && slot.getHasStack())
- {
- ItemStack slotStack = slot.getStack();
- stack = slotStack.copy();
-
- if (slotID < backpack.getSizeInventory())
- {
- if (!this.mergeItemStack(slotStack, backpack.getSizeInventory(), this.inventorySlots.size(), true))
- {
- return null;
- }
- }
- else if (!this.mergeItemStack(slotStack, 0, backpack.getSizeInventory(), false))
- {
- return null;
- }
-
- if (slotStack.stackSize == 0)
- {
- slot.putStack((ItemStack) null);
- }
- else
- {
- slot.onSlotChanged();
- }
- }
-
- return stack;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/PartCrafterChestContainer.java b/src/main/java/tconstruct/inventory/PartCrafterChestContainer.java
deleted file mode 100644
index 343c2f0b..00000000
--- a/src/main/java/tconstruct/inventory/PartCrafterChestContainer.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package tconstruct.inventory;
-
-import tconstruct.blocks.logic.PartBuilderLogic;
-import tconstruct.blocks.logic.PatternChestLogic;
-import tconstruct.library.util.IPattern;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class PartCrafterChestContainer extends ActiveContainer
-{
- protected PatternChestLogic patternLogic;
- protected InventoryPlayer invPlayer;
- protected PartBuilderLogic logic;
- protected Slot[] input;
- protected Slot[] inventory;
- public boolean largeInventory;
-
- public PartCrafterChestContainer(InventoryPlayer inventoryplayer, PartBuilderLogic partLogic, PatternChestLogic pLogic)
- {
- logic = partLogic;
- patternLogic = pLogic;
- largeInventory = true;
-
- inventory = new Slot[] { new SlotPattern(partLogic, 0, 40, 27), new SlotPattern(partLogic, 1, 40, 45), new Slot(partLogic, 2, 58, 27), new Slot(partLogic, 3, 58, 45),
- new SlotOnlyTake(partLogic, 4, 102, 27), new SlotOnlyTake(partLogic, 5, 120, 27), new SlotOnlyTake(partLogic, 6, 102, 45), new SlotOnlyTake(partLogic, 7, 120, 45) };
- for (int iter = 0; iter < inventory.length; iter++)
- this.addSlotToContainer(inventory[iter]);
-
- /* Holder inventory */
- for (int column = 0; column < 5; column++)
- {
- for (int row = 0; row < 6; row++)
- {
- this.addSlotToContainer(new SlotPattern(pLogic, row + column * 6, -108 + row * 18, 30 + column * 18));
- }
- }
-
- /* Player inventory */
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 9; row++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, row + column * 9 + 9, 8 + row * 18, 84 + column * 18));
- }
- }
-
- for (int column = 0; column < 9; column++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, column, 8 + column * 18, 142));
- }
-
- }
-
- @Override
- public boolean canInteractWith (EntityPlayer var1)
- {
- return true;
- }
-
- @Override
- public ItemStack transferStackInSlot (EntityPlayer player, int slotID)
- {
- ItemStack stack = null;
- Slot slot = (Slot) this.inventorySlots.get(slotID);
-
- if (slot != null && slot.getHasStack())
- {
- ItemStack slotStack = slot.getStack();
- stack = slotStack.copy();
-
- if (slotID < logic.getSizeInventory())
- {
- if (!this.mergeItemStack(slotStack, logic.getSizeInventory() + patternLogic.getSizeInventory(), this.inventorySlots.size(), true))
- {
- return null;
- }
- }
- else
- {
- if (slotStack.getItem() instanceof IPattern)
- {
- if (!this.mergeItemStack(slotStack, 0, 2, false) && !this.mergeItemStack(slotStack, 8, 38, false))
- return null;
- }
- else if (!this.mergeItemStack(slotStack, 2, 4, false))
- return null;
- }
-
- if (slotStack.stackSize == 0)
- {
- slot.putStack((ItemStack) null);
- logic.tryBuildPart(slotID);
- }
- slot.onSlotChanged();
- }
-
- return stack;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/PartCrafterContainer.java b/src/main/java/tconstruct/inventory/PartCrafterContainer.java
deleted file mode 100644
index a985b7c4..00000000
--- a/src/main/java/tconstruct/inventory/PartCrafterContainer.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package tconstruct.inventory;
-
-import tconstruct.blocks.logic.PartBuilderLogic;
-import tconstruct.library.util.IPattern;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class PartCrafterContainer extends ActiveContainer
-{
- protected InventoryPlayer invPlayer;
- protected PartBuilderLogic logic;
- protected Slot[] input;
- protected Slot[] inventory;
- public boolean largeInventory;
-
- public PartCrafterContainer(InventoryPlayer inventoryplayer, PartBuilderLogic partLogic)
- {
- invPlayer = inventoryplayer;
- logic = partLogic;
- largeInventory = false;
-
- inventory = new Slot[] { new SlotPattern(partLogic, 0, 40, 27), new SlotPattern(partLogic, 1, 40, 45), new Slot(partLogic, 2, 58, 27), new Slot(partLogic, 3, 58, 45),
- new SlotOnlyTake(partLogic, 4, 102, 27), new SlotOnlyTake(partLogic, 5, 120, 27), new SlotOnlyTake(partLogic, 6, 102, 45), new SlotOnlyTake(partLogic, 7, 120, 45) };
- for (int iter = 0; iter < inventory.length; iter++)
- this.addSlotToContainer(inventory[iter]);
-
- /* Player inventory */
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 9; row++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, row + column * 9 + 9, 8 + row * 18, 84 + column * 18));
- }
- }
-
- for (int column = 0; column < 9; column++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, column, 8 + column * 18, 142));
- }
-
- }
-
- @Override
- public boolean canInteractWith (EntityPlayer var1)
- {
- return true;
- }
-
- @Override
- public ItemStack transferStackInSlot (EntityPlayer player, int slotID)
- {
- ItemStack stack = null;
- Slot slot = (Slot) this.inventorySlots.get(slotID);
-
- if (slot != null && slot.getHasStack())
- {
- ItemStack slotStack = slot.getStack();
- stack = slotStack.copy();
-
- if (slotID < logic.getSizeInventory())
- {
- if (!this.mergeItemStack(slotStack, logic.getSizeInventory(), this.inventorySlots.size(), true))
- {
- return null;
- }
- }
- else
- {
- if (slotStack.getItem() instanceof IPattern)
- {
- if (!this.mergeItemStack(slotStack, 0, 2, false))
- return null;
- }
- else if (!this.mergeItemStack(slotStack, 2, 4, false))
- return null;
- }
-
- if (slotStack.stackSize == 0)
- {
- slot.putStack((ItemStack) null);
- logic.tryBuildPart(slotID);
- }
- slot.onSlotChanged();
- }
- return stack;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/PatternChestContainer.java b/src/main/java/tconstruct/inventory/PatternChestContainer.java
deleted file mode 100644
index 9e1562e4..00000000
--- a/src/main/java/tconstruct/inventory/PatternChestContainer.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package tconstruct.inventory;
-
-import tconstruct.blocks.logic.PatternChestLogic;
-import tconstruct.library.util.IPattern;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class PatternChestContainer extends Container
-{
- public PatternChestLogic logic;
- public int progress = 0;
- public int fuel = 0;
- public int fuelGague = 0;
-
- public PatternChestContainer(InventoryPlayer inventoryplayer, PatternChestLogic chest)
- {
- logic = chest;
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 10; row++)
- {
- this.addSlotToContainer(new SlotPattern(chest, row + column * 10, 8 + row * 18, 18 + column * 18));
- }
- }
-
- /* Player inventory */
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 9; row++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, row + column * 9 + 9, 17 + row * 18, 86 + column * 18));
- }
- }
-
- for (int column = 0; column < 9; column++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, column, 17 + column * 18, 144));
- }
- }
-
- @Override
- public boolean canInteractWith (EntityPlayer entityplayer)
- {
- return logic.isUseableByPlayer(entityplayer);
- }
-
- @Override
- public ItemStack transferStackInSlot (EntityPlayer player, int slotID)
- {
- ItemStack stack = null;
- Slot slot = (Slot) this.inventorySlots.get(slotID);
-
- if (slot != null && slot.getHasStack())
- {
- ItemStack slotStack = slot.getStack();
- stack = slotStack.copy();
-
- if (slotID < logic.getSizeInventory())
- {
- if (!this.mergeItemStack(slotStack, logic.getSizeInventory(), this.inventorySlots.size(), true))
- {
- return null;
- }
- }
- else if (!this.mergeItemStack(slotStack, 0, logic.getSizeInventory(), false))
- {
- return null;
- }
-
- if (slotStack.stackSize == 0)
- {
- slot.putStack((ItemStack) null);
- }
- else
- {
- slot.onSlotChanged();
- }
- }
-
- return stack;
- }
-
- @Override
- protected boolean mergeItemStack (ItemStack stack, int inventorySize, int slotSize, boolean par4)
- {
- if (!(stack.getItem() instanceof IPattern))
- return false;
-
- return super.mergeItemStack(stack, inventorySize, slotSize, par4);
- }
-}
diff --git a/src/main/java/tconstruct/inventory/PatternShaperContainer.java b/src/main/java/tconstruct/inventory/PatternShaperContainer.java
deleted file mode 100644
index 0c358542..00000000
--- a/src/main/java/tconstruct/inventory/PatternShaperContainer.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package tconstruct.inventory;
-
-import tconstruct.blocks.logic.StencilTableLogic;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class PatternShaperContainer extends Container
-{
- public StencilTableLogic logic;
-
- public PatternShaperContainer(InventoryPlayer inventoryplayer, StencilTableLogic shaper)
- {
- logic = shaper;
- this.addSlotToContainer(new Slot(shaper, 0, 48, 35));
- this.addSlotToContainer(new SlotOnlyTake(shaper, 1, 106, 35));
- /*for (int i = 0; i < 3; i++)
- {
- for (int l = 0; l < 3; l++)
- {
- this.addSlotToContainer(new Slot(craftMatrix, l + i * 3, 30 + l * 18, 17 + i * 18));
- }
- }*/
-
- /* Player inventory */
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 9; row++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, row + column * 9 + 9, 8 + row * 18, 84 + column * 18));
- }
- }
-
- for (int column = 0; column < 9; column++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, column, 8 + column * 18, 142));
- }
- }
-
- /*public void onCraftMatrixChanged(IInventory iinventory)
- {
- craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(craftMatrix, worldObj));
- }*/
-
- /*@Override
- public void onContainerClosed(EntityPlayer entityplayer)
- {
- super.onContainerClosed(entityplayer);
- if (logic.worldObj.isRemote)
- {
- return;
- }
- ItemStack itemstack = logic.getStackInSlot(0);
- if (itemstack != null)
- {
- entityplayer.dropPlayerItem(itemstack);
- }
- }*/
-
- @Override
- public boolean canInteractWith (EntityPlayer entityplayer)
- {
- return true;
- }
-
- @Override
- public ItemStack transferStackInSlot (EntityPlayer player, int slotID)
- {
- return null;
- /*ItemStack stack = null;
- Slot slot = (Slot)this.inventorySlots.get(slotID);
-
- if (slot != null && slot.getHasStack())
- {
- ItemStack slotStack = slot.getStack();
- stack = slotStack.copy();
-
- if (slotID < logic.getSizeInventory())
- {
- if (!this.mergeItemStack(slotStack, logic.getSizeInventory(), this.inventorySlots.size(), true))
- {
- return null;
- }
- }
- else if (!this.mergeItemStack(slotStack, 0, logic.getSizeInventory()-1, false))
- {
- return null;
- }
-
- if (slotStack.stackSize == 0)
- {
- slot.putStack((ItemStack)null);
- }
- else
- {
- slot.onSlotChanged();
- }
- }
-
- return stack;*/
- }
-
-}
diff --git a/src/main/java/tconstruct/inventory/SlotArmorCopy.java b/src/main/java/tconstruct/inventory/SlotArmorCopy.java
deleted file mode 100644
index 5a21ca64..00000000
--- a/src/main/java/tconstruct/inventory/SlotArmorCopy.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemArmor;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SlotArmorCopy extends Slot
-{
- /**
- * The armor type that can be placed on that slot, it uses the same values of armorType field on ItemArmor.
- */
- final int armorType;
-
- /**
- * The parent class of this clot, ContainerPlayer, SlotArmor is a Anon inner class.
- */
- final Container parent;
-
- public SlotArmorCopy(Container container, IInventory par2IInventory, int par3, int par4, int par5, int par6)
- {
- super(par2IInventory, par3, par4, par5);
- this.parent = container;
- this.armorType = par6;
- }
-
- /**
- * Returns the maximum stack size for a given slot (usually the same as getInventoryStackLimit(), but 1 in the case
- * of armor slots)
- */
- public int getSlotStackLimit ()
- {
- return 1;
- }
-
- /**
- * Check if the stack is a valid item for this slot. Always true beside for the armor slots.
- */
- public boolean isItemValid (ItemStack par1ItemStack)
- {
- Item item = (par1ItemStack == null ? null : par1ItemStack.getItem());
- boolean isValidArmor = false;
- if (item instanceof ItemArmor) {
- isValidArmor = (((ItemArmor)item).armorType == armorType);
- }
- return item != null && (isValidArmor || (item instanceof ItemBlock && armorType == 0));
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * Returns the icon index on items.png that is used as background image of the slot.
- */
- public Icon getBackgroundIconIndex ()
- {
- return ItemArmor.func_94602_b(this.armorType);
- }
-}
diff --git a/src/main/java/tconstruct/inventory/SlotBehavedOnly.java b/src/main/java/tconstruct/inventory/SlotBehavedOnly.java
deleted file mode 100644
index 95463657..00000000
--- a/src/main/java/tconstruct/inventory/SlotBehavedOnly.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package tconstruct.inventory;
-
-import tconstruct.util.landmine.behavior.Behavior;
-import net.minecraft.block.Block;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class SlotBehavedOnly extends Slot
-{
-
- public SlotBehavedOnly(IInventory par1iInventory, int par2, int par3, int par4)
- {
- super(par1iInventory, par2, par3, par4);
- }
-
- @Override
- public boolean isItemValid (ItemStack par1ItemStack)
- {
- Behavior b = Behavior.getBehaviorFromStack(par1ItemStack);
-
- if (b == null)
- {
- return false;
- }
-
- int stackL = b.getStackLimit(par1ItemStack);
-
- if (b != null && this.inventory.getStackInSlot(this.slotNumber) != null && !this.inventory.getStackInSlot(this.slotNumber).isItemEqual(par1ItemStack))
- {
- ItemStack is = this.inventory.getStackInSlot(this.slotNumber);
- if (is.stackSize + par1ItemStack.stackSize <= stackL)
- {
- return true;
- }
- }
- else
- {
- return par1ItemStack.stackSize <= stackL;
- }
-
- return false;
- //return b != null;
- }
-
- public int getSlotStackLimit (ItemStack par1ItemStack)
- {
- return Behavior.getBehaviorFromStack(par1ItemStack) != null ? Behavior.getBehaviorFromStack(par1ItemStack).getStackLimit(par1ItemStack) : 1;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/SlotBlocksOnly.java b/src/main/java/tconstruct/inventory/SlotBlocksOnly.java
deleted file mode 100644
index 5ed9bef5..00000000
--- a/src/main/java/tconstruct/inventory/SlotBlocksOnly.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-
-/**
- *
- * @author fuj1n
- *
- */
-public class SlotBlocksOnly extends Slot
-{
-
- public SlotBlocksOnly(IInventory par1iInventory, int par2, int par3, int par4)
- {
- super(par1iInventory, par2, par3, par4);
- }
-
- public boolean isItemValid (ItemStack par1ItemStack)
- {
- return par1ItemStack.getItem() instanceof ItemBlock;
- }
-
- @Override
- public int getSlotStackLimit ()
- {
- return 1;
- }
-
-}
diff --git a/src/main/java/tconstruct/inventory/SlotCanister.java b/src/main/java/tconstruct/inventory/SlotCanister.java
deleted file mode 100644
index c1341c10..00000000
--- a/src/main/java/tconstruct/inventory/SlotCanister.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package tconstruct.inventory;
-
-import tconstruct.items.armor.HeartCanister;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.Item;
-
-public class SlotCanister extends Slot
-{
- public SlotCanister(IInventory par2IInventory, int par3, int par4, int par5)
- {
- super(par2IInventory, par3, par4, par5);
- //this.parent = container;
- }
-
- /**
- * Returns the maximum stack size for a given slot (usually the same as getInventoryStackLimit(), but 1 in the case
- * of armor slots)
- */
- public int getSlotStackLimit ()
- {
- return 10;
- }
-
- /**
- * Check if the stack is a valid item for this slot. Always true beside for the armor slots.
- */
- public boolean isItemValid (ItemStack par1ItemStack)
- {
- Item item = (par1ItemStack == null ? null : par1ItemStack.getItem());
- return item != null && (item instanceof HeartCanister);
- }
-}
diff --git a/src/main/java/tconstruct/inventory/SlotFrypan.java b/src/main/java/tconstruct/inventory/SlotFrypan.java
deleted file mode 100644
index d12113d9..00000000
--- a/src/main/java/tconstruct/inventory/SlotFrypan.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.*;
-import net.minecraft.item.*;
-import net.minecraft.nbt.NBTTagCompound;
-import tconstruct.achievements.TAchievements;
-
-public class SlotFrypan extends Slot{
-
- public EntityPlayer player;
-
- public SlotFrypan(IInventory par1IInventory, int par2, int par3, int par4, EntityPlayer player) {
- super(par1IInventory, par2, par3, par4);
- this.player = player;
- }
-
- @Override
- public void putStack(ItemStack par1ItemStack){
- super.putStack(par1ItemStack);
- if(par1ItemStack != null && par1ItemStack.getItem() != null && par1ItemStack.getItem() instanceof ItemFood && par1ItemStack.hasTagCompound()){
- NBTTagCompound stackTagCompound = par1ItemStack.getTagCompound();
- if(stackTagCompound == null || !stackTagCompound.getBoolean("frypanKill")){
- return;
- }
- player.addStat(TAchievements.achievements.get("tconstruct.dualConvenience"), 1);
- }
- }
-
-}
diff --git a/src/main/java/tconstruct/inventory/SlotKnapsack.java b/src/main/java/tconstruct/inventory/SlotKnapsack.java
deleted file mode 100644
index f69e3a0d..00000000
--- a/src/main/java/tconstruct/inventory/SlotKnapsack.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package tconstruct.inventory;
-
-import tconstruct.items.armor.Knapsack;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.Item;
-
-public class SlotKnapsack extends Slot
-{
- public SlotKnapsack(IInventory par2IInventory, int par3, int par4, int par5)
- {
- super(par2IInventory, par3, par4, par5);
- //this.parent = container;
- }
-
- /**
- * Returns the maximum stack size for a given slot (usually the same as getInventoryStackLimit(), but 1 in the case
- * of armor slots)
- */
- public int getSlotStackLimit ()
- {
- return 1;
- }
-
- /**
- * Check if the stack is a valid item for this slot. Always true beside for the armor slots.
- */
- public boolean isItemValid (ItemStack par1ItemStack)
- {
- Item item = (par1ItemStack == null ? null : par1ItemStack.getItem());
- return item != null && (item instanceof Knapsack);
- }
-}
diff --git a/src/main/java/tconstruct/inventory/SlotOnlyTake.java b/src/main/java/tconstruct/inventory/SlotOnlyTake.java
deleted file mode 100644
index 3744558b..00000000
--- a/src/main/java/tconstruct/inventory/SlotOnlyTake.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class SlotOnlyTake extends Slot
-{
-
- public SlotOnlyTake(IInventory builder, int par3, int par4, int par5)
- {
- super(builder, par3, par4, par5);
- }
-
- /**
- * Check if the stack is a valid item for this slot. Always true beside for the armor slots.
- */
- public boolean isItemValid (ItemStack stack)
- {
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/SlotOpaqueBlocksOnly.java b/src/main/java/tconstruct/inventory/SlotOpaqueBlocksOnly.java
deleted file mode 100644
index 85805a95..00000000
--- a/src/main/java/tconstruct/inventory/SlotOpaqueBlocksOnly.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraft.block.Block;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-
-/**
- *
- * @author fuj1n
- *
- */
-public class SlotOpaqueBlocksOnly extends SlotBlocksOnly
-{
-
- public SlotOpaqueBlocksOnly(IInventory par1iInventory, int par2, int par3, int par4)
- {
- super(par1iInventory, par2, par3, par4);
- }
-
- public boolean isItemValid (ItemStack par1ItemStack)
- {
- if (super.isItemValid(par1ItemStack))
- {
- Block b = Block.blocksList[par1ItemStack.itemID];
- return b.isOpaqueCube() && b.renderAsNormalBlock();
- }
-
- return false;
- }
-
- @Override
- public int getSlotStackLimit ()
- {
- return 1;
- }
-
-}
diff --git a/src/main/java/tconstruct/inventory/SlotPartBuilder.java b/src/main/java/tconstruct/inventory/SlotPartBuilder.java
deleted file mode 100644
index daaf8357..00000000
--- a/src/main/java/tconstruct/inventory/SlotPartBuilder.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class SlotPartBuilder extends Slot
-{
-
- public SlotPartBuilder(IInventory inv, int index, int posX, int posY)
- {
- super(inv, index, posX, posY);
- }
-
- protected void onCrafting (ItemStack par1ItemStack, int par2)
- {
-
- }
-}
diff --git a/src/main/java/tconstruct/inventory/SlotPattern.java b/src/main/java/tconstruct/inventory/SlotPattern.java
deleted file mode 100644
index cab1c6a2..00000000
--- a/src/main/java/tconstruct/inventory/SlotPattern.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package tconstruct.inventory;
-
-import tconstruct.library.util.IPattern;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class SlotPattern extends Slot
-{
- public SlotPattern(IInventory builder, int par3, int par4, int par5)
- {
- super(builder, par3, par4, par5);
- }
-
- /**
- * Check if the stack is a valid item for this slot. Always true beside for the armor slots.
- */
- public boolean isItemValid (ItemStack stack)
- {
- return stack.getItem() instanceof IPattern;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/SlotTool.java b/src/main/java/tconstruct/inventory/SlotTool.java
deleted file mode 100644
index e2b38e76..00000000
--- a/src/main/java/tconstruct/inventory/SlotTool.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package tconstruct.inventory;
-
-import java.util.Random;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.*;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraftforge.common.MinecraftForge;
-import tconstruct.library.event.ToolCraftedEvent;
-import tconstruct.library.tools.ToolCore;
-
-public class SlotTool extends Slot
-{
- /** The player that is using the GUI where this slot resides. */
- public EntityPlayer player;
- Random random = new Random();
-
- public SlotTool(EntityPlayer entityplayer, IInventory builder, int par3, int par4, int par5)
- {
- super(builder, par3, par4, par5);
- this.player = entityplayer;
- }
-
- /**
- * Check if the stack is a valid item for this slot. Always true beside for the armor slots.
- */
- public boolean isItemValid (ItemStack stack)
- {
- return false;
- //return stack.getItem() instanceof ToolCore;
- }
-
- public void onPickupFromSlot (EntityPlayer par1EntityPlayer, ItemStack stack)
- {
- this.onCrafting(stack);
- //stack.setUnlocalizedName("\u00A7f" + toolName);
- super.onPickupFromSlot(par1EntityPlayer, stack);
- }
-
- /**
- * the itemStack passed in is the output - ie, iron ingots, and pickaxes, not ore and wood. Typically increases an
- * internal count then calls onCrafting(item).
- */
- protected void onCrafting (ItemStack stack, int par2)
- {
- //this.field_75228_b += par2;
- this.onCrafting(stack);
- }
-
- /**
- * the itemStack passed in is the output - ie, iron ingots, and pickaxes, not ore and wood.
- */
- protected void onCrafting (ItemStack stack)
- {
- NBTTagCompound tags = stack.getTagCompound();
- if (!tags.getCompoundTag("InfiTool").hasKey("Built"))
- {
- tags.getCompoundTag("InfiTool").setBoolean("Built", true);
- Boolean full = (inventory.getStackInSlot(2) != null || inventory.getStackInSlot(3) != null);
- for (int i = 2; i <= 3; i++)
- inventory.decrStackSize(i, 1);
- int amount = inventory.getStackInSlot(1).getItem() instanceof ToolCore ? stack.stackSize : 1;
- inventory.decrStackSize(1, amount);
- if (!player.worldObj.isRemote && full)
- player.worldObj.playSoundEffect(player.posX, player.posY, player.posZ, "tinker:little_saw", 1.0F, (random.nextFloat() - random.nextFloat()) * 0.2F + 1.0F);
- //player.worldObj.playAuxSFX(1021, (int)player.posX, (int)player.posY, (int)player.posZ, 0);
- MinecraftForge.EVENT_BUS.post(new ToolCraftedEvent(this.inventory, player, stack));
- }
- }
-}
diff --git a/src/main/java/tconstruct/inventory/SlotToolForge.java b/src/main/java/tconstruct/inventory/SlotToolForge.java
deleted file mode 100644
index 299b5c59..00000000
--- a/src/main/java/tconstruct/inventory/SlotToolForge.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraftforge.common.MinecraftForge;
-import tconstruct.library.event.ToolCraftedEvent;
-
-import java.util.Random;
-
-import tconstruct.library.tools.ToolCore;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-
-public class SlotToolForge extends SlotTool
-{
- /** The player that is using the GUI where this slot resides. */
- Random random = new Random();
-
- public SlotToolForge(EntityPlayer entityplayer, IInventory builder, int par3, int par4, int par5)
- {
- super(entityplayer, builder, par3, par4, par5);
- }
-
- protected void onCrafting (ItemStack stack)
- {
- NBTTagCompound tags = stack.getTagCompound();
- if (!tags.getCompoundTag("InfiTool").hasKey("Built"))
- {
- tags.getCompoundTag("InfiTool").setBoolean("Built", true);
- Boolean full = (inventory.getStackInSlot(2) != null || inventory.getStackInSlot(3) != null);
- for (int i = 2; i <= 4; i++)
- inventory.decrStackSize(i, 1);
- int amount = inventory.getStackInSlot(1).getItem() instanceof ToolCore ? stack.stackSize : 1;
- inventory.decrStackSize(1, amount);
- if (!player.worldObj.isRemote && full)
- player.worldObj.playAuxSFX(1021, (int) player.posX, (int) player.posY, (int) player.posZ, 0);
- MinecraftForge.EVENT_BUS.post(new ToolCraftedEvent(this.inventory, player, stack));
- }
- }
-}
diff --git a/src/main/java/tconstruct/inventory/SlotUnused.java b/src/main/java/tconstruct/inventory/SlotUnused.java
deleted file mode 100644
index 4abefba6..00000000
--- a/src/main/java/tconstruct/inventory/SlotUnused.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package tconstruct.inventory;
-
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class SlotUnused extends Slot
-{
- public SlotUnused(IInventory par2IInventory, int par3, int par4, int par5)
- {
- super(par2IInventory, par3, par4, par5);
- }
-
- /**
- * Returns the maximum stack size for a given slot (usually the same as getInventoryStackLimit(), but 1 in the case
- * of armor slots)
- */
- public int getSlotStackLimit ()
- {
- return 0;
- }
-
- /**
- * Check if the stack is a valid item for this slot. Always true beside for the armor slots.
- */
- public boolean isItemValid (ItemStack par1ItemStack)
- {
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/SmelteryContainer.java b/src/main/java/tconstruct/inventory/SmelteryContainer.java
deleted file mode 100644
index 82b21661..00000000
--- a/src/main/java/tconstruct/inventory/SmelteryContainer.java
+++ /dev/null
@@ -1,297 +0,0 @@
-package tconstruct.inventory;
-
-import tconstruct.blocks.logic.SmelteryLogic;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class SmelteryContainer extends ActiveContainer
-{
- public SmelteryLogic logic;
- public InventoryPlayer playerInv;
- public int fuel = 0;
- int slotRow;
-
- public SmelteryContainer(InventoryPlayer inventoryplayer, SmelteryLogic smeltery)
- {
- logic = smeltery;
- playerInv = inventoryplayer;
- slotRow = 0;
-
- /* Smeltery inventory */
-
- for (int y = 0; y < smeltery.layers * 3; y++)
- {
- for (int x = 0; x < 3; x++)
- {
- this.addDualSlotToContainer(new ActiveSlot(smeltery, x + y * 3, 2 + x * 22, 8 + y * 18, y < 8));
- }
- }
-
- /* Player inventory */
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 9; row++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, row + column * 9 + 9, 90 + row * 18, 84 + column * 18));
- }
- }
-
- for (int column = 0; column < 9; column++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, column, 90 + column * 18, 142));
- }
- }
-
- public int updateRows (int invRow)
- {
- if (invRow != slotRow)
- {
- slotRow = invRow;
- //TConstruct.logger.info(invRow);
- int basePos = invRow * 3;
- for (int iter = 0; iter < activeInventorySlots.size(); iter++)
- {
- ActiveSlot slot = (ActiveSlot) activeInventorySlots.get(iter);
- if (slot.activeSlotNumber >= basePos && slot.activeSlotNumber < basePos + 24)
- {
- slot.setActive(true);
- }
- else
- {
- slot.setActive(false);
- }
- int xPos = (iter - basePos) % 3;
- int yPos = (iter - basePos) / 3;
- slot.xDisplayPosition = 2 + 22 * xPos;
- slot.yDisplayPosition = 8 + 18 * yPos;
- }
- return slotRow;
- }
- return -1;
- }
-
- public int scrollTo (float scrollPos)
- {
- float total = (logic.getSizeInventory() - 24) / 3;
- int rowPos = (int) (total * scrollPos);
- return updateRows(rowPos);
- }
-
- @Override
- public void detectAndSendChanges () //TODO: Sync with this
- {
- super.detectAndSendChanges();
- /*for (int i = 0; i < crafters.size(); i++)
- {
- ICrafting icrafting = (ICrafting)crafters.get(i);
- if (progress != logic.progress)
- {
- icrafting.sendProgressBarUpdate(this, 0, logic.progress);
- }
- if (fuel != logic.fuel)
- {
- icrafting.sendProgressBarUpdate(this, 1, logic.fuel);
- }
- if (fuelGague != logic.fuelGague)
- {
- icrafting.sendProgressBarUpdate(this, 2, logic.fuelGague);
- }
- }
-
- progress = logic.progress;
- fuel = logic.fuel;
- fuelGague = logic.fuelGague;*/
- }
-
- public void updateProgressBar (int id, int value)
- {
- if (id == 0)
- {
- logic.fuelGague = value;
- }
- /* if (id == 1)
- {
- logic.fuel = value;
- }*/
- /*if (id == 2)
- {
- logic.fuelGague = value;
- }*/
- }
-
- @Override
- public boolean canInteractWith (EntityPlayer entityplayer)
- {
- return logic.isUseableByPlayer(entityplayer);
- }
-
- @Override
- public ItemStack transferStackInSlot (EntityPlayer player, int slotID)
- {
- ItemStack stack = null;
- Slot slot = (Slot) this.inventorySlots.get(slotID);
-
- if (slot != null && slot.getHasStack())
- {
- ItemStack slotStack = slot.getStack();
- stack = slotStack.copy();
-
- if (slotID < logic.getSizeInventory())
- {
- if (!this.mergeItemStack(slotStack, logic.getSizeInventory(), this.inventorySlots.size(), true))
- {
- return null;
- }
- }
- else if (!this.mergeItemStack(slotStack, 0, logic.getSizeInventory(), false))
- {
- return null;
- }
-
- if (slotStack.stackSize == 0)
- {
- slot.putStack((ItemStack) null);
- }
- else
- {
- slot.onSlotChanged();
- }
- }
-
- return stack;
- }
-
- @Override
- protected boolean mergeItemStack (ItemStack inputStack, int startSlot, int endSlot, boolean flag)
- {
- //TConstruct.logger.info("Merge");
- boolean merged = false;
- int slotPos = startSlot;
-
- if (flag)
- {
- slotPos = endSlot - 1;
- }
-
- Slot slot;
- ItemStack slotStack;
-
- /*if (inputStack.isStackable() && startSlot >= logic.getSizeInventory())
- {
- TConstruct.logger.info("Rawr!");
- while (inputStack.stackSize > 0 && (!flag && slotPos < endSlot || flag && slotPos >= startSlot))
- {
- slot = (Slot) this.inventorySlots.get(slotPos);
- slotStack = slot.getStack();
-
- if (slotStack != null && ItemStack.areItemStacksEqual(inputStack, slotStack) && !inputStack.getHasSubtypes())
- {
- int totalSize = slotStack.stackSize + inputStack.stackSize;
-
- if (totalSize <= inputStack.getMaxStackSize())
- {
- inputStack.stackSize = 0;
- slotStack.stackSize = totalSize;
- slot.onSlotChanged();
- merged = true;
- }
- else if (slotStack.stackSize < inputStack.getMaxStackSize())
- {
- inputStack.stackSize -= inputStack.getMaxStackSize() - slotStack.stackSize;
- slotStack.stackSize = inputStack.getMaxStackSize();
- slot.onSlotChanged();
- merged = true;
- }
- }
-
- if (flag)
- {
- --slotPos;
- }
- else
- {
- ++slotPos;
- }
- }
- }*/
-
- if (inputStack.isStackable() && startSlot >= logic.getSizeInventory())
- {
- while (inputStack.stackSize > 0 && (!flag && slotPos < endSlot || flag && slotPos >= startSlot))
- {
- slot = (Slot) this.inventorySlots.get(slotPos);
- slotStack = slot.getStack();
-
- if (slotStack != null && slotStack.itemID == inputStack.itemID && (!inputStack.getHasSubtypes() || inputStack.getItemDamage() == slotStack.getItemDamage())
- && ItemStack.areItemStackTagsEqual(inputStack, slotStack))
- {
- int l = slotStack.stackSize + inputStack.stackSize;
-
- if (l <= inputStack.getMaxStackSize())
- {
- inputStack.stackSize = 0;
- slotStack.stackSize = l;
- slot.onSlotChanged();
- merged = true;
- }
- else if (slotStack.stackSize < inputStack.getMaxStackSize())
- {
- inputStack.stackSize -= inputStack.getMaxStackSize() - slotStack.stackSize;
- slotStack.stackSize = inputStack.getMaxStackSize();
- slot.onSlotChanged();
- merged = true;
- }
- }
-
- if (flag)
- {
- --slotPos;
- }
- else
- {
- ++slotPos;
- }
- }
- }
-
- if (inputStack.stackSize > 0)
- {
- if (flag)
- {
- slotPos = endSlot - 1;
- }
- else
- {
- slotPos = startSlot;
- }
-
- while (!flag && slotPos < endSlot || flag && slotPos >= startSlot)
- {
- slot = (Slot) this.inventorySlots.get(slotPos);
- slotStack = slot.getStack();
-
- if (slotStack == null)
- {
- slot.putStack(inputStack.copy());
- slot.onSlotChanged();
- inputStack.stackSize -= 1;
- merged = true;
- break;
- }
-
- if (flag)
- {
- --slotPos;
- }
- else
- {
- ++slotPos;
- }
- }
- }
-
- return merged;
- }
-}
diff --git a/src/main/java/tconstruct/inventory/ToolForgeContainer.java b/src/main/java/tconstruct/inventory/ToolForgeContainer.java
deleted file mode 100644
index fbb1c168..00000000
--- a/src/main/java/tconstruct/inventory/ToolForgeContainer.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package tconstruct.inventory;
-
-import tconstruct.blocks.logic.ToolForgeLogic;
-import tconstruct.blocks.logic.ToolStationLogic;
-import tconstruct.library.tools.ToolCore;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-
-public class ToolForgeContainer extends ToolStationContainer
-{
-
- public ToolForgeContainer(InventoryPlayer inventoryplayer, ToolForgeLogic logic)
- {
- super(inventoryplayer, logic);
- }
-
- public void initializeContainer (InventoryPlayer inventoryplayer, ToolStationLogic builderlogic)
- {
- invPlayer = inventoryplayer;
- this.logic = builderlogic;
-
- toolSlot = new SlotToolForge(inventoryplayer.player, logic, 0, 115, 38);
- this.addSlotToContainer(toolSlot);
- slots = new Slot[] { new Slot(logic, 1, 57, 29), new Slot(logic, 2, 39, 29), new Slot(logic, 3, 57, 47), new Slot(logic, 4, 39, 47) };
-
- for (int iter = 0; iter < 4; iter++)
- this.addSlotToContainer(slots[iter]);
-
- /* Player inventory */
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 9; row++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, row + column * 9 + 9, 8 + row * 18, 84 + column * 18));
- }
- }
-
- for (int column = 0; column < 9; column++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, column, 8 + column * 18, 142));
- }
- }
-
- //posX and posY must be the same length
- public void resetSlots (int[] posX, int[] posY)
- {
- inventorySlots.clear();
- inventoryItemStacks.clear();
- this.addSlotToContainer(toolSlot);
- for (int iter = 0; iter < 4; iter++)
- {
- slots[iter].xDisplayPosition = posX[iter] + 1;
- slots[iter].yDisplayPosition = posY[iter] + 1;
- addSlotToContainer(slots[iter]);
- }
-
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 9; row++)
- {
- this.addSlotToContainer(new Slot(invPlayer, row + column * 9 + 9, 8 + row * 18, 84 + column * 18));
- }
- }
-
- for (int column = 0; column < 9; column++)
- {
- this.addSlotToContainer(new Slot(invPlayer, column, 8 + column * 18, 142));
- }
- }
-
- @Override
- protected void craftTool (ItemStack stack)
- {
- NBTTagCompound tags = stack.getTagCompound();
- if (!tags.getCompoundTag("InfiTool").hasKey("Built"))
- {
- tags.getCompoundTag("InfiTool").setBoolean("Built", true);
- for (int i = 2; i <= 4; i++)
- logic.decrStackSize(i, 1);
- int amount = logic.getStackInSlot(1).getItem() instanceof ToolCore ? stack.stackSize : 1;
- logic.decrStackSize(1, amount);
- if (!logic.worldObj.isRemote)
- logic.worldObj.playAuxSFX(1021, (int) logic.xCoord, (int) logic.yCoord, (int) logic.zCoord, 0);
- }
- }
-}
diff --git a/src/main/java/tconstruct/inventory/ToolStationContainer.java b/src/main/java/tconstruct/inventory/ToolStationContainer.java
deleted file mode 100644
index 65c62030..00000000
--- a/src/main/java/tconstruct/inventory/ToolStationContainer.java
+++ /dev/null
@@ -1,240 +0,0 @@
-package tconstruct.inventory;
-
-import java.util.Random;
-
-import tconstruct.blocks.logic.ToolStationLogic;
-import tconstruct.library.tools.ToolCore;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-
-public class ToolStationContainer extends ActiveContainer
-{
- public InventoryPlayer invPlayer;
- public ToolStationLogic logic;
- public Slot[] slots;
- public SlotTool toolSlot;
- public Random random = new Random();
-
- public ToolStationContainer(InventoryPlayer inventoryplayer, ToolStationLogic builderlogic)
- {
- initializeContainer(inventoryplayer, builderlogic);
- }
-
- public void initializeContainer (InventoryPlayer inventoryplayer, ToolStationLogic builderlogic)
- {
- invPlayer = inventoryplayer;
- logic = builderlogic;
-
- toolSlot = new SlotTool(inventoryplayer.player, builderlogic, 0, 115, 38);
- this.addSlotToContainer(toolSlot);
- slots = new Slot[] { new Slot(builderlogic, 1, 57, 29), new Slot(builderlogic, 2, 39, 38), new Slot(builderlogic, 3, 57, 47) };
-
- for (int iter = 0; iter < 3; iter++)
- this.addSlotToContainer(slots[iter]);
-
- /* Player inventory */
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 9; row++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, row + column * 9 + 9, 8 + row * 18, 84 + column * 18));
- }
- }
-
- for (int column = 0; column < 9; column++)
- {
- this.addSlotToContainer(new Slot(inventoryplayer, column, 8 + column * 18, 142));
- }
- }
-
- //posX and posY must be the same length
- public void resetSlots (int[] posX, int[] posY)
- {
- /* Station inventory */
- inventorySlots.clear();
- inventoryItemStacks.clear();
- this.addSlotToContainer(toolSlot);
- for (int iter = 0; iter < 3; iter++)
- {
- slots[iter].xDisplayPosition = posX[iter] + 1;
- slots[iter].yDisplayPosition = posY[iter] + 1;
- addSlotToContainer(slots[iter]);
- }
-
- /* Player inventory */
- for (int column = 0; column < 3; column++)
- {
- for (int row = 0; row < 9; row++)
- {
- this.addSlotToContainer(new Slot(invPlayer, row + column * 9 + 9, 8 + row * 18, 84 + column * 18));
- }
- }
-
- for (int column = 0; column < 9; column++)
- {
- this.addSlotToContainer(new Slot(invPlayer, column, 8 + column * 18, 142));
- }
- }
-
- @Override
- public boolean canInteractWith (EntityPlayer var1)
- {
- return true;
- }
-
- public ItemStack transferStackInSlot (EntityPlayer player, int slotID)
- {
- ItemStack stack = null;
- Slot slot = (Slot) this.inventorySlots.get(slotID);
-
- if (slot != null && slot.getHasStack())
- {
- ItemStack slotStack = slot.getStack();
- stack = slotStack.copy();
- if (slotID < logic.getSizeInventory())
- {
- if (slotID == 0)
- {
- if (!this.mergeCraftedStack(slotStack, logic.getSizeInventory(), this.inventorySlots.size(), true, player))
- {
- return null;
- }
- }
- else if (!this.mergeItemStack(slotStack, logic.getSizeInventory(), this.inventorySlots.size(), true))
- {
- return null;
- }
- }
- else if (!this.mergeItemStack(slotStack, 1, logic.getSizeInventory(), false))
- {
- return null;
- }
-
- if (slotStack.stackSize == 0)
- {
- slot.putStack((ItemStack) null);
- }
- else
- {
- slot.onSlotChanged();
- }
- }
-
- return stack;
- }
-
- protected void craftTool (ItemStack stack)
- {
- NBTTagCompound tags = stack.getTagCompound();
- if (!tags.getCompoundTag("InfiTool").hasKey("Built"))
- {
- tags.getCompoundTag("InfiTool").setBoolean("Built", true);
- for (int i = 2; i <= 3; i++)
- logic.decrStackSize(i, 1);
- int amount = logic.getStackInSlot(1).getItem() instanceof ToolCore ? stack.stackSize : 1;
- logic.decrStackSize(1, amount);
-
- logic.worldObj.playSoundEffect(logic.xCoord, logic.yCoord, logic.zCoord, "tinker:little_saw", 1.0F, (random.nextFloat() - random.nextFloat()) * 0.2F + 1.0F);
- }
- }
-
- protected boolean mergeCraftedStack (ItemStack stack, int slotsStart, int slotsTotal, boolean playerInventory, EntityPlayer player)
- {
- boolean failedToMerge = false;
- int slotIndex = slotsStart;
-
- if (playerInventory)
- {
- slotIndex = slotsTotal - 1;
- }
-
- Slot otherInventorySlot;
- ItemStack copyStack = null;
-
- /*if (stack.isStackable())
- {
- while (stack.stackSize > 0 && (!playerInventory && slotIndex < slotsTotal || playerInventory && slotIndex >= slotsStart))
- {
- otherInventorySlot = (Slot)this.inventorySlots.get(slotIndex);
- copyStack = otherInventorySlot.getStack();
-
- if (copyStack != null && copyStack.itemID == stack.itemID && (!stack.getHasSubtypes() || stack.getItemDamage() == copyStack.getItemDamage()) && ItemStack.areItemStackTagsEqual(stack, copyStack))
- {
- int totalSize = copyStack.stackSize + stack.stackSize;
-
- if (totalSize <= stack.getMaxStackSize())
- {
- stack.stackSize = 0;
- copyStack.stackSize = totalSize;
- otherInventorySlot.onSlotChanged();
- failedToMerge = true;
- }
- else if (copyStack.stackSize < stack.getMaxStackSize())
- {
- stack.stackSize -= stack.getMaxStackSize() - copyStack.stackSize;
- copyStack.stackSize = stack.getMaxStackSize();
- otherInventorySlot.onSlotChanged();
- failedToMerge = true;
- }
- }
-
- if (playerInventory)
- {
- --slotIndex;
- }
- else
- {
- ++slotIndex;
- }
- }
- }*/
-
- if (stack.stackSize > 0)
- {
- if (playerInventory)
- {
- slotIndex = slotsTotal - 1;
- }
- else
- {
- slotIndex = slotsStart;
- }
-
- while (!playerInventory && slotIndex < slotsTotal || playerInventory && slotIndex >= slotsStart)
- {
- otherInventorySlot = (Slot) this.inventorySlots.get(slotIndex);
- copyStack = otherInventorySlot.getStack();
-
- if (copyStack == null)
- {
- craftTool(stack);
- otherInventorySlot.putStack(stack.copy());
- otherInventorySlot.onSlotChanged();
- stack.stackSize = 0;
- failedToMerge = true;
- break;
- }
-
- if (playerInventory)
- {
- --slotIndex;
- }
- else
- {
- ++slotIndex;
- }
- }
- }
-
- /*boolean emptySlots = ( ((Slot) inventorySlots.get(2)).getStack() == null && ((Slot) inventorySlots.get(3)).getStack() == null );
- TConstruct.logger.info("Empty slots");
- if (!failedToMerge && emptySlots)
- player.worldObj.playAuxSFX(1021, (int)player.posX, (int)player.posY, (int)player.posZ, 0);*/
-
- return failedToMerge;
- }
-}
diff --git a/src/main/java/tconstruct/items/ArmorPattern.java b/src/main/java/tconstruct/items/ArmorPattern.java
deleted file mode 100644
index 2d4120ca..00000000
--- a/src/main/java/tconstruct/items/ArmorPattern.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package tconstruct.items;
-
-import java.util.List;
-
-import cpw.mods.fml.relauncher.*;
-
-import tconstruct.library.ItemBlocklike;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-
-public class ArmorPattern extends CraftingItem implements ItemBlocklike
-{
-
- private Icon baseIcon;
-
- public ArmorPattern(int id, String patternType, String folder)
- {
- super(id, patternName, getPatternNames(patternType), folder);
- this.setHasSubtypes(true);
- this.setMaxDamage(0);
- this.setContainerItem(this);
- this.setMaxStackSize(1);
- }
-
- protected static String[] getPatternNames (String partType)
- {
- String[] names = new String[patternName.length];
- for (int i = 0; i < patternName.length; i++)
- names[i] = partType + patternName[i];
- return names;
- }
-
- public Icon getBaseIcon ()
- {
- return baseIcon;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- super.registerIcons(iconRegister);
- baseIcon = iconRegister.registerIcon("tinker:" + folder + "armor_cast");
- }
-
- private static final String[] patternName = new String[] { "helmet", "chestplate", "leggings", "boots" };
-
- public void getSubItems (int id, CreativeTabs tab, List list)
- {
- for (int i = 0; i < patternName.length; i++)
- {
- list.add(new ItemStack(id, 1, i));
- }
- }
-
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/items/Bowstring.java b/src/main/java/tconstruct/items/Bowstring.java
deleted file mode 100644
index eb185981..00000000
--- a/src/main/java/tconstruct/items/Bowstring.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package tconstruct.items;
-
-import java.util.List;
-
-import cpw.mods.fml.common.Loader;
-
-import tconstruct.common.TContent;
-import tconstruct.library.util.IToolPart;
-
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.common.MinecraftForge;
-
-public class Bowstring extends CraftingItem implements IToolPart
-{
- public Bowstring(int id)
- {
- super(id, toolMaterialNames, buildTextureNames("_bowstring"), "parts/");
- this.setHasSubtypes(true);
- this.setMaxDamage(0);
- }
-
- private static String[] buildTextureNames (String textureType)
- {
- String[] names = new String[toolMaterialNames.length];
- for (int i = 0; i < toolMaterialNames.length; i++)
- {
- if (toolTextureNames[i].equals(""))
- names[i] = "";
- else
- names[i] = toolTextureNames[i] + textureType;
- }
- return names;
- }
-
- public static final String[] toolMaterialNames = new String[] { "string", "enchantedfabric", "flamestring" };
-
- public static final String[] toolTextureNames = new String[] { "string", "magicfabric", "flamestring" };
-
- @Override
- public int getMaterialID (ItemStack stack)
- {
- return stack.getItemDamage();
- }
-
- public void getSubItems (int id, CreativeTabs tab, List list)
- {
- list.add(new ItemStack(id, 1, 0));
- if (TContent.thaumcraftAvailable)
- list.add(new ItemStack(id, 1, 1));
- if (Loader.isModLoaded("Natura"))
- list.add(new ItemStack(id, 1, 2));
- }
-}
diff --git a/src/main/java/tconstruct/items/CraftingItem.java b/src/main/java/tconstruct/items/CraftingItem.java
deleted file mode 100644
index 52ca0ba8..00000000
--- a/src/main/java/tconstruct/items/CraftingItem.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package tconstruct.items;
-
-import tconstruct.common.TContent;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.world.World;
-import tconstruct.achievements.TAchievements;
-
-import java.util.List;
-
-import tconstruct.library.TConstructRegistry;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class CraftingItem extends Item
-{
- public String[] textureNames;
- public String[] unlocalizedNames;
- public String folder;
- public Icon[] icons;
-
- public CraftingItem(int id, String[] names, String[] tex, String folder)
- {
- super(id);
- this.setCreativeTab(TConstructRegistry.materialTab);
- this.setMaxDamage(0);
- this.setHasSubtypes(true);
- this.textureNames = tex;
- this.unlocalizedNames = names;
- this.folder = folder;
- }
-
- @SideOnly(Side.CLIENT)
- public Icon getIconFromDamage (int meta)
- {
- int arr = MathHelper.clamp_int(meta, 0, unlocalizedNames.length);
- return icons[arr];
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- if (!(textureNames[i].equals("")))
- this.icons[i] = iconRegister.registerIcon("tinker:" + folder + textureNames[i]);
- }
- }
-
- public String getUnlocalizedName (ItemStack stack)
- {
- int arr = MathHelper.clamp_int(stack.getItemDamage(), 0, unlocalizedNames.length);
- return getUnlocalizedName() + "." + unlocalizedNames[arr];
- }
-
- public void getSubItems (int id, CreativeTabs tab, List list)
- {
- for (int i = 0; i < unlocalizedNames.length; i++)
- if (!(textureNames[i].equals("")))
- list.add(new ItemStack(id, 1, i));
- }
-
-
- @Override
- public void onCreated(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
- {
- if(par1ItemStack.itemID == TContent.blankPattern.itemID){
- par3EntityPlayer.addStat(TAchievements.achievements.get("tconstruct.pattern"), 1);
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/DiamondApple.java b/src/main/java/tconstruct/items/DiamondApple.java
deleted file mode 100644
index 7f88dc95..00000000
--- a/src/main/java/tconstruct/items/DiamondApple.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package tconstruct.items;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemFood;
-import net.minecraft.item.ItemStack;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class DiamondApple extends ItemFood
-{
- public Icon[] icons;
- public String[] textureNames = new String[] { "food/apple_diamond" };
- public String[] itemNames = new String[] { "apple.diamond" };
-
- public DiamondApple(int id)
- {
- super(id, 4, 2.0F, false);
- setHasSubtypes(true);
- setMaxDamage(0);
- this.setAlwaysEdible();
- }
-
- protected void onFoodEaten (ItemStack stack, World world, EntityPlayer player)
- {
- if (!world.isRemote)
- {
- int duration = 0;
- PotionEffect potion;
-
- potion = player.getActivePotionEffect(Potion.resistance);
- if (potion != null)
- duration = potion.duration;
- player.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, duration + 60 * 40, 4));
-
- potion = player.getActivePotionEffect(Potion.resistance);
- if (potion != null)
- duration = potion.duration;
- player.addPotionEffect(new PotionEffect(Potion.resistance.id, duration + 60 * 20, 0));
-
- potion = player.getActivePotionEffect(Potion.digSpeed);
- if (potion != null)
- duration = potion.duration;
- player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, duration + 60 * 20, 0));
-
- potion = player.getActivePotionEffect(Potion.damageBoost);
- if (potion != null)
- duration = potion.duration;
- player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, duration + 60 * 20, 0));
- }
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public Icon getIconFromDamage (int meta)
- {
- return icons[meta];
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:" + textureNames[i]);
- }
- }
-
- /* Name override */
- @Override
- public String getUnlocalizedName (ItemStack itemstack)
- {
- return (new StringBuilder()).append("item.food.").append(itemNames[itemstack.getItemDamage()]).toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/FilledBucket.java b/src/main/java/tconstruct/items/FilledBucket.java
deleted file mode 100644
index 76b88b08..00000000
--- a/src/main/java/tconstruct/items/FilledBucket.java
+++ /dev/null
@@ -1,194 +0,0 @@
-package tconstruct.items;
-
-import java.util.List;
-
-import net.minecraftforge.fluids.BlockFluidFinite;
-import tconstruct.TConstruct;
-import tconstruct.blocks.logic.LiquidTextureLogic;
-import tconstruct.common.TContent;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBucket;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumMovingObjectType;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class FilledBucket extends ItemBucket
-{
-
- public FilledBucket(int id)
- {
- super(id, 0);
- //setTextureFile(TContent.craftingTexture);
- //setIconIndex(224);
- setUnlocalizedName("tconstruct.bucket");
- setContainerItem(Item.bucketEmpty);
- this.setHasSubtypes(true);
- }
-
- public ItemStack onItemRightClick (ItemStack stack, World world, EntityPlayer player)
- {
- float var4 = 1.0F;
- double trueX = player.prevPosX + (player.posX - player.prevPosX) * (double) var4;
- double trueY = player.prevPosY + (player.posY - player.prevPosY) * (double) var4 + 1.62D - (double) player.yOffset;
- double trueZ = player.prevPosZ + (player.posZ - player.prevPosZ) * (double) var4;
- boolean wannabeFull = false;
- MovingObjectPosition position = this.getMovingObjectPositionFromPlayer(world, player, wannabeFull);
-
- if (position == null)
- {
- return stack;
- }
- else
- {
- /*FillBucketEvent event = new FillBucketEvent(player, stack, world, position);
- if (MinecraftForge.EVENT_BUS.post(event))
- {
- return stack;
- }
-
- if (event.getResult() == Event.Result.ALLOW)
- {
- if (player.capabilities.isCreativeMode)
- {
- return stack;
- }
-
- if (--stack.stackSize <= 0)
- {
- return event.result;
- }
-
- if (!player.inventory.addItemStackToInventory(event.result))
- {
- player.dropPlayerItem(event.result);
- }
-
- return stack;
- }*/
-
- if (position.typeOfHit == EnumMovingObjectType.TILE)
- {
- int clickX = position.blockX;
- int clickY = position.blockY;
- int clickZ = position.blockZ;
-
- if (!world.canMineBlock(player, clickX, clickY, clickZ))
- {
- return stack;
- }
-
- if (position.sideHit == 0)
- {
- --clickY;
- }
-
- if (position.sideHit == 1)
- {
- ++clickY;
- }
-
- if (position.sideHit == 2)
- {
- --clickZ;
- }
-
- if (position.sideHit == 3)
- {
- ++clickZ;
- }
-
- if (position.sideHit == 4)
- {
- --clickX;
- }
-
- if (position.sideHit == 5)
- {
- ++clickX;
- }
-
- if (!player.canPlayerEdit(clickX, clickY, clickZ, position.sideHit, stack))
- {
- return stack;
- }
-
- if (this.tryPlaceContainedLiquid(world, clickX, clickY, clickZ, stack.getItemDamage()) && !player.capabilities.isCreativeMode)
- {
- return new ItemStack(Item.bucketEmpty);
- }
- }
-
- return stack;
- }
- }
-
- public boolean tryPlaceContainedLiquid (World world, int clickX, int clickY, int clickZ, int type)
- {
- if (!world.isAirBlock(clickX, clickY, clickZ) && world.getBlockMaterial(clickX, clickY, clickZ).isSolid())
- {
- return false;
- }
- else
- {
- try {
- int metadata = 0;
- if (TContent.fluidBlocks[type] instanceof BlockFluidFinite)
- metadata = 7;
-
- world.setBlock(clickX, clickY, clickZ, TContent.fluidBlocks[type].blockID, metadata, 3); //TODO: Merge liquids
- } catch (ArrayIndexOutOfBoundsException ex) {
- TConstruct.logger.warning("AIOBE occured when placing bucket into world; " + ex);
- return false;
- }
-
- return true;
- }
- }
-
- @Override
- public void getSubItems (int id, CreativeTabs tab, List list)
- {
- for (int i = 0; i < icons.length; i++)
- list.add(new ItemStack(id, 1, i));
- }
-
- public Icon[] icons;
-
- @SideOnly(Side.CLIENT)
- public Icon getIconFromDamage (int meta)
- {
- return icons[meta];
- }
-
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:materials/bucket_" + textureNames[i]);
- }
- }
-
- public String getUnlocalizedName (ItemStack stack)
- {
- int arr = MathHelper.clamp_int(stack.getItemDamage(), 0, materialNames.length);
- return getUnlocalizedName() + "." + materialNames[arr];
- }
-
- public static final String[] materialNames = new String[] { "Iron", "Gold", "Copper", "Tin", "Aluminum", "Cobalt", "Ardite", "Bronze", "AluBrass", "Manyullyn", "Alumite", "Obsidian", "Steel",
- "Glass", "Stone", "Villager", "Cow", "Nickel", "Lead", "Silver", "Shiny", "Invar", "Electrum", "Ender", "Slime", "Glue", "PigIron" };
-
- public static final String[] textureNames = new String[] { "iron", "gold", "copper", "tin", "aluminum", "cobalt", "ardite", "bronze", "alubrass", "manyullyn", "alumite", "obsidian", "steel",
- "glass", "stone", "emerald", "blood", "nickel", "lead", "silver", "shiny", "invar", "electrum", "ender", "slime", "glue", "pigiron" };
-}
diff --git a/src/main/java/tconstruct/items/Fletching.java b/src/main/java/tconstruct/items/Fletching.java
deleted file mode 100644
index 283d9ffb..00000000
--- a/src/main/java/tconstruct/items/Fletching.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package tconstruct.items;
-
-import tconstruct.library.util.IToolPart;
-import net.minecraft.item.ItemStack;
-
-public class Fletching extends CraftingItem implements IToolPart
-{
- public Fletching(int id)
- {
- super(id, toolMaterialNames, buildTextureNames("_fletching"), "parts/");
- this.setHasSubtypes(true);
- this.setMaxDamage(0);
- }
-
- private static String[] buildTextureNames (String textureType)
- {
- String[] names = new String[toolMaterialNames.length];
- for (int i = 0; i < toolMaterialNames.length; i++)
- {
- if (toolTextureNames[i].equals(""))
- names[i] = "";
- else
- names[i] = toolTextureNames[i] + textureType;
- }
- return names;
- }
-
- public static final String[] toolMaterialNames = new String[] { "feather", "leaf", "slime", "blueslime" };
-
- public static final String[] toolTextureNames = new String[] { "feather", "leaf", "slime", "blueslime" };
-
- @Override
- public int getMaterialID (ItemStack stack)
- {
- return stack.getItemDamage();
- }
-}
diff --git a/src/main/java/tconstruct/items/GoldenHead.java b/src/main/java/tconstruct/items/GoldenHead.java
deleted file mode 100644
index 0e7b3ee2..00000000
--- a/src/main/java/tconstruct/items/GoldenHead.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package tconstruct.items;
-
-import java.util.List;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.EnumRarity;
-import net.minecraft.item.ItemFood;
-import net.minecraft.item.ItemStack;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.world.World;
-import net.minecraft.util.StatCollector;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class GoldenHead extends ItemFood
-{
- public GoldenHead(int par1, int par2, float par3, boolean par4)
- {
- super(par1, par2, par3, par4);
- this.setHasSubtypes(true);
- }
-
- @SideOnly(Side.CLIENT)
- public boolean hasEffect (ItemStack par1ItemStack)
- {
- return par1ItemStack.getItemDamage() > 0;
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * Return an item rarity from EnumRarity
- */
- public EnumRarity getRarity (ItemStack par1ItemStack)
- {
- return par1ItemStack.getItemDamage() == 0 ? EnumRarity.rare : EnumRarity.epic;
- }
-
- protected void onFoodEaten (ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
- {
- if (par1ItemStack.getItemDamage() > 0)
- {
- if (!par2World.isRemote)
- {
- par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.regeneration.id, 600, 3));
- par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.resistance.id, 6000, 0));
- par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 6000, 0));
- }
- }
- else
- {
- super.onFoodEaten(par1ItemStack, par2World, par3EntityPlayer);
- }
- }
-
- @SideOnly(Side.CLIENT)
- /**
- * returns a list of items with the same ID, but different meta (eg: dye returns 16 items)
- */
- public void getSubItems (int par1, CreativeTabs par2CreativeTabs, List par3List)
- {
- par3List.add(new ItemStack(par1, 1, 0));
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- this.itemIcon = iconRegister.registerIcon("tinker:skull_char_gold");
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- list.add("\u00a75\u00a7o"+StatCollector.translateToLocal("goldenhead1.tooltip"));
- list.add("\u00a75\u00a7o"+StatCollector.translateToLocal("goldenhead2.tooltip"));
- }
-}
diff --git a/src/main/java/tconstruct/items/Jerky.java b/src/main/java/tconstruct/items/Jerky.java
deleted file mode 100644
index 8f8347f0..00000000
--- a/src/main/java/tconstruct/items/Jerky.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package tconstruct.items;
-
-import java.util.List;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Jerky extends SpecialFood
-{
- public static String[] textureNames = new String[] { "beef", "chicken", "pork", "mutton", "fish", "monster", "blueslime", "blood" };
- public static String[] itemNames = new String[] { "jerky.beef", "jerky.chicken", "jerky.pig", "jerky.sheep", "jerky.fish", "jerky.zombie", "jerky.blueslime", "jerky.blood" };
- public static int[] hunger = new int[] { 8, 6, 8, 6, 5, 4, 6, 4 };
- public static float[] saturation = new float[] { 1.0f, 0.8f, 1.0f, 0.8f, 0.8f, 0.4f, 1.0f, 0.4f };
- public static int[] overhaulHunger = new int[] { 1, 1, 1, 1, 1, 1, 1, 1 };
-
- public Jerky(int id, boolean hungerOverhaul)
- {
- super(id, hungerOverhaul ? overhaulHunger : hunger, saturation, itemNames, textureNames);
- this.setHasSubtypes(true);
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[iconNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:food/jerky_" + iconNames[i]);
- }
- }
-
- public String getUnlocalizedName (ItemStack stack)
- {
- int arr = MathHelper.clamp_int(stack.getItemDamage(), 0, unlocalizedNames.length);
- return "item.tconstruct." + unlocalizedNames[arr];
- }
-
- @Override
- protected void onFoodEaten (ItemStack stack, World world, EntityPlayer player)
- {
- if (stack.getItemDamage() == 7)
- {
- int duration = 0;
- PotionEffect potion = player.getActivePotionEffect(Potion.field_76434_w);
- if (potion != null)
- duration = potion.duration;
- player.addPotionEffect(new PotionEffect(Potion.field_76434_w.id, duration + 20 * 60, 1));
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- int type = stack.getItemDamage();
- switch (type)
- {
- case 6:
- list.add("\u00a7b" + StatCollector.translateToLocal("strangefood5.tooltip"));
- break;
- case 7:
- list.add("\u00a74" + StatCollector.translateToLocal("strangefood6.tooltip"));
- break;
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/Manual.java b/src/main/java/tconstruct/items/Manual.java
deleted file mode 100644
index b4a71253..00000000
--- a/src/main/java/tconstruct/items/Manual.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package tconstruct.items;
-
-import tconstruct.achievements.TAchievements;
-
-import java.util.List;
-
-import tconstruct.TConstruct;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import net.minecraft.util.StatCollector;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Manual extends CraftingItem
-{
- static String[] name = new String[] { "beginner", "toolstation", "smeltery", "diary" };
- static String[] textureName = new String[] { "tinkerbook_diary", "tinkerbook_toolstation", "tinkerbook_smeltery", "tinkerbook_blue" };
-
- public Manual(int id)
- {
- super(id, name, textureName, "");
- setUnlocalizedName("tconstruct.manual");
- }
-
- @Override
- public ItemStack onItemRightClick (ItemStack stack, World world, EntityPlayer player)
- {
- player.addStat(TAchievements.achievements.get("tconstruct.beginner"), 1);
- player.openGui(TConstruct.instance, TConstruct.proxy.manualGuiID, world, 0, 0, 0);
- /*Side side = FMLCommonHandler.instance().getEffectiveSide();
- if (side.isClient())
- FMLClientHandler.instance().displayGuiScreen(player, new GuiManual(player.getCurrentEquippedItem(), getManualFromStack(stack)));*/
- return stack;
- }
-
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- switch (stack.getItemDamage())
- {
- case 0:
- list.add("\u00a7o"+StatCollector.translateToLocal("manual1.tooltip"));
- break;
- case 1:
- list.add("\u00a7o"+StatCollector.translateToLocal("manual2.tooltip"));
- break;
- case 2:
- list.add("\u00a7o"+StatCollector.translateToLocal("manual3.tooltip"));
- break;
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/MaterialItem.java b/src/main/java/tconstruct/items/MaterialItem.java
deleted file mode 100644
index 92d35897..00000000
--- a/src/main/java/tconstruct/items/MaterialItem.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package tconstruct.items;
-
-public class MaterialItem extends CraftingItem
-{
-
- public MaterialItem(int id)
- {
- super(id, materialNames, getTextures(), "materials/");
- }
-
- private static String[] getTextures ()
- {
- String[] names = new String[craftingTextures.length];
- for (int i = 0; i < craftingTextures.length; i++)
- {
- if (craftingTextures[i].equals(""))
- names[i] = "";
- else
- names[i] = "material_" + craftingTextures[i];
- }
- return names;
- }
-
- static String[] materialNames = new String[] { "PaperStack", "SlimeCrystal", "SearedBrick", "CobaltIngot", "ArditeIngot", "ManyullynIngot", "Mossball", "LavaCrystal", "NecroticBone",
- "CopperIngot", "TinIngot", "AluminumIngot", "RawAluminum", "BronzeIngot", "AluBrassIngot", "AlumiteIngot", "SteelIngot", "BlueSlimeCrystal", "ObsidianIngot", "IronNugget", "CopperNugget", "TinNugget",
- "AluminumNugget", "EssenceCrystal", "AluBrassNugget", "SilkyCloth", "SilkyJewel", "ObsidianNugget", "CobaltNugget", "ArditeNugget", "ManyullynNugget", "BronzeNugget", "AlumiteNugget",
- "SteelNugget", "PigIronIngot", "PigIronNugget", "GlueBall", "SearedBrick" };
-
- static String[] craftingTextures = new String[] { "paperstack", "slimecrystal", "searedbrick", "cobaltingot", "arditeingot", "manyullyningot", "mossball", "lavacrystal", "necroticbone",
- "copperingot", "tiningot", "aluminumingot", "aluminumraw", "bronzeingot", "alubrassingot", "alumiteingot", "steelingot", "blueslimecrystal", "obsidianingot", "nugget_iron",
- "nugget_copper", "nugget_tin", "nugget_aluminum", "", "nugget_alubrass", "silkycloth", "silkyjewel", "nugget_obsidian", "nugget_cobalt", "nugget_ardite", "nugget_manyullyn",
- "nugget_bronze", "nugget_alumite", "nugget_steel", "pigironingot", "nugget_pigiron", "glueball", "searedbrick_nether" };
-}
diff --git a/src/main/java/tconstruct/items/MetalPattern.java b/src/main/java/tconstruct/items/MetalPattern.java
deleted file mode 100644
index 6d6a6a49..00000000
--- a/src/main/java/tconstruct/items/MetalPattern.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package tconstruct.items;
-
-import java.util.List;
-
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-
-public class MetalPattern extends Pattern
-{
-
- public MetalPattern(int id, String patternType, String folder)
- {
- super(id, patternName, getPatternNames(patternType), folder);
- }
-
- protected static String[] getPatternNames (String partType)
- {
- String[] names = new String[patternName.length];
- for (int i = 0; i < patternName.length; i++)
- if (!(patternName[i].equals("")))
- names[i] = partType + patternName[i];
- else
- names[i] = "";
- return names;
- }
-
- private static final String[] patternName = new String[] { "ingot", "rod", "pickaxe", "shovel", "axe", "swordblade", "largeguard", "mediumguard", "crossbar", "binding", "frypan", "sign",
- "knifeblade", "chisel", "largerod", "toughbinding", "largeplate", "broadaxe", "scythe", "excavator", "largeblade", "hammerhead", "fullguard", "", "", "arrowhead", "gem" };
-
- public void getSubItems (int id, CreativeTabs tab, List list)
- {
- for (int i = 0; i < patternName.length; i++)
- if (!(patternName[i].equals("")))
- list.add(new ItemStack(id, 1, i));
- }
-}
diff --git a/src/main/java/tconstruct/items/OreBerries.java b/src/main/java/tconstruct/items/OreBerries.java
deleted file mode 100644
index 09e38166..00000000
--- a/src/main/java/tconstruct/items/OreBerries.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package tconstruct.items;
-
-import java.util.List;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.item.EntityXPOrb;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import net.minecraft.util.StatCollector;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class OreBerries extends CraftingItem
-{
- static String[] names = new String[] { "iron", "gold", "copper", "tin", "aluminum", "essence" };
- static String[] tex = new String[] { "oreberry_iron", "oreberry_gold", "oreberry_copper", "oreberry_tin", "oreberry_aluminum", "oreberry_essence" };
-
- public OreBerries(int id)
- {
- super(id, names, tex, "oreberries/");
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- switch (stack.getItemDamage())
- {
- case 0:
- list.add(StatCollector.translateToLocal("oreberries1.tooltip"));
- break;
- case 1:
- list.add(StatCollector.translateToLocal("oreberries2.tooltip"));
- break;
- case 2:
- list.add(StatCollector.translateToLocal("oreberries3.tooltip"));
- break;
- case 3:
- list.add(StatCollector.translateToLocal("oreberries4.tooltip"));
- break;
- case 4:
- list.add(StatCollector.translateToLocal("oreberries5.tooltip"));
- break;
- case 5:
- list.add(StatCollector.translateToLocal("oreberries6.tooltip"));
- break;
- }
- }
-
- @Override
- public ItemStack onItemRightClick (ItemStack stack, World world, EntityPlayer player)
- {
- if (stack.getItemDamage() == 5)
- {
- EntityXPOrb entity = new EntityXPOrb(world, player.posX, player.posY + 1, player.posZ, itemRand.nextInt(14) + 6);
- spawnEntity(player.posX, player.posY + 1, player.posZ, entity, world, player);
- if (!player.capabilities.isCreativeMode)
- stack.stackSize--;
- }
- return stack;
- }
-
- public static void spawnEntity (double x, double y, double z, Entity entity, World world, EntityPlayer player)
- {
- if (!world.isRemote)
- {
- world.spawnEntityInWorld(entity);
- }
- }
-
-}
diff --git a/src/main/java/tconstruct/items/Pattern.java b/src/main/java/tconstruct/items/Pattern.java
deleted file mode 100644
index 4b43ffea..00000000
--- a/src/main/java/tconstruct/items/Pattern.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package tconstruct.items;
-
-import cpw.mods.fml.relauncher.*;
-import java.util.List;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.StatCollector;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.crafting.PatternBuilder.MaterialSet;
-import tconstruct.library.util.IPattern;
-
-public class Pattern extends CraftingItem implements IPattern
-{
- public Pattern(int id, String patternType, String folder)
- {
- this(id, patternName, getPatternNames(patternType), folder);
- }
-
- public Pattern(int id, String[] names, String[] patternTypes, String folder)
- {
- super(id, names, patternTypes, folder);
- this.setHasSubtypes(true);
- this.setMaxDamage(0);
- this.setContainerItem(this);
- this.setMaxStackSize(1);
- }
-
- protected static String[] getPatternNames (String partType)
- {
- String[] names = new String[patternName.length];
- for (int i = 0; i < patternName.length; i++)
- names[i] = partType + patternName[i];
- return names;
- }
-
- private static final String[] patternName = new String[] { "ingot", "rod", "pickaxe", "shovel", "axe", "swordblade", "largeguard", "mediumguard", "crossbar", "binding", "frypan", "sign",
- "knifeblade", "chisel", "largerod", "toughbinding", "largeplate", "broadaxe", "scythe", "excavator", "largeblade", "hammerhead", "fullguard", "bowstring", "fletching", "arrowhead" };
-
- @Override
- public void getSubItems (int id, CreativeTabs tab, List list)
- {
- for (int i = 1; i < patternName.length; i++)
- {
- //if (i != 23)
- list.add(new ItemStack(id, 1, i));
- }
- }
-
- @Override
- public ItemStack getContainerItemStack (ItemStack stack)
- {
- if (stack.stackSize <= 0)
- return null;
- return stack;
- }
-
- @Override
- public boolean doesContainerItemLeaveCraftingGrid (ItemStack stack)
- {
- return false;
- }
-
- /* Tags and information about the pattern */
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- float cost = getPatternCost(stack) / 2f;
- if (cost > 0)
- {
- if (cost - (int) cost < 0.1)
- list.add(StatCollector.translateToLocal("pattern1.tooltip") + (int) cost);
- else
- list.add(StatCollector.translateToLocal("pattern2.tooltip") + cost);
- }
- }
-
- //2 for full material, 1 for half.
- @Override
- public int getPatternCost (ItemStack pattern)
- {
- switch (pattern.getItemDamage())
- {
- case 0:
- return 2;
- case 1:
- return 1;
- case 2:
- return 2;
- case 3:
- return 2;
- case 4:
- return 2;
- case 5:
- return 2;
- case 6:
- return 1;
- case 7:
- return 1;
- case 8:
- return 1;
- case 9:
- return 1;
- case 10:
- return 2;
- case 11:
- return 2;
- case 12:
- return 1;
- case 13:
- return 1;
- case 14:
- return 6;
- case 15:
- return 6;
- case 16:
- return 16;
- case 17:
- return 16;
- case 18:
- return 16;
- case 19:
- return 16;
- case 20:
- return 16;
- case 21:
- return 16;
- case 22:
- return 6;
- case 23:
- return 6;
- case 24:
- return 2;
- case 25:
- return 2;
- default:
- return 0;
- }
- }
-
- @Override
- public ItemStack getPatternOutput (ItemStack stack, ItemStack input, MaterialSet set)
- {
- return TConstructRegistry.getPartMapping(this.itemID, stack.getItemDamage(), set.materialID);
- }
-}
diff --git a/src/main/java/tconstruct/items/SpecialFood.java b/src/main/java/tconstruct/items/SpecialFood.java
deleted file mode 100644
index 951b176f..00000000
--- a/src/main/java/tconstruct/items/SpecialFood.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package tconstruct.items;
-
-import java.util.List;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemFood;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SpecialFood extends ItemFood
-{
- int[] hunger;
- float[] saturation;
- String[] unlocalizedNames;
- String[] iconNames;
- Icon[] icons;
-
- public SpecialFood(int id, int[] hunger, float[] saturation, String[] textureNames, String[] iconNames)
- {
- super(id, 0, 0, false);
- this.hunger = hunger;
- this.saturation = saturation;
- this.unlocalizedNames = textureNames;
- this.iconNames = iconNames;
- }
-
- @Override
- public ItemStack onEaten (ItemStack stack, World world, EntityPlayer player)
- {
- stack.stackSize--;
- int damage = stack.getItemDamage();
- player.getFoodStats().addStats(hunger[damage], saturation[damage]);
- world.playSoundAtEntity(player, "random.burp", 0.5F, world.rand.nextFloat() * 0.1F + 0.9F);
- this.onFoodEaten(stack, world, player);
- return stack;
- }
-
- @SideOnly(Side.CLIENT)
- public Icon getIconFromDamage (int meta)
- {
- return icons[meta];
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[iconNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:" + iconNames[i]);
- }
- }
-
- public String getUnlocalizedName (ItemStack stack)
- {
- int arr = MathHelper.clamp_int(stack.getItemDamage(), 0, unlocalizedNames.length);
- return getUnlocalizedName() + "." + unlocalizedNames[arr];
- }
-
- public void getSubItems (int id, CreativeTabs tab, List list)
- {
- for (int i = 0; i < unlocalizedNames.length; i++)
- list.add(new ItemStack(id, 1, i));
- }
-}
diff --git a/src/main/java/tconstruct/items/StrangeFood.java b/src/main/java/tconstruct/items/StrangeFood.java
deleted file mode 100644
index 18142aaf..00000000
--- a/src/main/java/tconstruct/items/StrangeFood.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package tconstruct.items;
-
-import java.util.List;
-
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.World;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class StrangeFood extends SpecialFood
-{
- public StrangeFood(int id)
- {
- super(id, new int[] { 2, 2 }, new float[] { 1f, 1f }, new String[] { "edibleslime", "edibleblood" }, new String[] { "food/edibleslime", "food/edibleblood" });
- }
-
- @Override
- protected void onFoodEaten (ItemStack stack, World world, EntityPlayer player)
- {
- if (stack.getItemDamage() == 1)
- player.addPotionEffect(new PotionEffect(Potion.field_76434_w.id, 20*15, 0));
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- int type = stack.getItemDamage();
- switch (type)
- {
- case 0:
- list.add("\u00a7b\u00a7o" + StatCollector.translateToLocal("strangefood1.tooltip"));
- list.add("\u00a7b\u00a7o" + StatCollector.translateToLocal("strangefood2.tooltip"));
- break;
- case 1:
- list.add("\u00a74\u00a7o" + StatCollector.translateToLocal("strangefood3.tooltip"));
- list.add("\u00a74\u00a7o" + StatCollector.translateToLocal("strangefood4.tooltip"));
- break;
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/TitleIcon.java b/src/main/java/tconstruct/items/TitleIcon.java
deleted file mode 100644
index 95b12dfd..00000000
--- a/src/main/java/tconstruct/items/TitleIcon.java
+++ /dev/null
@@ -1,222 +0,0 @@
-package tconstruct.items;
-
-import java.util.List;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.EntityLivingData;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Facing;
-import net.minecraft.util.Icon;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.World;
-import tconstruct.client.TProxyClient;
-import tconstruct.entity.BlueSlime;
-import tconstruct.library.tools.ToolCore;
-import cpw.mods.fml.common.FMLCommonHandler;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class TitleIcon extends Item
-{
- int[] primaryColor = { 0x66BBE8, 0x66BBE8 };
- int[] secondaryColor = { 0x1567BF, 0xFFEC6E };
- String[] mobNames = { "TConstruct.EdibleSlime", "TConstruct.KingSlime" };
-
- String[] achievementIconNames = new String[] { "tinkerer", "preparedFight", "proTinkerer", "enemySlayer", "dualConvenience" };
- Icon[] achievementIcons = new Icon[achievementIconNames.length];
-
- public TitleIcon(int par1)
- {
- super(par1);
- this.setCreativeTab(CreativeTabs.tabMisc);
- }
-
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- ToolCore.blankSprite = iconRegister.registerIcon("tinker:blanksprite");
- TProxyClient.metalBall = iconRegister.registerIcon("tinker:metalball");
- itemIcon = iconRegister.registerIcon("tinker:tparts");
- for (int i = 0; i < achievementIcons.length; i++)
- {
- achievementIcons[i] = iconRegister.registerIcon("tinker:achievementIcons/" + (i < achievementIconNames.length ? achievementIconNames[i] : ""));
- }
- }
-
- @SideOnly(Side.CLIENT)
- public boolean requiresMultipleRenderPasses ()
- {
- return true;
- }
-
- @SideOnly(Side.CLIENT)
- public Icon getIconFromDamageForRenderPass (int par1, int par2)
- {
- if (par1 == 255)
- return itemIcon;
- if (par1 >= 4096)
- {
- return getIconFromDamage(par1);
- }
- return Item.monsterPlacer.getIconFromDamageForRenderPass(par1, par2);
- }
-
- @SideOnly(Side.CLIENT)
- public Icon getIconFromDamage (int par1)
- {
- if (par1 >= 4096)
- {
- int index = par1 - 4096;
- if (index < achievementIcons.length)
- {
- return achievementIcons[index];
- }
- }
- //Not returning null to prevent crashes
- return itemIcon;
- }
-
- @Override
- public String getItemDisplayName (ItemStack par1ItemStack)
- {
- String s = ("" + StatCollector.translateToLocal(this.getUnlocalizedName() + ".name")).trim();
- String s1 = mobNames[par1ItemStack.getItemDamage()];
-
- if (s1 != null)
- {
- s = s + " " + StatCollector.translateToLocal("entity." + s1 + ".name");
- }
-
- return s;
- }
-
- @Override
- public void getSubItems (int id, CreativeTabs tab, List list)
- {
- for (int i = 0; i < mobNames.length; i++)
- list.add(new ItemStack(id, 1, i));
- }
-
- @SideOnly(Side.CLIENT)
- public int getColorFromItemStack (ItemStack stack, int pass)
- {
- int damage = stack.getItemDamage();
- if (damage == 255)
- return 0xffffff;
- if (damage >= 4096)
- return 0xffffff;
- return pass == 0 ? primaryColor[damage] : secondaryColor[damage];
- }
-
- public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int posX, int posY, int posZ, int par7, float par8, float par9, float par10)
- {
- if (!world.isRemote)
- {
- int i1 = world.getBlockId(posX, posY, posZ);
- posX += Facing.offsetsXForSide[par7];
- posY += Facing.offsetsYForSide[par7];
- posZ += Facing.offsetsZForSide[par7];
- double d0 = 0.0D;
-
- if (par7 == 1 && Block.blocksList[i1] != null && Block.blocksList[i1].getRenderType() == 11)
- {
- d0 = 0.5D;
- }
-
- int damage = stack.getItemDamage();
- switch (damage)
- {
- case 0:
- spawnEntity(posX, posY, posZ, new BlueSlime(world), world, player);
- break;
- case 1:
- spawnBossSlime(posX, posY, posZ, new BlueSlime(world), world, player);
- break;
- }
- if (!player.capabilities.isCreativeMode)
- {
- --stack.stackSize;
- }
- }
- return true;
- }
-
- public static EntityLiving activateSpawnEgg (ItemStack stack, World world, double posX, double posY, double posZ, int par7)
- {
- int i1 = world.getBlockId((int) posX, (int) posY, (int) posZ);
- posX += Facing.offsetsXForSide[par7];
- posY += Facing.offsetsYForSide[par7];
- posZ += Facing.offsetsZForSide[par7];
- double d0 = 0.0D;
-
- if (par7 == 1 && Block.blocksList[i1] != null && Block.blocksList[i1].getRenderType() == 11)
- {
- d0 = 0.5D;
- }
-
- int damage = stack.getItemDamage();
- EntityLiving entity = null;
- switch (damage)
- {
- case 0:
- entity = new BlueSlime(world);
- spawnEntity(posX, posY, posZ, entity, world);
- break;
- case 1:
- entity = new BlueSlime(world);
- spawnBossSlime(posX, posY, posZ, new BlueSlime(world), world);
- break;
- }
- return entity;
- }
-
- public static void spawnEntity (double x, double y, double z, Entity entity, World world)
- {
- if (!world.isRemote)
- {
- entity.setPosition(x, y, z);
- ((EntityLiving) entity).onSpawnWithEgg((EntityLivingData) null);
- world.spawnEntityInWorld(entity);
- }
- }
-
- public static void spawnEntity (double x, double y, double z, Entity entity, World world, EntityPlayer player)
- {
- if (!world.isRemote)
- {
- entity.setPosition(x, y, z);
- if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT)
- entity.setAngles(player.cameraYaw, player.cameraYaw);
- ((EntityLiving) entity).onSpawnWithEgg((EntityLivingData) null);
- world.spawnEntityInWorld(entity);
- }
- }
-
- public static void spawnBossSlime (double x, double y, double z, BlueSlime entity, World world, EntityPlayer player)
- {
- if (!world.isRemote)
- {
- entity.setPosition(x, y, z);
- entity.setSlimeSize(8);
- entity.func_110161_a((EntityLivingData) null);
- world.spawnEntityInWorld(entity);
- }
- }
-
- public static void spawnBossSlime (double x, double y, double z, BlueSlime entity, World world)
- {
- if (!world.isRemote)
- {
- entity.setPosition(x, y, z);
- entity.setSlimeSize(8);
- entity.func_110161_a((EntityLivingData) null);
- world.spawnEntityInWorld(entity);
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/ToolPart.java b/src/main/java/tconstruct/items/ToolPart.java
deleted file mode 100644
index 356651e8..00000000
--- a/src/main/java/tconstruct/items/ToolPart.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package tconstruct.items;
-
-import java.util.List;
-
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.StatCollector;
-import tconstruct.common.TContent;
-import tconstruct.library.util.IToolPart;
-
-public class ToolPart extends CraftingItem implements IToolPart
-{
- public String partName;
-
- public ToolPart(int id, String textureType, String name)
- {
- super(id, toolMaterialNames, buildTextureNames(textureType), "parts/");
- this.setHasSubtypes(true);
- this.setMaxDamage(0);
- this.partName = name;
- }
-
- @Override
- public String getItemDisplayName (ItemStack par1ItemStack)
- {
- String material = StatCollector.translateToLocal("parttype." + toolTextureNames[par1ItemStack.getItemDamage()]);
- String name = StatCollector.translateToLocal("toolpart." + partName);
- name = name.replaceAll("%%material", material);
-
- return name;
-
- /*StringBuilder builder = new StringBuilder();
- builder.append(StatCollector.translateToLocal("parttype." + toolTextureNames[par1ItemStack.getItemDamage()])).append(" ").append(StatCollector.translateToLocal("toolpart." + partName));
- return builder.toString();
- --
- String s = ("" + StatCollector.translateToLocal("toolpart."+partName)).trim();
- String s1 = toolMaterialNames[par1ItemStack.getItemDamage()];
-
- if (s1 != null)
- {
- s = s + " " + StatCollector.translateToLocal(s1);
- }
-
- return s;*/
- }
-
- private static String[] buildTextureNames (String textureType)
- {
- String[] names = new String[toolMaterialNames.length];
- for (int i = 0; i < toolMaterialNames.length; i++)
- {
- if (toolTextureNames[i].equals(""))
- names[i] = "";
- else
- names[i] = toolTextureNames[i] + textureType;
- }
- return names;
- }
-
- public static final String[] toolMaterialNames = new String[] { "Wood", "Stone", "Iron", "Flint", "Cactus", "Bone", "Obsidian", "Netherrack", "Slime", "Paper", "Cobalt", "Ardite", "Manyullyn",
- "Copper", "Bronze", "Alumite", "Steel", "Blue Slime", "Pig Iron", "", "", "", "", "", "", "", "", "", "", "", "", "Thaumium" };
-
- public static final String[] toolTextureNames = new String[] { "wood", "stone", "iron", "flint", "cactus", "bone", "obsidian", "netherrack", "slime", "paper", "cobalt", "ardite", "manyullyn",
- "copper", "bronze", "alumite", "steel", "blueslime", "pigiron", "", "", "", "", "", "", "", "", "", "", "", "", "thaumium" };
-
- @Override
- public void getSubItems (int id, CreativeTabs tab, List list)
- {
- for (int i = 0; i < 19; i++)
- list.add(new ItemStack(id, 1, i));
-
- if (TContent.thaumcraftAvailable)
- list.add(new ItemStack(id, 1, 31));
- }
-
- @Override
- public int getMaterialID (ItemStack stack)
- {
- return stack.getItemDamage();
- }
-}
diff --git a/src/main/java/tconstruct/items/ToolPartHidden.java b/src/main/java/tconstruct/items/ToolPartHidden.java
deleted file mode 100644
index 6ff3a1eb..00000000
--- a/src/main/java/tconstruct/items/ToolPartHidden.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package tconstruct.items;
-
-import java.util.List;
-
-import net.minecraft.creativetab.CreativeTabs;
-
-public class ToolPartHidden extends ToolPart
-{
-
- public ToolPartHidden(int id, String textureType, String name)
- {
- super(id, textureType, name);
- }
-
- public void getSubItems (int id, CreativeTabs tab, List list)
- {
-
- }
-}
diff --git a/src/main/java/tconstruct/items/ToolShard.java b/src/main/java/tconstruct/items/ToolShard.java
deleted file mode 100644
index d393c2e0..00000000
--- a/src/main/java/tconstruct/items/ToolShard.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package tconstruct.items;
-
-import java.util.List;
-
-import tconstruct.common.TContent;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class ToolShard extends ToolPart
-{
-
- public ToolShard(int id, String tex)
- {
- super(id, tex, "ToolShard");
- this.setHasSubtypes(true);
- this.setMaxDamage(0);
- }
-
- private static String[] buildTextureNames (String textureType)
- {
- String[] names = new String[toolMaterialNames.length];
- for (int i = 0; i < toolMaterialNames.length; i++)
- {
- if (!toolTextureNames[i].equals(""))
- names[i] = toolTextureNames[i] + textureType;
- }
- return names;
- }
-
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister iconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < 5; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:" + folder + textureNames[i]);
- }
- icons[5] = icons[4];
- for (int i = 6; i < 9; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:" + folder + textureNames[i]);
- }
- icons[9] = icons[8];
- for (int i = 10; i < icons.length; ++i)
- {
- if (!toolTextureNames[i].equals(""))
- this.icons[i] = iconRegister.registerIcon("tinker:" + folder + textureNames[i]);
- }
- }
-
- public void getSubItems (int id, CreativeTabs tab, List list)
- {
- for (int i = 1; i < 5; i++)
- list.add(new ItemStack(id, 1, i));
- for (int i = 6; i < 9; i++)
- list.add(new ItemStack(id, 1, i));
- for (int i = 10; i < 19; i++)
- list.add(new ItemStack(id, 1, i));
-
- if (TContent.thaumcraftAvailable)
- list.add(new ItemStack(id, 1, 31));
- }
-}
diff --git a/src/main/java/tconstruct/items/armor/ArmorBasic.java b/src/main/java/tconstruct/items/armor/ArmorBasic.java
deleted file mode 100644
index 05c3caf4..00000000
--- a/src/main/java/tconstruct/items/armor/ArmorBasic.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package tconstruct.items.armor;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.item.*;
-
-public class ArmorBasic extends ItemArmor
-{
-
- public String textureName;
-
- public ArmorBasic(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, String textureName)
- {
- super(par1, par2EnumArmorMaterial, 0, par3);
- this.textureName = textureName;
- }
-
- @Override
- public void registerIcons (IconRegister par1IconRegister)
- {
- this.itemIcon = par1IconRegister.registerIcon("tinker:armor/" + textureName + "_"
- + (this.armorType == 0 ? "helmet" : this.armorType == 1 ? "chestplate" : this.armorType == 2 ? "leggings" : this.armorType == 3 ? "boots" : "helmet"));
- }
-
- @Override
- public String getArmorTexture (ItemStack stack, Entity entity, int slot, int layer)
- {
- return "tinker:textures/armor/" + textureName + "_" + layer + ".png";
- }
-
-}
diff --git a/src/main/java/tconstruct/items/armor/ArmorStandard.java b/src/main/java/tconstruct/items/armor/ArmorStandard.java
deleted file mode 100644
index ed0cece1..00000000
--- a/src/main/java/tconstruct/items/armor/ArmorStandard.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package tconstruct.items.armor;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.item.ItemStack;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import tconstruct.library.armor.*;
-
-public class ArmorStandard extends ArmorCore
-{
-
- public ArmorStandard(int par1, int baseProtection, EnumArmorPart armorPart)
- {
- super(par1, baseProtection, armorPart);
- }
-
- @Override
- public void registerIcons (IconRegister par1IconRegister)
- {
- this.itemIcon = par1IconRegister.registerIcon("tinker:armor/wood_helmet");
- }
-
- @Override
- public String getArmorTexture (ItemStack stack, Entity entity, int slot, int layer)
- {
- return "tinker:textures/armor/wood_" + layer + ".png";
- }
-
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/items/armor/ExoArmor.java b/src/main/java/tconstruct/items/armor/ExoArmor.java
deleted file mode 100644
index 6f192759..00000000
--- a/src/main/java/tconstruct/items/armor/ExoArmor.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package tconstruct.items.armor;
-
-import java.util.List;
-import java.util.UUID;
-
-import com.google.common.collect.Multimap;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.SharedMonsterAttributes;
-import net.minecraft.entity.ai.attributes.AttributeModifier;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.*;
-import net.minecraft.util.DamageSource;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.armor.ArmorCore;
-import tconstruct.library.armor.EnumArmorPart;
-
-public class ExoArmor extends ArmorCore
-{
- String textureName;
- public ExoArmor(int id, EnumArmorPart part, String texture)
- {
- super(id, 0, part);
- this.textureName = texture;
- this.setCreativeTab(TConstructRegistry.materialTab);
- }
-
- @Override
- public void registerIcons (IconRegister par1IconRegister)
- {
- this.itemIcon = par1IconRegister.registerIcon("tinker:armor/" + textureName + "_"
- + (this.armorType == 0 ? "helmet" : this.armorType == 1 ? "chestplate" : this.armorType == 2 ? "leggings" : this.armorType == 3 ? "boots" : "helmet"));
- }
-
- @Override
- public String getArmorTexture (ItemStack stack, Entity entity, int slot, int layer)
- {
- return "tinker:textures/armor/" + textureName + "_" + layer + ".png";
- }
-
- @Override
- public void damageArmor (EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot)
- {
- //Deimplemented for now
- }
-
- @SideOnly(Side.CLIENT)
- public void getSubItems (int par1, CreativeTabs par2CreativeTabs, List par3List)
- {
- ItemStack armor = new ItemStack(par1, 1, 0);
- NBTTagCompound baseTag = new NBTTagCompound();
- NBTTagList list = new NBTTagList();
-
- NBTTagCompound armorTag = new NBTTagCompound();
- armorTag.setInteger("Modifiers", 30);
- baseTag.setTag(SET_NAME, armorTag);
-
- armor.setTagCompound(baseTag);
- par3List.add(armor);
- }
-
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- if (!stack.hasTagCompound())
- return;
-
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag(SET_NAME);
- double protection = tags.getDouble("protection");
- if (protection > 0)
- list.add("\u00a7aProtection: "+protection+"%");
-
- boolean displayToolTips = true;
- int tipNum = 0;
- while (displayToolTips)
- {
- tipNum++;
- String tooltip = "Tooltip" + tipNum;
- if (tags.hasKey(tooltip))
- {
- String tipName = tags.getString(tooltip);
- if (!tipName.equals(""))
- list.add(tipName);
- }
- else
- displayToolTips = false;
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/armor/Glove.java b/src/main/java/tconstruct/items/armor/Glove.java
deleted file mode 100644
index d7d873b5..00000000
--- a/src/main/java/tconstruct/items/armor/Glove.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package tconstruct.items.armor;
-
-import tconstruct.library.TConstructRegistry;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.item.Item;
-
-public class Glove extends Item
-{
- public Glove(int par1)
- {
- super(par1);
- this.setCreativeTab(TConstructRegistry.materialTab);
- }
-
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- itemIcon = iconRegister.registerIcon("tinker:armor/dirthand");
- }
-}
diff --git a/src/main/java/tconstruct/items/armor/HeartCanister.java b/src/main/java/tconstruct/items/armor/HeartCanister.java
deleted file mode 100644
index 13606f03..00000000
--- a/src/main/java/tconstruct/items/armor/HeartCanister.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package tconstruct.items.armor;
-
-import java.util.List;
-
-import tconstruct.TConstruct;
-import tconstruct.items.CraftingItem;
-import tconstruct.util.player.ArmorExtended;
-import tconstruct.util.player.TPlayerStats;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import net.minecraft.util.StatCollector;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class HeartCanister extends CraftingItem
-{
-
- public HeartCanister(int id)
- {
- super(id, new String[] { "empty", "miniheart.red", "heart" }, new String[] { "canister_empty", "miniheart_red", "canister_heart" }, "");
- this.setMaxStackSize(10);
- }
-
- @Override
- public ItemStack onItemRightClick (ItemStack stack, World world, EntityPlayer player)
- {
- if (!world.isRemote && stack.getItemDamage() == 2)
- {
- TPlayerStats stats = TConstruct.playerTracker.getPlayerStats(player.username);
- if (stats != null)
- {
- ArmorExtended armor = stats.armor;
- ItemStack slotStack = armor.getStackInSlot(6);
- if (slotStack == null)// || slotStack.getItem() == this)
- {
- armor.setInventorySlotContents(6, new ItemStack(this, 1, 2));
- stack.stackSize--;
- }
- else if (slotStack.getItem() == this && slotStack.stackSize < this.maxStackSize)
- {
- slotStack.stackSize++;
- stack.stackSize--;
- }
- armor.recalculateHealth(player, stats);
- }
- }
- return stack;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- switch (stack.getItemDamage())
- {
- case 0:
- list.add(StatCollector.translateToLocal("hearthcanister1.tooltip"));
- break;
- case 1:
- list.add(StatCollector.translateToLocal("hearthcanister2.tooltip"));
- list.add(StatCollector.translateToLocal("hearthcanister3.tooltip"));
- break;
- case 2:
- list.add(StatCollector.translateToLocal("hearthcanister4.tooltip"));
- list.add(StatCollector.translateToLocal("hearthcanister5.tooltip"));
- break;
- }
- }
-
-}
diff --git a/src/main/java/tconstruct/items/armor/Knapsack.java b/src/main/java/tconstruct/items/armor/Knapsack.java
deleted file mode 100644
index 03218861..00000000
--- a/src/main/java/tconstruct/items/armor/Knapsack.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package tconstruct.items.armor;
-
-import java.util.List;
-
-import tconstruct.items.CraftingItem;
-import net.minecraft.util.StatCollector;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Knapsack extends CraftingItem
-{
-
- public Knapsack(int id)
- {
- super(id, new String[] { "knapsack" }, new String[] { "knapsack" }, "armor/");
- this.setMaxStackSize(10);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- switch (stack.getItemDamage())
- {
- case 0:
- list.add(StatCollector.translateToLocal("knapsack.tooltip"));
- break;
- }
- }
-
-}
diff --git a/src/main/java/tconstruct/items/blocks/BarricadeItem.java b/src/main/java/tconstruct/items/blocks/BarricadeItem.java
deleted file mode 100644
index bdbb8cdc..00000000
--- a/src/main/java/tconstruct/items/blocks/BarricadeItem.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import net.minecraft.util.StatCollector;
-
-public class BarricadeItem extends ItemBlock
-{
- private int bID;
-
- public BarricadeItem(int id)
- {
- super(id);
- this.bID = id + 256;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- list.add(StatCollector.translateToLocal("barricade.tooltip"));
- }
-
- public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
- {
- int i1 = world.getBlockId(x, y, z);
-
- if (i1 == Block.snow.blockID && (world.getBlockMetadata(x, y, z) & 7) < 1)
- {
- side = 1;
- }
- else if (i1 != Block.vine.blockID && i1 != Block.tallGrass.blockID && i1 != Block.deadBush.blockID
- && (Block.blocksList[i1] == null || !Block.blocksList[i1].isBlockReplaceable(world, x, y, z)))
- {
- if (side == 0)
- {
- --y;
- }
-
- if (side == 1)
- {
- ++y;
- }
-
- if (side == 2)
- {
- --z;
- }
-
- if (side == 3)
- {
- ++z;
- }
-
- if (side == 4)
- {
- --x;
- }
-
- if (side == 5)
- {
- ++x;
- }
- }
-
- if (stack.stackSize == 0)
- {
- return false;
- }
- else if (!player.canPlayerEdit(x, y, z, side, stack))
- {
- return false;
- }
- else if (y == 255 && Block.blocksList[this.bID].blockMaterial.isSolid())
- {
- return false;
- }
- else if (world.canPlaceEntityOnSide(this.bID, x, y, z, false, side, player, stack))
- {
- Block block = Block.blocksList[this.bID];
- //int meta = this.getMetadata(stack.getItemDamage());
- int rotation = MathHelper.floor_double((double) (player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
- int meta = rotation * 4;
- int metadata = Block.blocksList[this.bID].onBlockPlaced(world, x, y, z, side, hitX, hitY, hitZ, meta);
-
- if (placeBlockAt(stack, player, world, x, y, z, side, hitX, hitY, hitZ, metadata))
- {
- world.playSoundEffect((double) ((float) x + 0.5F), (double) ((float) y + 0.5F), (double) ((float) z + 0.5F), block.stepSound.getPlaceSound(),
- (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F);
- --stack.stackSize;
- }
-
- return true;
- }
- else
- {
- return false;
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/CastingChannelItem.java b/src/main/java/tconstruct/items/blocks/CastingChannelItem.java
deleted file mode 100644
index 401beda2..00000000
--- a/src/main/java/tconstruct/items/blocks/CastingChannelItem.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-
-public class CastingChannelItem extends ItemBlock
-{
- public static final String blockType[] = { "Channel" };
-
- public CastingChannelItem(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("Smeltery.").append(blockType[pos]).toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/CraftedSoilItemBlock.java b/src/main/java/tconstruct/items/blocks/CraftedSoilItemBlock.java
deleted file mode 100644
index 2993737d..00000000
--- a/src/main/java/tconstruct/items/blocks/CraftedSoilItemBlock.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-
-public class CraftedSoilItemBlock extends ItemBlock
-{
- public static final String blockType[] = { "Slime", "Grout", "BlueSlime", "GraveyardSoil", "ConsecratedSoil", "blue", "dirt", "Grout" };
-
- public CraftedSoilItemBlock(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- if (pos <= 4)
- return (new StringBuilder()).append("CraftedSoil.").append(blockType[pos]).toString();
- return (new StringBuilder()).append("block.slime.soil.").append(blockType[pos]).toString();
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- switch (stack.getItemDamage())
- {
- case 3:
- list.add(StatCollector.translateToLocal("craftedsoil1.tooltip"));
- break;
- case 4:
- list.add(StatCollector.translateToLocal("craftedsoil2.tooltip"));
- break;
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/CraftingSlabItemBlock.java b/src/main/java/tconstruct/items/blocks/CraftingSlabItemBlock.java
deleted file mode 100644
index f4668fe7..00000000
--- a/src/main/java/tconstruct/items/blocks/CraftingSlabItemBlock.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package tconstruct.items.blocks;
-
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-
-public class CraftingSlabItemBlock extends ItemBlock
-{
- public static final String blockType[] = { "tile.CraftingStation", "Crafter", "Parts", "PatternShaper", "PatternChest", "tile.ToolForge" };
-
- public CraftingSlabItemBlock(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- @Override
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- if (pos == 0 || pos == 5)
- {
- return blockType[pos];
- }
- return (new StringBuilder()).append("ToolStation.").append(blockType[pos]).toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/GlassBlockItem.java b/src/main/java/tconstruct/items/blocks/GlassBlockItem.java
deleted file mode 100644
index 29546b1c..00000000
--- a/src/main/java/tconstruct/items/blocks/GlassBlockItem.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.MathHelper;
-
-public class GlassBlockItem extends ItemBlock
-{
- public static final String blockType[] = { "glass.pure" };//, "glass.soul", "glass.soul.pure" };
-
- public GlassBlockItem(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.").append(blockType[pos]).toString();
- }
-
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- if (stack.hasTagCompound() && stack.getItemDamage() == 0)
- {
- NBTTagCompound contentTags = stack.getTagCompound().getCompoundTag("Contents");
- if (contentTags != null)
- {
- ItemStack contents = ItemStack.loadItemStackFromNBT(contentTags);
- if (contents != null)
- {
- list.add("Inventory: " + contents.getDisplayName());
- list.add("Amount: " + contents.stackSize);
- }
- }
- NBTTagCompound camoTag = stack.getTagCompound().getCompoundTag("Camoflauge");
- if (camoTag != null)
- {
- ItemStack camo = ItemStack.loadItemStackFromNBT(camoTag);
- if (camo != null)
- list.add("Camoflauge: " + camo.getDisplayName());
- }
-
- if (stack.getTagCompound().hasKey("Placement"))
- {
- String string = getDirectionString(stack.getTagCompound().getByte("Placement"));
- list.add("Placement Direction: " + string);
- }
- }
- }
-
- String getDirectionString (byte key)
- {
- if (key == 0)
- return ("Up");
- if (key == 1)
- return ("Right");
- if (key == 2)
- return ("Down");
-
- return "Left";
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/GlassPaneItem.java b/src/main/java/tconstruct/items/blocks/GlassPaneItem.java
deleted file mode 100644
index 00edd252..00000000
--- a/src/main/java/tconstruct/items/blocks/GlassPaneItem.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package tconstruct.items.blocks;
-
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-
-public class GlassPaneItem extends ItemBlock
-{
- public static final String blockType[] = { "glass.pure", "glass.soul", "glass.soul.pure" };
-
- public GlassPaneItem(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.").append(blockType[pos]).append(".pane").toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/GravelOreItem.java b/src/main/java/tconstruct/items/blocks/GravelOreItem.java
deleted file mode 100644
index 2bca15db..00000000
--- a/src/main/java/tconstruct/items/blocks/GravelOreItem.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package tconstruct.items.blocks;
-
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-
-public class GravelOreItem extends ItemBlock
-{
- public static final String blockType[] = { "iron", "gold", "copper", "tin", "aluminum", "cobalt" };
-
- public GravelOreItem(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.ore.gravel.").append(blockType[pos]).toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/HamboneItemBlock.java b/src/main/java/tconstruct/items/blocks/HamboneItemBlock.java
deleted file mode 100644
index f74c00fa..00000000
--- a/src/main/java/tconstruct/items/blocks/HamboneItemBlock.java
+++ /dev/null
@@ -1,156 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.EnumAction;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemFood;
-import net.minecraft.item.ItemStack;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import net.minecraft.util.StatCollector;
-import cpw.mods.fml.common.Loader;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class HamboneItemBlock extends ItemBlock
-{
- public HamboneItemBlock(int id)
- {
- super(id);
- itemUseDuration = 32;
- if (Loader.isModLoaded("HungerOverhaul"))
- {
- healAmount = 8;
- saturationModifier = 0.8f;
- }
- else
- {
- healAmount = 20;
- saturationModifier = 3.0f;
- }
- isWolfsFavoriteMeat = true;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- list.add("\u00A74"+StatCollector.translateToLocal("hambone1.tooltip"));
- list.add(StatCollector.translateToLocal("hambone2.tooltip"));
- }
-
- /** Number of ticks to run while 'EnumAction'ing until result. */
- public final int itemUseDuration;
-
- /** The amount this food item heals the player. */
- private final int healAmount;
- private final float saturationModifier;
-
- /** Whether wolves like this food (true for raw and cooked porkchop). */
- private final boolean isWolfsFavoriteMeat;
-
- /**
- * If this field is true, the food can be consumed even if the player don't need to eat.
- */
- private boolean alwaysEdible;
-
- /**
- * represents the potion effect that will occurr upon eating this food. Set by setPotionEffect
- */
- private int potionId;
-
- /** set by setPotionEffect */
- private int potionDuration;
-
- /** set by setPotionEffect */
- private int potionAmplifier;
-
- /** probably of the set potion effect occurring */
- private float potionEffectProbability;
-
- /*public ItemFood(int par1, int par2, float par3, boolean par4)
- {
- super(par1);
- this.itemUseDuration = 32;
- this.healAmount = par2;
- this.isWolfsFavoriteMeat = par4;
- this.saturationModifier = par3;
- this.setCreativeTab(CreativeTabs.tabFood);
- }
-
- public ItemFood(int par1, int par2, boolean par3)
- {
- this(par1, par2, 0.6F, par3);
- }*/
-
- public ItemStack onEaten (ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
- {
- --par1ItemStack.stackSize;
- par3EntityPlayer.getFoodStats().addStats(getHealAmount(), getSaturationModifier());
- par2World.playSoundAtEntity(par3EntityPlayer, "random.burp", 0.5F, par2World.rand.nextFloat() * 0.1F + 0.9F);
- this.onFoodEaten(par1ItemStack, par2World, par3EntityPlayer);
- return par1ItemStack;
- }
-
- protected void onFoodEaten (ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
- {
- if (!par2World.isRemote && this.potionId > 0 && par2World.rand.nextFloat() < this.potionEffectProbability)
- {
- par3EntityPlayer.addPotionEffect(new PotionEffect(this.potionId, this.potionDuration * 20, this.potionAmplifier));
- }
- }
-
- /**
- * How long it takes to use or consume an item
- */
- public int getMaxItemUseDuration (ItemStack par1ItemStack)
- {
- return 32;
- }
-
- /**
- * returns the action that specifies what animation to play when the items is being used
- */
- public EnumAction getItemUseAction (ItemStack par1ItemStack)
- {
- return EnumAction.eat;
- }
-
- /**
- * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
- */
- public ItemStack onItemRightClick (ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
- {
- if (par3EntityPlayer.canEat(this.alwaysEdible))
- {
- par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack));
- }
-
- return par1ItemStack;
- }
-
- public int getHealAmount ()
- {
- return this.healAmount;
- }
-
- /**
- * gets the saturationModifier of the ItemFood
- */
- public float getSaturationModifier ()
- {
- return this.saturationModifier;
- }
-
- /**
- * Whether wolves like this food (true for raw and cooked porkchop).
- */
- public boolean isWolfsFavoriteMeat ()
- {
- return this.isWolfsFavoriteMeat;
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/ItemBlockLandmine.java b/src/main/java/tconstruct/items/blocks/ItemBlockLandmine.java
deleted file mode 100644
index 3c3e038d..00000000
--- a/src/main/java/tconstruct/items/blocks/ItemBlockLandmine.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import net.minecraft.util.StatCollector;
-import tconstruct.blocks.logic.TileEntityLandmine;
-import tconstruct.common.TContent;
-
-/**
- *
- * @author fuj1n
- *
- */
-public class ItemBlockLandmine extends ItemBlock
-{
-
- public ItemBlockLandmine(int par1)
- {
- super(par1);
- this.setHasSubtypes(true);
- }
-
- @Override
- public void addInformation (ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
- {
- String interaction = null;
-
- switch (par1ItemStack.getItemDamage())
- {
- case 0:
- interaction = StatCollector.translateToLocal("landmine1.tooltip");
- break;
- case 1:
- interaction = StatCollector.translateToLocal("landmine2.tooltip");
- break;
- case 2:
- interaction = StatCollector.translateToLocal("landmine3.tooltip");
- break;
- default:
- interaction = StatCollector.translateToLocal("landmine4.tooltip");
- break;
- }
-
- par3List.add(StatCollector.translateToLocal("landmine5.tooltip") + interaction);
- }
-
- @Override
- public int getMetadata (int par1)
- {
- return 0;
- }
-
- @Override
- public boolean placeBlockAt (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int metadata)
- {
- if (!world.setBlock(x, y, z, TContent.landmine.blockID, metadata, 3))
- {
- return false;
- }
-
- if (world.getBlockId(x, y, z) == TContent.landmine.blockID)
- {
- TContent.landmine.onBlockPlacedBy(world, x, y, z, player, stack);
-
- TileEntityLandmine te = (TileEntityLandmine) world.getBlockTileEntity(x, y, z);
- if (te == null)
- {
- te = (TileEntityLandmine) TContent.landmine.createTileEntity(world, metadata);
- }
-
- te.triggerType = stack.getItemDamage();
- world.setBlockTileEntity(x, y, z, te);
-
- TContent.landmine.onPostBlockPlaced(world, x, y, z, metadata);
- }
-
- return true;
- }
-
- public static Random getRandom ()
- {
- return itemRand;
- }
-
-}
diff --git a/src/main/java/tconstruct/items/blocks/LavaTankItemBlock.java b/src/main/java/tconstruct/items/blocks/LavaTankItemBlock.java
deleted file mode 100644
index f9e633b6..00000000
--- a/src/main/java/tconstruct/items/blocks/LavaTankItemBlock.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-
-public class LavaTankItemBlock extends ItemBlock
-{
- public static final String blockType[] = { "Tank", "Gague", "Window" };
-
- public LavaTankItemBlock(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("LavaTank.").append(blockType[pos]).toString();
- }
-
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- if (stack.hasTagCompound())
- {
- NBTTagCompound liquidTag = stack.getTagCompound().getCompoundTag("Fluid");
- if (liquidTag != null)
- {
- list.add(StatCollector.translateToLocal("searedtank1.tooltip") + " " + StatCollector.translateToLocal(liquidTag.getString("FluidName")));
- list.add(liquidTag.getInteger("Amount") + " mB");
- }
- }
- else
- {
- list.add(StatCollector.translateToLocal("searedtank2.tooltip"));
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/MetadataItemBlock.java b/src/main/java/tconstruct/items/blocks/MetadataItemBlock.java
deleted file mode 100644
index 5d5abc94..00000000
--- a/src/main/java/tconstruct/items/blocks/MetadataItemBlock.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package tconstruct.items.blocks;
-
-import net.minecraft.item.ItemBlock;
-
-public class MetadataItemBlock extends ItemBlock
-{
- public MetadataItemBlock(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/MetalItemBlock.java b/src/main/java/tconstruct/items/blocks/MetalItemBlock.java
deleted file mode 100644
index a6c25987..00000000
--- a/src/main/java/tconstruct/items/blocks/MetalItemBlock.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-
-public class MetalItemBlock extends ItemBlock
-{
- public static final String blockType[] = { "Cobalt", "Ardite", "Manyullyn", "Copper", "Bronze", "Tin", "Aluminum", "AlBrass", "Alumite", "Steel", "Ender" };
-
- public MetalItemBlock(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("StorageMetals.").append(blockType[pos]).toString();
- }
-
- @Override
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- list.add(StatCollector.translateToLocal("metalblock.tooltip"));
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/MetalOreItemBlock.java b/src/main/java/tconstruct/items/blocks/MetalOreItemBlock.java
deleted file mode 100644
index d6f172e5..00000000
--- a/src/main/java/tconstruct/items/blocks/MetalOreItemBlock.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.MathHelper;
-
-public class MetalOreItemBlock extends ItemBlock
-{
- public static final String blockType[] = { "NetherSlag", "Cobalt", "Ardite", "Copper", "Tin", "Aluminum", "Slag" };
-
- public MetalOreItemBlock(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("MetalOre.").append(blockType[pos]).toString();
- }
-
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- if (stack.hasTagCompound())
- {
- NBTTagCompound liquidTag = stack.getTagCompound().getCompoundTag("Liquid");
- if (liquidTag != null)
- {
- list.add("Contains " + liquidTag.getString("LiquidName"));
- list.add(liquidTag.getInteger("Amount") + " mB");
- }
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/MultiBrickFancyItem.java b/src/main/java/tconstruct/items/blocks/MultiBrickFancyItem.java
deleted file mode 100644
index 02a8099a..00000000
--- a/src/main/java/tconstruct/items/blocks/MultiBrickFancyItem.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class MultiBrickFancyItem extends ItemBlock
-{
- static String blockType[] = { "obsidian", "sandstone", "netherrack", "stone.refined", "iron", "gold", "lapis", "diamond", "redstone", "bone", "slime", "blueslime", "endstone", "obsidian.ingot",
- "stone", "stone.road" };
-
- public MultiBrickFancyItem(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.fancybrick.").append(blockType[pos]).toString();
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- switch (stack.getItemDamage())
- {
- case 5:
- case 6:
- list.add(StatCollector.translateToLocal("fancybrick1.tooltip"));
- break;
- case 7:
- list.add(StatCollector.translateToLocal("fancybrick2.tooltip"));
- break;
- case 8:
- list.add(StatCollector.translateToLocal("fancybrick3.tooltip"));
- list.add(StatCollector.translateToLocal("fancybrick4.tooltip"));
- break;
- case 10:
- case 11:
- list.add(StatCollector.translateToLocal("fancybrick5.tooltip"));
- break;
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/MultiBrickItem.java b/src/main/java/tconstruct/items/blocks/MultiBrickItem.java
deleted file mode 100644
index 5d9f7ae8..00000000
--- a/src/main/java/tconstruct/items/blocks/MultiBrickItem.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class MultiBrickItem extends ItemBlock
-{
- static String blockType[] = { "obsidian", "sandstone", "netherrack", "stone.refined", "iron", "gold", "lapis", "diamond", "redstone", "bone", "slime", "blueslime", "endstone", "obsidian.ingot",
- "stone.road", "stone.refined.road" };
-
- public MultiBrickItem(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.brick.").append(blockType[pos]).toString();
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- switch (stack.getItemDamage())
- {
- case 5:
- case 6:
- list.add(StatCollector.translateToLocal("brick1.tooltip"));
- break;
- case 7:
- list.add(StatCollector.translateToLocal("brick2.tooltip"));
- break;
- case 8:
- list.add(StatCollector.translateToLocal("brick3.tooltip"));
- list.add(StatCollector.translateToLocal("brick4.tooltip"));
- break;
- case 10:
- case 11:
- list.add(StatCollector.translateToLocal("brick5.tooltip"));
- break;
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/OreberryBushItem.java b/src/main/java/tconstruct/items/blocks/OreberryBushItem.java
deleted file mode 100644
index 4c874192..00000000
--- a/src/main/java/tconstruct/items/blocks/OreberryBushItem.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import tconstruct.common.TContent;
-
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.common.IPlantable;
-import net.minecraft.util.StatCollector;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class OreberryBushItem extends ItemBlock
-{
- public int blockID;
-
- public OreberryBushItem(int id)
- {
- super(id);
- blockID = id + 256;
- setHasSubtypes(true);
- }
-
- @Override
- public int getMetadata (int meta)
- {
- return meta % 4;
- }
-
- /* Place bushes on dirt, grass, or other bushes only */
- @Override
- public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float par8, float par9, float par10)
- {
- if (side != 1)
- return false;
-
- else if (player.canPlayerEdit(x, y, z, side, stack) && player.canPlayerEdit(x, y + 1, z, side, stack))
- {
- Block block = Block.blocksList[world.getBlockId(x, y, z)];
-
- if (block != null && block.canSustainPlant(world, x, y, z, ForgeDirection.UP, (IPlantable) TContent.oreBerry) && world.isAirBlock(x, y + 1, z))
- {
- world.setBlock(x, y + 1, z, blockID, stack.getItemDamage() % 4, 3);
- if (!player.capabilities.isCreativeMode)
- stack.stackSize--;
- if (!world.isRemote)
- world.playAuxSFX(2001, x, y, z, blockID);
- return true;
- }
- else
- return false;
- }
- else
- return false;
- }
-
- /* Block name in inventory */
- @Override
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.oreberry.").append(blockType[pos]).toString();
- }
-
- public static final String blockType[] = { "iron", "gold", "copper", "tin", "iron", "gold", "copper", "tin", "iron", "gold", "copper", "tin", "iron", "gold", "copper", "tin" };
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- switch (stack.getItemDamage() % 4)
- {
- case 0:
- list.add(StatCollector.translateToLocal("oreberrybush1.tooltip"));
- break;
- case 1:
- list.add(StatCollector.translateToLocal("oreberrybush2.tooltip"));
- break;
- case 2:
- list.add(StatCollector.translateToLocal("oreberrybush3.tooltip"));
- break;
- case 3:
- list.add(StatCollector.translateToLocal("oreberrybush4.tooltip"));
- break;
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/OreberryBushSecondItem.java b/src/main/java/tconstruct/items/blocks/OreberryBushSecondItem.java
deleted file mode 100644
index 690bcb61..00000000
--- a/src/main/java/tconstruct/items/blocks/OreberryBushSecondItem.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import tconstruct.common.TContent;
-
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ForgeDirection;
-import net.minecraftforge.common.IPlantable;
-import net.minecraft.util.StatCollector;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class OreberryBushSecondItem extends ItemBlock
-{
- public int blockID;
-
- public OreberryBushSecondItem(int id)
- {
- super(id);
- blockID = id + 256;
- setHasSubtypes(true);
- }
-
- @Override
- public int getMetadata (int meta)
- {
- return meta % 4;
- }
-
- /* Place bushes on dirt, grass, or other bushes only */
- @Override
- public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
- {
- if (side != 1)
- return false;
-
- int meta = stack.getItemDamage();
- if (meta % 4 != 1 && world.getFullBlockLightValue(x, y + 1, z) >= 13)
- return false;
-
- else if (player.canPlayerEdit(x, y, z, side, stack) && player.canPlayerEdit(x, y + 1, z, side, stack))
- {
- Block block = Block.blocksList[world.getBlockId(x, y, z)];
-
- if (block != null && block.canSustainPlant(world, x, y, z, ForgeDirection.UP, (IPlantable) TContent.oreBerrySecond) && world.isAirBlock(x, y + 1, z))
- {
- world.setBlock(x, y + 1, z, blockID, stack.getItemDamage() % 4, 3);
- if (!player.capabilities.isCreativeMode)
- stack.stackSize--;
- if (!world.isRemote)
- world.playAuxSFX(2001, x, y, z, blockID);
- return true;
- }
- else
- return false;
- }
- else
- return false;
- }
-
- /* Block name in inventory */
- @Override
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.oreberry.").append(blockType[pos]).toString();
- }
-
- public static final String blockType[] = { "aluminum", "essence", "", "", "aluminum", "essence", "", "", "aluminum", "essence", "", "", "aluminum", "essence", "", "" };
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- switch (stack.getItemDamage() % 4)
- {
- case 0:
- list.add(StatCollector.translateToLocal("oreberrybush5.tooltip"));
- break;
- case 1:
- list.add(StatCollector.translateToLocal("oreberrybush6.tooltip"));
- break;
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/SearedSlabItem.java b/src/main/java/tconstruct/items/blocks/SearedSlabItem.java
deleted file mode 100644
index 00627dcd..00000000
--- a/src/main/java/tconstruct/items/blocks/SearedSlabItem.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package tconstruct.items.blocks;
-
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-
-public class SearedSlabItem extends ItemBlock
-{
- public static final String blockType[] = { "brick", "stone", "cobble", "paver", "road", "fancy", "square", "creeper" };
-
- public SearedSlabItem(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.searedstone.slab.").append(blockType[pos]).toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/SearedTableItemBlock.java b/src/main/java/tconstruct/items/blocks/SearedTableItemBlock.java
deleted file mode 100644
index 357ddef0..00000000
--- a/src/main/java/tconstruct/items/blocks/SearedTableItemBlock.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package tconstruct.items.blocks;
-
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-
-public class SearedTableItemBlock extends ItemBlock
-{
- public static final String blockType[] = { "Table", "Faucet", "Basin" };
-
- public SearedTableItemBlock(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("SearedBlock.").append(blockType[pos]).toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/SlimeGelItemBlock.java b/src/main/java/tconstruct/items/blocks/SlimeGelItemBlock.java
deleted file mode 100644
index 9434b93f..00000000
--- a/src/main/java/tconstruct/items/blocks/SlimeGelItemBlock.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-
-public class SlimeGelItemBlock extends ItemBlock
-{
- public static final String blockType[] = { "blue", "green", "purple", "magma", "yellow", "red", "metal" };
-
- public SlimeGelItemBlock(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.slime.congealed.").append(blockType[pos]).toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/SlimeGrassItemBlock.java b/src/main/java/tconstruct/items/blocks/SlimeGrassItemBlock.java
deleted file mode 100644
index 79285889..00000000
--- a/src/main/java/tconstruct/items/blocks/SlimeGrassItemBlock.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-
-public class SlimeGrassItemBlock extends ItemBlock
-{
- public static final String blockType[] = { "blue", "dirt" };
-
- public SlimeGrassItemBlock(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.slime.grass.").append(blockType[pos]).toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/SlimeLeavesItemBlock.java b/src/main/java/tconstruct/items/blocks/SlimeLeavesItemBlock.java
deleted file mode 100644
index 296124c0..00000000
--- a/src/main/java/tconstruct/items/blocks/SlimeLeavesItemBlock.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-
-public class SlimeLeavesItemBlock extends ItemBlock
-{
- public static final String blockType[] = { "blue" };
-
- public SlimeLeavesItemBlock(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.slime.leaves.").append(blockType[pos]).toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/SlimeSaplingItemBlock.java b/src/main/java/tconstruct/items/blocks/SlimeSaplingItemBlock.java
deleted file mode 100644
index 484b0c09..00000000
--- a/src/main/java/tconstruct/items/blocks/SlimeSaplingItemBlock.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-
-public class SlimeSaplingItemBlock extends ItemBlock
-{
- public static final String blockType[] = { "bluegreen" };
-
- public SlimeSaplingItemBlock(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.slime.sapling.").append(blockType[pos]).toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/SlimeTallGrassItem.java b/src/main/java/tconstruct/items/blocks/SlimeTallGrassItem.java
deleted file mode 100644
index f0c36293..00000000
--- a/src/main/java/tconstruct/items/blocks/SlimeTallGrassItem.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package tconstruct.items.blocks;
-
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-import tconstruct.common.TContent;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SlimeTallGrassItem extends ItemBlock
-{
- public static final String blockType[] = { "tallgrass", "tallgrass.fern" };
-
- public SlimeTallGrassItem(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- @SideOnly(Side.CLIENT)
- public Icon getIconFromDamage (int meta)
- {
- int arr = MathHelper.clamp_int(meta, 0, blockType.length);
- return TContent.slimeTallGrass.getIcon(0, arr);
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.slime.").append(blockType[pos]).toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/SmelteryItemBlock.java b/src/main/java/tconstruct/items/blocks/SmelteryItemBlock.java
deleted file mode 100644
index ef8bda2b..00000000
--- a/src/main/java/tconstruct/items/blocks/SmelteryItemBlock.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-
-public class SmelteryItemBlock extends ItemBlock
-{
- public static final String blockType[] = { "Controller", "Drain", "Brick", "Furnace", "Stone", "Cobblestone", "Paver", "Brick.Cracked", "Road", "Brick.Fancy", "Brick.Square" };
-
- public SmelteryItemBlock(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("Smeltery.").append(blockType[pos]).toString();
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- switch (stack.getItemDamage())
- {
- case 0:
- list.add(StatCollector.translateToLocal("smeltery.controller.tooltip"));
- break;
- case 1:
- list.add(StatCollector.translateToLocal("smeltery.drain.tooltip1"));
- list.add(StatCollector.translateToLocal("smeltery.drain.tooltip2"));
- break;
- case 3:
- list.add(StatCollector.translateToLocal("smeltery.furnace.tooltip"));
- break;
- default:
- list.add(StatCollector.translateToLocal("smeltery.brick.tooltip1"));
- list.add(StatCollector.translateToLocal("smeltery.brick.tooltip2"));
- break;
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/SoilSlabItem.java b/src/main/java/tconstruct/items/blocks/SoilSlabItem.java
deleted file mode 100644
index 92f3e3d0..00000000
--- a/src/main/java/tconstruct/items/blocks/SoilSlabItem.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class SoilSlabItem extends ItemBlock
-{
- public static final String blockType[] = { "grass", "dirt", "mycelium", "slime", "grout", "blueslime", "graveyardsoil", "consecratedsoil" };
-
- public SoilSlabItem(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.soil.slab.").append(blockType[pos]).toString();
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- switch (stack.getItemDamage())
- {
- case 3:
- list.add(StatCollector.translateToLocal("craftedsoil.slab1.tooltip"));
- break;
- case 4:
- list.add(StatCollector.translateToLocal("craftedsoil.slab2.tooltip"));
- break;
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/SpeedBlockItem.java b/src/main/java/tconstruct/items/blocks/SpeedBlockItem.java
deleted file mode 100644
index 28cb1016..00000000
--- a/src/main/java/tconstruct/items/blocks/SpeedBlockItem.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-
-public class SpeedBlockItem extends ItemBlock
-{
- public static final String blockType[] = { "brownstone.rough", "brownstone.rough.road", "brownstone.smooth", "brownstone.smooth.brick", "brownstone.smooth.road", "brownstone.smooth.fancy",
- "brownstone.smooth.chiseled" };
-
- public SpeedBlockItem(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.").append(blockType[pos]).toString();
- }
-
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- int metadata = stack.getItemDamage();
- if (metadata == 1 || metadata == 4)
- list.add(StatCollector.translateToLocal("speedblock1.tooltip"));
- else
- list.add(StatCollector.translateToLocal("speedblock2.tooltip"));
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/SpeedSlabItem.java b/src/main/java/tconstruct/items/blocks/SpeedSlabItem.java
deleted file mode 100644
index 66f53370..00000000
--- a/src/main/java/tconstruct/items/blocks/SpeedSlabItem.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package tconstruct.items.blocks;
-
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.StatCollector;
-
-public class SpeedSlabItem extends ItemBlock
-{
- public static final String blockType[] = { "brownstone.rough", "brownstone.rough.road", "brownstone.smooth", "brownstone.smooth.brick", "brownstone.smooth.road", "brownstone.smooth.fancy",
- "brownstone.smooth.chiseled" };
-
- public SpeedSlabItem(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.").append(blockType[pos]).append(".slab").toString();
- }
-
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- int metadata = stack.getItemDamage() % 8;
- if (metadata == 1 || metadata == 4)
- list.add(StatCollector.translateToLocal("speedblock.slab1.tooltip"));
- else
- list.add(StatCollector.translateToLocal("speedblock.slab2.tooltip"));
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/StainedGlassClearItem.java b/src/main/java/tconstruct/items/blocks/StainedGlassClearItem.java
deleted file mode 100644
index 237c10ec..00000000
--- a/src/main/java/tconstruct/items/blocks/StainedGlassClearItem.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package tconstruct.items.blocks;
-
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-
-public class StainedGlassClearItem extends ItemBlock
-{
- public static final String blockType[] = { "white", "orange", "magenta", "lightblue", "yellow", "lime", "pink", "gray", "lightgray", "cyan", "purple", "blue", "brown", "green", "red", "black" };
-
- public StainedGlassClearItem(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.stainedglass.").append(blockType[pos]).toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/StainedGlassClearPaneItem.java b/src/main/java/tconstruct/items/blocks/StainedGlassClearPaneItem.java
deleted file mode 100644
index 1e564beb..00000000
--- a/src/main/java/tconstruct/items/blocks/StainedGlassClearPaneItem.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package tconstruct.items.blocks;
-
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-
-public class StainedGlassClearPaneItem extends ItemBlock
-{
- public static final String blockType[] = { "white", "orange", "magenta", "lightblue", "yellow", "lime", "pink", "gray", "lightgray", "cyan", "purple", "blue", "brown", "green", "red", "black" };
-
- public StainedGlassClearPaneItem(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("block.stainedglass.").append(blockType[pos]).append(".pane").toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/ToolStationItemBlock.java b/src/main/java/tconstruct/items/blocks/ToolStationItemBlock.java
deleted file mode 100644
index 67429605..00000000
--- a/src/main/java/tconstruct/items/blocks/ToolStationItemBlock.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package tconstruct.items.blocks;
-
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-
-public class ToolStationItemBlock extends ItemBlock
-{
- public static final String blockType[] = { "Crafter", "Parts", "Parts", "Parts", "Parts", "PatternChest", "PatternChest", "PatternChest", "PatternChest", "PatternChest", "PatternShaper",
- "PatternShaper", "PatternShaper", "PatternShaper", "CastingTable" };
-
- public ToolStationItemBlock(int id)
- {
- super(id);
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- @Override
- public String getUnlocalizedName (ItemStack itemstack)
- {
- int pos = MathHelper.clamp_int(itemstack.getItemDamage(), 0, blockType.length - 1);
- return (new StringBuilder()).append("ToolStation.").append(blockType[pos]).toString();
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/WoolSlab1Item.java b/src/main/java/tconstruct/items/blocks/WoolSlab1Item.java
deleted file mode 100644
index 90beea27..00000000
--- a/src/main/java/tconstruct/items/blocks/WoolSlab1Item.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package tconstruct.items.blocks;
-
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemDye;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-
-public class WoolSlab1Item extends ItemBlock
-{
- int blockID;
- Block block;
-
- public WoolSlab1Item(int id)
- {
- super(id);
- this.blockID = id + 256;
- this.block = Block.blocksList[id + 256];
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack par1ItemStack)
- {
- int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, 7);
- return super.getUnlocalizedName() + "." + ItemDye.dyeColorNames[15 - i] + ".slab";
- }
-
- @Override
- public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
- {
- int id = world.getBlockId(x, y, z);
- int meta = world.getBlockMetadata(x, y, z);
- int trueMeta = meta % 8;
- boolean flag = (id & 8) != 0;
-
- if ((side == 1 && flag || side == 0 && !flag) && id == this.blockID && trueMeta == stack.getItemDamage())
- {
- if (world.setBlock(x, y, z, Block.cloth.blockID, trueMeta, 3))
- {
- world.playSoundEffect((double) ((float) x + 0.5F), (double) ((float) y + 0.5F), (double) ((float) z + 0.5F), this.block.stepSound.getPlaceSound(),
- (this.block.stepSound.getVolume() + 1.0F) / 2.0F, this.block.stepSound.getPitch() * 0.8F);
- --stack.stackSize;
- return true;
- }
- }
- return super.onItemUse(stack, player, world, x, y, z, side, hitX, hitY, hitZ);
- }
-}
diff --git a/src/main/java/tconstruct/items/blocks/WoolSlab2Item.java b/src/main/java/tconstruct/items/blocks/WoolSlab2Item.java
deleted file mode 100644
index 5457ecb0..00000000
--- a/src/main/java/tconstruct/items/blocks/WoolSlab2Item.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package tconstruct.items.blocks;
-
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.*;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-
-public class WoolSlab2Item extends ItemBlock
-{
- int blockID;
- Block block;
-
- public WoolSlab2Item(int id)
- {
- super(id);
- this.blockID = id + 256;
- this.block = Block.blocksList[id + 256];
- setMaxDamage(0);
- setHasSubtypes(true);
- }
-
- public int getMetadata (int meta)
- {
- return meta;
- }
-
- public String getUnlocalizedName (ItemStack par1ItemStack)
- {
- int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, 7);
- return super.getUnlocalizedName() + "." + ItemDye.dyeColorNames[7 - i] + ".slab";
- }
-
- @Override
- public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
- {
- int id = world.getBlockId(x, y, z);
- int meta = world.getBlockMetadata(x, y, z);
- int trueMeta = meta % 8;
- boolean flag = (id & 8) != 0;
-
- if ((side == 1 && flag || side == 0 && !flag) && id == this.blockID && trueMeta == stack.getItemDamage())
- {
- if (world.setBlock(x, y, z, Block.cloth.blockID, trueMeta + 8, 3))
- {
- world.playSoundEffect((double) ((float) x + 0.5F), (double) ((float) y + 0.5F), (double) ((float) z + 0.5F), this.block.stepSound.getPlaceSound(),
- (this.block.stepSound.getVolume() + 1.0F) / 2.0F, this.block.stepSound.getPitch() * 0.8F);
- --stack.stackSize;
- return true;
- }
- }
- return super.onItemUse(stack, player, world, x, y, z, side, hitX, hitY, hitZ);
- }
-}
diff --git a/src/main/java/tconstruct/items/tools/Arrow.java b/src/main/java/tconstruct/items/tools/Arrow.java
deleted file mode 100644
index 2e11c0b2..00000000
--- a/src/main/java/tconstruct/items/tools/Arrow.java
+++ /dev/null
@@ -1,251 +0,0 @@
-package tconstruct.items.tools;
-
-import java.util.List;
-
-import tconstruct.TConstruct;
-import tconstruct.common.TContent;
-import tconstruct.library.crafting.ToolBuilder;
-import tconstruct.library.tools.ToolCore;
-
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Arrow extends ToolCore
-{
-
- public Arrow(int id)
- {
- super(id, 3);
- this.setUnlocalizedName("InfiTool.Arrow");
- this.setMaxStackSize(64);
- this.setMaxDamage(0);
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_arrow_head";
- case 1:
- return ""; //Doesn't break
- case 2:
- return "_arrow_shaft";
- case 3:
- return "_arrow_fletching";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_arrow_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "arrow";
- }
-
- @Override
- public void registerPartPaths (int index, String[] location)
- {
- headStrings.put(index, location[0]);
- handleStrings.put(index, location[2]);
- }
-
- @Override
- public void registerAlternatePartPaths (int index, String[] location)
- {
- accessoryStrings.put(index, location[3]);
- }
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.arrowhead;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.fletching;
- }
-
- @Override
- public String[] toolCategories ()
- {
- return new String[] { "ammo" };
- }
-
- @Override
- public float getDamageModifier ()
- {
- return 0.5f;
- }
-
- @Override
- public void getSubItems (int id, CreativeTabs tab, List list)
- {
- //Vanilla style arrow
- Item accessory = getAccessoryItem();
- ItemStack accessoryStack = accessory != null ? new ItemStack(getAccessoryItem(), 1, 0) : null;
- Item extra = getExtraItem();
- ItemStack extraStack = extra != null ? new ItemStack(extra, 1, 0) : null;
- ItemStack tool = ToolBuilder.instance.buildTool(new ItemStack(getHeadItem(), 1, 3), new ItemStack(getHandleItem(), 1, 0), accessoryStack, extraStack, "");
- if (tool == null)
- {
- if (!TContent.supressMissingToolLogs)
- {
- TConstruct.logger.warning("Creative builder failed tool for Vanilla style" + this.getToolName());
- TConstruct.logger.warning("Make sure you do not have item ID conflicts");
- }
- }
- else
- {
- tool.stackSize = 1;
- tool.getTagCompound().getCompoundTag("InfiTool").setBoolean("Built", true);
- list.add(tool);
- }
-
- //Random arrow
- accessory = getAccessoryItem();
- accessoryStack = accessory != null ? new ItemStack(getAccessoryItem(), 1, random.nextInt(4)) : null;
- extra = getExtraItem();
- extraStack = extra != null ? new ItemStack(extra, 1, 0) : null;
- tool = ToolBuilder.instance
- .buildTool(new ItemStack(getHeadItem(), 1, random.nextInt(18)), new ItemStack(getHandleItem(), 1, random.nextInt(18)), accessoryStack, extraStack, "Random Streamer");
-
- if (tool == null)
- {
- if (!TContent.supressMissingToolLogs)
- {
- TConstruct.logger.warning("Creative builder failed tool for Vanilla style" + this.getToolName());
- TConstruct.logger.warning("Make sure you do not have item ID conflicts");
- }
- }
- else
- {
- tool.stackSize = 1;
- tool.getTagCompound().getCompoundTag("InfiTool").setBoolean("Built", true);
- list.add(tool);
- }
- super.getSubItems(id, tab, list);
- }
-
- @Override
- public void buildTool (int id, String name, List list)
- {
- Item accessory = getAccessoryItem();
- ItemStack accessoryStack = accessory != null ? new ItemStack(getAccessoryItem(), 1, 0) : null;
- Item extra = getExtraItem();
- ItemStack extraStack = extra != null ? new ItemStack(getExtraItem(), 1, id) : null;
- ItemStack tool = ToolBuilder.instance.buildTool(new ItemStack(getHeadItem(), 1, id), new ItemStack(getHandleItem(), 1, id), accessoryStack, extraStack, name + getToolName());
- if (tool == null)
- {
- if (!TContent.supressMissingToolLogs)
- {
- TConstruct.logger.warning("Creative builder failed tool for " + name + this.getToolName());
- TConstruct.logger.warning("Make sure you do not have item ID conflicts");
- }
- }
- else
- {
- tool.stackSize = 1;
- tool.getTagCompound().getCompoundTag("InfiTool").setBoolean("Built", true);
- list.add(tool);
- }
- }
-
- public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float clickX, float clickY, float clickZ)
- {
- return false;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- if (!stack.hasTagCompound())
- return;
-
- NBTTagCompound tags = stack.getTagCompound();
- if (tags.hasKey("charge"))
- {
- String color = "";
- //double joules = this.getJoules(stack);
- int power = tags.getInteger("charge");
-
- if (power != 0)
- {
- if (power <= this.getMaxCharge(stack) / 3)
- color = "\u00a74";
- else if (power > this.getMaxCharge(stack) * 2 / 3)
- color = "\u00a72";
- else
- color = "\u00a76";
- }
-
- String charge = new StringBuilder().append(color).append(tags.getInteger("charge")).append("/").append(getMaxCharge(stack)).append(" EU").toString();
- list.add(charge);
- }
- if (tags.hasKey("InfiTool"))
- {
- boolean broken = tags.getCompoundTag("InfiTool").getBoolean("Broken");
- if (broken)
- list.add("\u00A7oBroken");
- else
- {
- int head = tags.getCompoundTag("InfiTool").getInteger("Head");
- int handle = tags.getCompoundTag("InfiTool").getInteger("Handle");
-
- String headName = getAbilityNameForType(head);
- if (!headName.equals(""))
- list.add(getStyleForType(head) + headName);
-
- String handleName = getAbilityNameForType(handle);
- if (!handleName.equals("") && handle != head)
- list.add(getStyleForType(handle) + handleName);
-
- boolean displayToolTips = true;
- int tipNum = 0;
- while (displayToolTips)
- {
- tipNum++;
- String tooltip = "Tooltip" + tipNum;
- if (tags.getCompoundTag("InfiTool").hasKey(tooltip))
- {
- String tipName = tags.getCompoundTag("InfiTool").getString(tooltip);
- if (!tipName.equals(""))
- list.add(tipName);
- }
- else
- displayToolTips = false;
- }
- }
- }
- }
-
- //1.6.4
- @Override
- public boolean isOffhandHandDual(ItemStack off)
- {
- return false;
- }
-
- //1.6.2
- @Override
- public boolean isOffhandHandDualWeapon() {
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/items/tools/BattleSign.java b/src/main/java/tconstruct/items/tools/BattleSign.java
deleted file mode 100644
index 5dc71435..00000000
--- a/src/main/java/tconstruct/items/tools/BattleSign.java
+++ /dev/null
@@ -1,159 +0,0 @@
-package tconstruct.items.tools;
-
-import tconstruct.common.TContent;
-import tconstruct.library.tools.Weapon;
-import net.minecraft.item.Item;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class BattleSign extends Weapon
-{
- public BattleSign(int itemID)
- {
- super(itemID, 1);
- this.setUnlocalizedName("InfiTool.Battlesign");
- }
-
- /*public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
- {
- if (!player.isSneaking())
- player.setItemInUse(stack, this.getMaxItemUseDuration(stack));
- return stack;
- }*/
-
- public String getToolName ()
- {
- return "Battlesign";
- }
-
- /*public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer player, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)
- {
- if (par7 == 0 || !player.isSneaking())
- {
- return false;
- }
- else if (!par3World.getBlockMaterial(par4, par5, par6).isSolid())
- {
- return false;
- }
- else
- {
- if (par7 == 1)
- {
- ++par5;
- }
-
- if (par7 == 2)
- {
- --par6;
- }
-
- if (par7 == 3)
- {
- ++par6;
- }
-
- if (par7 == 4)
- {
- --par4;
- }
-
- if (par7 == 5)
- {
- ++par4;
- }
-
- if (!player.canPlayerEdit(par4, par5, par6, par7, par1ItemStack))
- {
- return false;
- }
- else if (!Block.signPost.canPlaceBlockAt(par3World, par4, par5, par6))
- {
- return false;
- }
- else
- {
- if (par7 == 1)
- {
- int var11 = MathHelper.floor_double((double)((player.rotationYaw + 180.0F) * 16.0F / 360.0F) + 0.5D) & 15;
- par3World.setBlock(par4, par5, par6, Block.signPost.blockID, var11);
- }
- else
- {
- par3World.setBlock(par4, par5, par6, Block.signWall.blockID, par7);
- }
-
- //--par1ItemStack.stackSize;
- TileEntitySign var12 = (TileEntitySign)par3World.getBlockTileEntity(par4, par5, par6);
-
- if (var12 != null)
- {
- player.displayGUIEditSign(var12);
- }
-
- return true;
- }
- }
- }*/
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.signHead;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return null;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public int getRenderPasses (int metadata)
- {
- return 8;
- }
-
- @Override
- public int getPartAmount ()
- {
- return 2;
- }
-
- @Override
- public void registerPartPaths (int index, String[] location)
- {
- headStrings.put(index, location[0]);
- brokenPartStrings.put(index, location[1]);
- handleStrings.put(index, location[2]);
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_battlesign_head";
- case 1:
- return "_battlesign_head_broken";
- case 2:
- return "_battlesign_handle";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_battlesign_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "battlesign";
- }
-}
diff --git a/src/main/java/tconstruct/items/tools/Battleaxe.java b/src/main/java/tconstruct/items/tools/Battleaxe.java
deleted file mode 100644
index 28f4702d..00000000
--- a/src/main/java/tconstruct/items/tools/Battleaxe.java
+++ /dev/null
@@ -1,345 +0,0 @@
-package tconstruct.items.tools;
-
-import tconstruct.common.TContent;
-import tconstruct.library.ActiveToolMod;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.tools.AbilityHelper;
-import tconstruct.library.tools.HarvestTool;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.entity.EntityPlayerSP;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.EnumAction;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import net.minecraftforge.common.MinecraftForge;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Battleaxe extends HarvestTool
-{
- public Battleaxe(int itemID)
- {
- super(itemID, 4);
- this.setUnlocalizedName("InfiTool.Battleaxe");
- }
-
- @Override
- protected Material[] getEffectiveMaterials ()
- {
- return materials;
- }
-
- @Override
- protected String getHarvestType ()
- {
- return "axe";
- }
-
- @Override
- public boolean onBlockDestroyed (ItemStack itemstack, World world, int bID, int x, int y, int z, EntityLivingBase player)
- {
- Block block = Block.blocksList[bID];
- if (block != null && block.blockMaterial == Material.leaves)
- return false;
-
- return AbilityHelper.onBlockChanged(itemstack, world, bID, x, y, z, player, random);
- }
-
- static Material[] materials = { Material.wood, Material.vine, Material.circuits, Material.cactus, Material.pumpkin };
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.broadAxeHead;
- }
-
- @Override
- public Item getHandleItem ()
- {
- return TContent.toughRod;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.broadAxeHead;
- }
-
- @Override
- public Item getExtraItem ()
- {
- return TContent.toughBinding;
- }
-
- @Override
- public int durabilityTypeAccessory ()
- {
- return 2;
- }
-
- @Override
- public int durabilityTypeExtra ()
- {
- return 1;
- }
-
- @Override
- public float getRepairCost ()
- {
- return 4.0f;
- }
-
- public float getDurabilityModifier ()
- {
- return 2.5f;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public int getRenderPasses (int metadata)
- {
- return 10;
- }
-
- @Override
- public int getPartAmount ()
- {
- return 4;
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_battleaxe_fronthead";
- case 1:
- return "_battleaxe_fronthead_broken";
- case 2:
- return "_battleaxe_handle";
- case 3:
- return "_battleaxe_backhead";
- case 4:
- return "_battleaxe_binding";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_battleaxe_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "battleaxe";
- }
-
- @Override
- public String[] toolCategories ()
- {
- return new String[] { "weapon", "harvest", "melee", "slicing" };
- }
-
- /* Battleaxe Specific */
-
- @Override
- public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float clickX, float clickY, float clickZ)
- {
- return false;
- }
-
- @Override
- public EnumAction getItemUseAction (ItemStack par1ItemStack)
- {
- return EnumAction.bow;
- }
-
- @Override
- public ItemStack onItemRightClick (ItemStack stack, World world, EntityPlayer player)
- {
- //player.rotationYaw += 1;
- //if (player.onGround)
- //{
- player.setItemInUse(stack, this.getMaxItemUseDuration(stack));
- //}
- return stack;
- }
-
- @Override
- public void onPlayerStoppedUsing (ItemStack stack, World world, EntityPlayer player, int useCount)
- {
- //if (player.onGround)
- {
- int time = this.getMaxItemUseDuration(stack) - useCount;
- int boost = time / 100;
- if (boost > 2)
- boost = 2;
- player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, time * 4, boost));
- player.addPotionEffect(new PotionEffect(Potion.jump.id, time * 4, boost));
- player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, time * 4, 0));
- player.addPotionEffect(new PotionEffect(Potion.hunger.id, time * 2, 0));
- if (time > 5 && player.onGround)
- {
- player.addExhaustion(0.2F);
- player.setSprinting(true);
-
- float speed = 0.025F * time;
- if (speed > 0.925f)
- speed = 0.925f;
-
- float increase = (float) (0.02 * time + 0.2);
- if (increase > 0.56f)
- increase = 0.56f;
- player.motionY += increase;
-
- player.motionX = (double) (-MathHelper.sin(player.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(player.rotationPitch / 180.0F * (float) Math.PI) * speed);
- player.motionZ = (double) (MathHelper.cos(player.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(player.rotationPitch / 180.0F * (float) Math.PI) * speed);
- }
- }
- }
-
- public int getMaxItemUseDuration (ItemStack par1ItemStack)
- {
- return 72000;
- }
-
- @Override
- public boolean hitEntity (ItemStack stack, EntityLivingBase mob, EntityLivingBase player)
- {
- AbilityHelper.knockbackEntity(mob, 1.5f);
- return true;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void onUpdate (ItemStack stack, World world, Entity entity, int par4, boolean par5)
- {
- super.onUpdate(stack, world, entity, par4, par5);
- if (entity instanceof EntityPlayerSP)
- {
- EntityPlayerSP player = (EntityPlayerSP) entity;
- ItemStack usingItem = player.getItemInUse();
- if (usingItem != null && usingItem.getItem() == this)
- {
- player.movementInput.moveForward *= 5.0F;
- player.movementInput.moveStrafe *= 5.0F;
- }
- }
- }
-
- @Override
- public boolean onBlockStartBreak (ItemStack stack, int x, int y, int z, EntityPlayer player)
- {
- if (!stack.hasTagCompound())
- return false;
-
- World world = player.worldObj;
- final int woodID = world.getBlockId(x, y, z);
- final Block wood = Block.blocksList[woodID];
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- final int meta = world.getBlockMetadata(x, y, z);
- for (int yPos = y + 1; yPos < y + 9; yPos++)
- {
- int blockID = world.getBlockId(x, yPos, z);
- Block block = Block.blocksList[blockID];
- if (!(tags.getBoolean("Broken")) && block != null && block.blockMaterial == Material.wood)
- {
- int localblockID = world.getBlockId(x, yPos, z);
- int localMeta = world.getBlockMetadata(x, yPos, z);
- int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
-
- if (hlvl <= tags.getInteger("HarvestLevel"))
- {
- boolean cancelHarvest = false;
- for (ActiveToolMod mod : TConstructRegistry.activeModifiers)
- {
- if (mod.beforeBlockBreak(this, stack, x, yPos, z, player))
- cancelHarvest = true;
- }
-
- if (!cancelHarvest)
- {
- if (block != null && block.blockMaterial == Material.wood)
- {
- localMeta = world.getBlockMetadata(x, yPos, z);
- if (!player.capabilities.isCreativeMode)
- {
- if (block.removeBlockByPlayer(world, player, x, yPos, z))
- {
- block.onBlockDestroyedByPlayer(world, x, yPos, z, localMeta);
- }
- block.harvestBlock(world, player, x, yPos, z, localMeta);
- block.onBlockHarvested(world, x, yPos, z, localMeta, player);
- onBlockDestroyed(stack, world, localblockID, x, yPos, z, player);
- }
- else
- {
- world.setBlockToAir(x, yPos, z);
- }
- }
- }
- }
- }
- else
- break;
- }
- if (!world.isRemote)
- world.playAuxSFX(2001, x, y, z, woodID + (meta << 12));
- return super.onBlockStartBreak(stack, x, y, z, player);
- }
-
- //1.6.4 start
- @Override
- public boolean allowOffhand(ItemStack mainhand, ItemStack offhand)
- {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDual(ItemStack off)
- {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack(ItemStack item)
- {
- return true;
- }
- //1.6.4 end
-
- //1.6.2 start
- @Override
- public boolean willAllowOffhandWeapon() {
- return false;
- }
-
- @Override
- public boolean willAllowShield() {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDualWeapon() {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack() {
- return true;
- }
- //1.6.2 end
-}
diff --git a/src/main/java/tconstruct/items/tools/BowBase.java b/src/main/java/tconstruct/items/tools/BowBase.java
deleted file mode 100644
index 31b2d1d3..00000000
--- a/src/main/java/tconstruct/items/tools/BowBase.java
+++ /dev/null
@@ -1,786 +0,0 @@
-package tconstruct.items.tools;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import tconstruct.TConstruct;
-import tconstruct.common.TContent;
-import tconstruct.entity.projectile.ArrowEntity;
-import tconstruct.library.crafting.ToolBuilder;
-import tconstruct.library.tools.AbilityHelper;
-import tconstruct.library.tools.ToolCore;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.enchantment.Enchantment;
-import net.minecraft.enchantment.EnchantmentHelper;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.entity.projectile.EntityArrow;
-import net.minecraft.item.EnumAction;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.event.entity.player.ArrowLooseEvent;
-import net.minecraftforge.event.entity.player.ArrowNockEvent;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public abstract class BowBase extends ToolCore
-{
- public BowBase(int itemID)
- {
- super(itemID, 0);
- }
-
- public int durabilityTypeAccessory ()
- {
- return 2;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public int getRenderPasses (int metadata)
- {
- return 10;
- }
-
- /* Bow usage */
- public void onPlayerStoppedUsing (ItemStack stack, World world, EntityPlayer player, int useRemaining)
- {
- int time = this.getMaxItemUseDuration(stack) - useRemaining;
-
- ArrowLooseEvent event = new ArrowLooseEvent(player, stack, time);
- MinecraftForge.EVENT_BUS.post(event);
- if (event.isCanceled())
- {
- return;
- }
- time = event.charge;
-
- boolean creative = player.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0;
- int slotID = getInventorySlotContainItem(TContent.arrow.itemID, player.inventory);
- int arrowID = getInventorySlotContainItem(Item.arrow.itemID, player.inventory);
- int arrowState = 0;
- ItemStack tinkerArrow = null;
- if (slotID != -1)
- tinkerArrow = player.inventory.getStackInSlot(slotID);
-
- if (creative || tinkerArrow != null || arrowID != -1)
- {
- NBTTagCompound toolTag = stack.getTagCompound().getCompoundTag("InfiTool");
- float drawTime = toolTag.getInteger("DrawSpeed");
- float flightSpeed = toolTag.getFloat("FlightSpeed");
- float speedBase = (float) time / drawTime;
- speedBase = (speedBase * speedBase + speedBase * 2.0F) / 3.0F;
-
- if ((double) speedBase < 0.1D)
- {
- return;
- }
-
- if (speedBase > flightSpeed)
- {
- speedBase = flightSpeed;
- }
-
- EntityArrow arrowEntity = null;
- //if (tinkerArrow != null)
- if (slotID != -1 && (arrowID == -1 || slotID < arrowID))
- {
- ItemStack arrowStack = tinkerArrow.copy();
- arrowStack.stackSize = 1;
- arrowEntity = new ArrowEntity(world, player, speedBase * 2.0F, arrowStack);
- }
- else
- {
- arrowEntity = new EntityArrow(world, player, speedBase * 2.0F);
- }
-
- if (speedBase >= 1.0F)
- {
- arrowEntity.setIsCritical(true);
- }
-
- int var9 = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, stack);
-
- if (var9 > 0)
- {
- arrowEntity.setDamage(arrowEntity.getDamage() + (double) var9 * 0.5D + 0.5D);
- }
-
- int var10 = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, stack);
-
- if (slotID != -1 && (arrowID == -1 || slotID < arrowID))
- ((ArrowEntity) arrowEntity).setKnockbackModStrength(toolTag.getFloat("Knockback"));
- //var10 += toolTag.getFloat("Knockback");
-
- if (var10 > 0)
- {
- arrowEntity.setKnockbackStrength(var10);
- }
-
- if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, stack) > 0)
- {
- arrowEntity.setFire(100);
- }
-
- int reinforced = 0;
-
- if (toolTag.hasKey("Unbreaking"))
- reinforced = toolTag.getInteger("Unbreaking");
-
- if (random.nextInt(10) < 10 - reinforced)
- {
- AbilityHelper.damageTool(stack, 1, player, false);
- }
- world.playSoundAtEntity(player, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + speedBase * 0.5F);
-
- if (creative)
- {
- arrowEntity.canBePickedUp = 2;
- }
- else
- {
- //if (tinkerArrow != null)
- if (slotID != -1 && (arrowID == -1 || slotID < arrowID))
- {
- player.inventory.consumeInventoryItem(TContent.arrow.itemID);
- }
- else
- {
- player.inventory.consumeInventoryItem(Item.arrow.itemID);
- }
- }
-
- if (!world.isRemote)
- {
- world.spawnEntityInWorld(arrowEntity);
- }
- }
- }
-
- int getInventorySlotContainItem (int itemID, InventoryPlayer inventory)
- {
- for (int j = 0; j < inventory.mainInventory.length; ++j)
- {
- if (inventory.mainInventory[j] != null && inventory.mainInventory[j].itemID == itemID)
- {
- return j;
- }
- }
-
- return -1;
- }
-
- public ItemStack onFoodEaten (ItemStack stack, World par2World, EntityPlayer par3EntityPlayer)
- {
- return stack;
- }
-
- /**
- * How long it takes to use or consume an item
- */
- public int getMaxItemUseDuration (ItemStack par1ItemStack)
- {
- return 72000;
- }
-
- /**
- * returns the action that specifies what animation to play when the items is being used
- */
- public EnumAction getItemUseAction (ItemStack par1ItemStack)
- {
- return EnumAction.bow;
- }
-
- /**
- * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
- */
- public ItemStack onItemRightClick (ItemStack stack, World par2World, EntityPlayer player)
- {
- if (stack.hasTagCompound())
- {
- NBTTagCompound toolTag = stack.getTagCompound().getCompoundTag("InfiTool");
- if (!toolTag.getBoolean("Broken"))
- {
- ArrowNockEvent event = new ArrowNockEvent(player, stack);
- MinecraftForge.EVENT_BUS.post(event);
- if (event.isCanceled())
- {
- return event.result;
- }
-
- if (player.capabilities.isCreativeMode || player.inventory.hasItem(Item.arrow.itemID) || player.inventory.hasItem(TContent.arrow.itemID))
- {
- player.setItemInUse(stack, this.getMaxItemUseDuration(stack));
- }
- }
- }
-
- return stack;
- }
-
- public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float clickX, float clickY, float clickZ)
- {
- return false;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public boolean requiresMultipleRenderPasses ()
- {
- return true;
- }
-
- /* Rendering */
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- super.registerIcons(iconRegister);
- headIcons1.clear();
- handleIcons1.clear();
- accessoryIcons1.clear();
- extraIcons1.clear();
- effectIcons1.clear();
- Iterator iterOne = headStrings.entrySet().iterator();
- while (iterOne.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterOne.next();
- headIcons1.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_1"));
- }
-
- iterOne = handleStrings.entrySet().iterator();
- while (iterOne.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterOne.next();
- handleIcons1.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_1"));
- }
-
- if (getPartAmount() > 2)
- {
- iterOne = accessoryStrings.entrySet().iterator();
- while (iterOne.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterOne.next();
- accessoryIcons1.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_1"));
- }
- }
-
- if (getPartAmount() > 3)
- {
- iterOne = extraStrings.entrySet().iterator();
- while (iterOne.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterOne.next();
- extraIcons1.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_1"));
- }
- }
-
- iterOne = effectStrings.entrySet().iterator();
- while (iterOne.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterOne.next();
- effectIcons1.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_1"));
- }
-
- headIcons2.clear();
- handleIcons2.clear();
- accessoryIcons2.clear();
- extraIcons2.clear();
- effectIcons2.clear();
- Iterator iterTwo = headStrings.entrySet().iterator();
- while (iterTwo.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterTwo.next();
- headIcons2.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_2"));
- }
-
- iterTwo = handleStrings.entrySet().iterator();
- while (iterTwo.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterTwo.next();
- handleIcons2.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_2"));
- }
-
- if (getPartAmount() > 2)
- {
- iterTwo = accessoryStrings.entrySet().iterator();
- while (iterTwo.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterTwo.next();
- accessoryIcons2.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_2"));
- }
- }
-
- if (getPartAmount() > 3)
- {
- iterTwo = extraStrings.entrySet().iterator();
- while (iterTwo.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterTwo.next();
- extraIcons2.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_2"));
- }
- }
-
- iterTwo = effectStrings.entrySet().iterator();
- while (iterTwo.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterTwo.next();
- effectIcons2.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_2"));
- }
-
- headIcons3.clear();
- handleIcons3.clear();
- accessoryIcons3.clear();
- extraIcons3.clear();
- effectIcons3.clear();
- Iterator iterThree = headStrings.entrySet().iterator();
- while (iterThree.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterThree.next();
- headIcons3.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_3"));
- }
-
- iterThree = handleStrings.entrySet().iterator();
- while (iterThree.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterThree.next();
- handleIcons3.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_3"));
- }
-
- if (getPartAmount() > 2)
- {
- iterThree = accessoryStrings.entrySet().iterator();
- while (iterThree.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterThree.next();
- accessoryIcons3.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_3"));
- }
- }
-
- if (getPartAmount() > 3)
- {
- iterThree = extraStrings.entrySet().iterator();
- while (iterThree.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterThree.next();
- extraIcons3.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_3"));
- }
- }
-
- iterThree = effectStrings.entrySet().iterator();
- while (iterThree.hasNext())
- {
- Map.Entry pairs = (Map.Entry) iterThree.next();
- effectIcons3.put((Integer) pairs.getKey(), iconRegister.registerIcon((String) pairs.getValue() + "_3"));
- }
-
- registerArrows(iconRegister);
- }
-
- void registerArrows (IconRegister iconRegister)
- {
- arrow1 = iconRegister.registerIcon("tinker:" + getDefaultFolder() + "/arrow_1");
- arrow2 = iconRegister.registerIcon("tinker:" + getDefaultFolder() + "/arrow_2");
- arrow3 = iconRegister.registerIcon("tinker:" + getDefaultFolder() + "/arrow_3");
- }
-
- @Override
- public Icon getIcon (ItemStack stack, int renderPass)
- {
- NBTTagCompound tags = stack.getTagCompound();
-
- if (tags != null)
- {
- tags = stack.getTagCompound().getCompoundTag("InfiTool");
- if (renderPass < getPartAmount())
- {
- if (renderPass == 0) // Handle
- {
- if (tags.getBoolean("Broken"))
- return (brokenIcons.get(tags.getInteger("RenderHandle")));
- return handleIcons.get(tags.getInteger("RenderHandle"));
- }
-
- else if (renderPass == 1) // Head
- {
- return (headIcons.get(tags.getInteger("RenderHead")));
- }
-
- else if (renderPass == 2) // Accessory
- {
- return (accessoryIcons.get(tags.getInteger("RenderAccessory")));
- }
-
- else if (renderPass == 3) // Extra
- {
- return (extraIcons.get(tags.getInteger("RenderExtra")));
- }
- }
-
- else
- {
- if (renderPass == getPartAmount())
- {
- if (tags.hasKey("Effect1"))
- return (effectIcons.get(tags.getInteger("Effect1")));
- }
-
- else if (renderPass == getPartAmount() + 1)
- {
- if (tags.hasKey("Effect2"))
- return (effectIcons.get(tags.getInteger("Effect2")));
- }
-
- else if (renderPass == getPartAmount() + 2)
- {
- if (tags.hasKey("Effect3"))
- return (effectIcons.get(tags.getInteger("Effect3")));
- }
-
- else if (renderPass == getPartAmount() + 3)
- {
- if (tags.hasKey("Effect4"))
- return (effectIcons.get(tags.getInteger("Effect4")));
- }
-
- else if (renderPass == getPartAmount() + 4)
- {
- if (tags.hasKey("Effect5"))
- return (effectIcons.get(tags.getInteger("Effect5")));
- }
-
- else if (renderPass == getPartAmount() + 5)
- {
- if (tags.hasKey("Effect6"))
- return (effectIcons.get(tags.getInteger("Effect6")));
- }
- }
- return blankSprite;
- }
- return emptyIcon;
- }
-
- /* Animations */
- @Override
- public void registerPartPaths (int index, String[] location)
- {
- headStrings.put(index, location[0]);
- //brokenHeadStrings.put(index, location[1]);
- //handleStrings.put(index, location[2]);
- if (location.length > 3)
- accessoryStrings.put(index, location[3]);
- if (location.length > 4)
- extraStrings.put(index, location[4]);
- }
-
- @Override
- public void registerAlternatePartPaths (int index, String[] location)
- {
- brokenPartStrings.put(index, location[1]);
- handleStrings.put(index, location[2]);
- }
-
- public Icon arrow1;
- public Icon arrow2;
- public Icon arrow3;
-
- public HashMap headIcons1 = new HashMap();
- public HashMap handleIcons1 = new HashMap();
- public HashMap accessoryIcons1 = new HashMap();
- public HashMap extraIcons1 = new HashMap();
- public HashMap effectIcons1 = new HashMap();
-
- public HashMap headIcons2 = new HashMap();
- public HashMap handleIcons2 = new HashMap();
- public HashMap accessoryIcons2 = new HashMap();
- public HashMap extraIcons2 = new HashMap();
- public HashMap effectIcons2 = new HashMap();
-
- public HashMap headIcons3 = new HashMap();
- public HashMap handleIcons3 = new HashMap();
- public HashMap accessoryIcons3 = new HashMap();
- public HashMap extraIcons3 = new HashMap();
- public HashMap effectIcons3 = new HashMap();
-
- @Override
- public Icon getIcon (ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining)
- {
- int useTime = stack.getMaxItemUseDuration() - useRemaining;
- if (!stack.hasTagCompound())
- return emptyIcon;
-
- NBTTagCompound toolTag = stack.getTagCompound().getCompoundTag("InfiTool");
- int drawTime = toolTag.getInteger("DrawSpeed");
- float flightSpeed = toolTag.getFloat("FlightSpeed");
- drawTime *= flightSpeed;
- if (useTime >= drawTime - 2)
- {
- return getIcon3(stack, renderPass);
- }
- if (useTime >= (drawTime * 2 / 3))
- {
- return getIcon2(stack, renderPass);
- }
- return getIcon1(stack, renderPass);
- }
-
- public Icon getIcon1 (ItemStack stack, int renderPass)
- {
- NBTTagCompound tags = stack.getTagCompound();
-
- if (tags != null)
- {
- tags = stack.getTagCompound().getCompoundTag("InfiTool");
- if (renderPass < getPartAmount())
- {
- if (renderPass == 0) // Handle
- {
- return handleIcons1.get(tags.getInteger("RenderHandle"));
- }
-
- else if (renderPass == 1) // Head
- {
- return (headIcons1.get(tags.getInteger("RenderHead")));
- }
-
- else if (renderPass == 2) // Accessory
- {
- return (accessoryIcons1.get(tags.getInteger("RenderAccessory")));
- }
-
- else if (renderPass == 3) // Extra
- {
- return (extraIcons1.get(tags.getInteger("RenderExtra")));
- }
- }
-
- else
- {
- if (renderPass == getPartAmount())
- {
- if (tags.hasKey("Effect1"))
- return (effectIcons1.get(tags.getInteger("Effect1")));
- }
-
- else if (renderPass == getPartAmount() + 1)
- {
- if (tags.hasKey("Effect2"))
- return (effectIcons1.get(tags.getInteger("Effect2")));
- }
-
- else if (renderPass == getPartAmount() + 2)
- {
- if (tags.hasKey("Effect3"))
- return (effectIcons1.get(tags.getInteger("Effect3")));
- }
-
- else if (renderPass == getPartAmount() + 3)
- {
- if (tags.hasKey("Effect4"))
- return (effectIcons1.get(tags.getInteger("Effect4")));
- }
-
- else if (renderPass == getPartAmount() + 4)
- {
- if (tags.hasKey("Effect5"))
- return (effectIcons1.get(tags.getInteger("Effect5")));
- }
-
- else if (renderPass == getPartAmount() + 5)
- {
- if (tags.hasKey("Effect6"))
- return (effectIcons1.get(tags.getInteger("Effect6")));
- }
- else
- {
- return arrow1;
- }
- }
- return blankSprite;
- }
- return emptyIcon;
- }
-
- public Icon getIcon2 (ItemStack stack, int renderPass)
- {
- NBTTagCompound tags = stack.getTagCompound();
-
- if (tags != null)
- {
- tags = stack.getTagCompound().getCompoundTag("InfiTool");
- if (renderPass < getPartAmount())
- {
- if (renderPass == 0) // Handle
- {
- return handleIcons2.get(tags.getInteger("RenderHandle"));
- }
-
- else if (renderPass == 1) // Head
- {
- return (headIcons2.get(tags.getInteger("RenderHead")));
- }
-
- else if (renderPass == 2) // Accessory
- {
- return (accessoryIcons2.get(tags.getInteger("RenderAccessory")));
- }
-
- else if (renderPass == 3) // Extra
- {
- return (extraIcons2.get(tags.getInteger("RenderExtra")));
- }
- }
-
- else
- {
- if (renderPass == getPartAmount())
- {
- if (tags.hasKey("Effect1"))
- return (effectIcons2.get(tags.getInteger("Effect1")));
- }
-
- else if (renderPass == getPartAmount() + 1)
- {
- if (tags.hasKey("Effect2"))
- return (effectIcons2.get(tags.getInteger("Effect2")));
- }
-
- else if (renderPass == getPartAmount() + 2)
- {
- if (tags.hasKey("Effect3"))
- return (effectIcons2.get(tags.getInteger("Effect3")));
- }
-
- else if (renderPass == getPartAmount() + 3)
- {
- if (tags.hasKey("Effect4"))
- return (effectIcons2.get(tags.getInteger("Effect4")));
- }
-
- else if (renderPass == getPartAmount() + 4)
- {
- if (tags.hasKey("Effect5"))
- return (effectIcons2.get(tags.getInteger("Effect5")));
- }
-
- else if (renderPass == getPartAmount() + 5)
- {
- if (tags.hasKey("Effect6"))
- return (effectIcons2.get(tags.getInteger("Effect6")));
- }
- else
- {
- return arrow2;
- }
- }
- return blankSprite;
- }
- return emptyIcon;
- }
-
- public Icon getIcon3 (ItemStack stack, int renderPass)
- {
- NBTTagCompound tags = stack.getTagCompound();
-
- if (tags != null)
- {
- tags = stack.getTagCompound().getCompoundTag("InfiTool");
- if (renderPass < getPartAmount())
- {
- if (renderPass == 0) // Handle
- {
- return handleIcons3.get(tags.getInteger("RenderHandle"));
- }
-
- else if (renderPass == 1) // Head
- {
- return (headIcons3.get(tags.getInteger("RenderHead")));
- }
-
- else if (renderPass == 2) // Accessory
- {
- return (accessoryIcons3.get(tags.getInteger("RenderAccessory")));
- }
-
- else if (renderPass == 3) // Extra
- {
- return (extraIcons3.get(tags.getInteger("RenderExtra")));
- }
- }
-
- else
- {
- if (renderPass == getPartAmount())
- {
- if (tags.hasKey("Effect1"))
- return (effectIcons3.get(tags.getInteger("Effect1")));
- }
-
- else if (renderPass == getPartAmount() + 1)
- {
- if (tags.hasKey("Effect2"))
- return (effectIcons3.get(tags.getInteger("Effect2")));
- }
-
- else if (renderPass == getPartAmount() + 2)
- {
- if (tags.hasKey("Effect3"))
- return (effectIcons3.get(tags.getInteger("Effect3")));
- }
-
- else if (renderPass == getPartAmount() + 3)
- {
- if (tags.hasKey("Effect4"))
- return (effectIcons3.get(tags.getInteger("Effect4")));
- }
-
- else if (renderPass == getPartAmount() + 4)
- {
- if (tags.hasKey("Effect5"))
- return (effectIcons3.get(tags.getInteger("Effect5")));
- }
-
- else if (renderPass == getPartAmount() + 5)
- {
- if (tags.hasKey("Effect6"))
- return (effectIcons3.get(tags.getInteger("Effect6")));
- }
- else
- {
- return arrow3;
- }
- }
- return blankSprite;
- }
- return emptyIcon;
- }
-
- @Override
- public void buildTool (int id, String name, List list)
- {
- Item accessory = getAccessoryItem();
- ItemStack accessoryStack = accessory != null ? new ItemStack(getAccessoryItem(), 1, id) : null;
- Item extra = getExtraItem();
- ItemStack extraStack = extra != null ? new ItemStack(getExtraItem(), 1, id) : null;
- ItemStack tool = ToolBuilder.instance.buildTool(new ItemStack(getHeadItem(), 1, id), new ItemStack(getHandleItem(), 1, 0), accessoryStack, extraStack, name + getToolName());
- if (tool == null)
- {
- if (!TContent.supressMissingToolLogs)
- {
- TConstruct.logger.warning("Creative builder failed tool for " + name + this.getToolName());
- TConstruct.logger.warning("Make sure you do not have item ID conflicts");
- }
- }
- else
- {
- tool.getTagCompound().getCompoundTag("InfiTool").setBoolean("Built", true);
- list.add(tool);
- }
- }
-}
diff --git a/src/main/java/tconstruct/items/tools/Broadsword.java b/src/main/java/tconstruct/items/tools/Broadsword.java
deleted file mode 100644
index 6e9baef0..00000000
--- a/src/main/java/tconstruct/items/tools/Broadsword.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package tconstruct.items.tools;
-
-import tconstruct.common.TContent;
-import tconstruct.library.tools.Weapon;
-import net.minecraft.item.Item;
-
-public class Broadsword extends Weapon
-{
- public Broadsword(int itemID)
- {
- super(itemID, 4);
- this.setUnlocalizedName("InfiTool.Broadsword");
- }
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.swordBlade;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.wideGuard;
- }
-
- public float getDurabilityModifier ()
- {
- return 1.2f;
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_sword_blade";
- case 1:
- return "_sword_blade_broken";
- case 2:
- return "_sword_handle";
- case 3:
- return "_sword_accessory";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_sword_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "broadsword";
- }
-
- /*@Override
- @SideOnly(Side.CLIENT)
- public void onUpdate (ItemStack stack, World world, Entity entity, int par4, boolean par5)
- {
- super.onUpdate(stack, world, entity, par4, par5);
- if (entity instanceof EntityPlayerSP)
- {
- EntityPlayerSP player = (EntityPlayerSP) entity;
- if (player.itemInUse != null && player.itemInUse.getItem() == this)
- {
- player.movementInput.moveForward *= 5.0F;
- player.movementInput.moveStrafe *= 5.0F;
- }
- }
- }*/
-}
diff --git a/src/main/java/tconstruct/items/tools/Chisel.java b/src/main/java/tconstruct/items/tools/Chisel.java
deleted file mode 100644
index 3aa654b6..00000000
--- a/src/main/java/tconstruct/items/tools/Chisel.java
+++ /dev/null
@@ -1,258 +0,0 @@
-package tconstruct.items.tools;
-
-import tconstruct.TConstruct;
-import tconstruct.common.TContent;
-import tconstruct.library.crafting.Detailing.DetailInput;
-import tconstruct.library.tools.AbilityHelper;
-import tconstruct.library.tools.ToolCore;
-import net.minecraft.client.entity.EntityPlayerSP;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.EnumAction;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.EnumMovingObjectType;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Chisel extends ToolCore
-{
- public Chisel(int id)
- {
- super(id, 0);
- this.setUnlocalizedName("InfiTool.Chisel");
- this.setContainerItem(this);
- }
-
- @Override
- public ItemStack getContainerItemStack (ItemStack itemStack)
- {
- if (itemStack.hasTagCompound())
- {
- int reinforced = 0;
- NBTTagCompound tags = itemStack.getTagCompound();
-
- if (tags.getCompoundTag("InfiTool").hasKey("Unbreaking"))
- reinforced = tags.getCompoundTag("InfiTool").getInteger("Unbreaking");
-
- if (random.nextInt(10) < 10 - reinforced)
- {
- AbilityHelper.damageTool(itemStack, 1, null, false);
- }
- }
- return itemStack;
- }
-
- @Override
- public boolean doesContainerItemLeaveCraftingGrid (ItemStack par1ItemStack)
- {
- return false;
- }
-
- boolean performDetailing (World world, int x, int y, int z, int blockID, int blockMeta)
- {
- boolean detailed = false;
- return detailed;
- }
-
- public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float clickX, float clickY, float clickZ)
- {
- return false;
- }
-
- @Override
- public ItemStack onItemRightClick (ItemStack stack, World world, EntityPlayer entityplayer)
- {
- if (entityplayer.capabilities.isCreativeMode)
- {
- onEaten(stack, world, entityplayer);
- }
- else
- {
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- if (!tags.getBoolean("Broken"))
- entityplayer.setItemInUse(stack, getMaxItemUseDuration(stack));
- }
- return stack;
- }
-
- @Override
- public ItemStack onEaten (ItemStack itemstack, World world, EntityPlayer entityplayer)
- {
- if (!world.isRemote)
- {
- MovingObjectPosition movingobjectposition = getMovingObjectPositionFromPlayer(world, entityplayer, true);
- if (movingobjectposition == null)
- {
- return itemstack;
- }
- if (movingobjectposition.typeOfHit == EnumMovingObjectType.TILE)
- {
- int x = movingobjectposition.blockX;
- int y = movingobjectposition.blockY;
- int z = movingobjectposition.blockZ;
- int blockID = world.getBlockId(x, y, z);
- int meta = world.getBlockMetadata(x, y, z);
-
- DetailInput details = TConstruct.chiselDetailing.getDetailing(blockID, meta);
- if (details != null && details.outputID < 4096)
- {
- world.setBlock(x, y, z, details.outputID, details.outputMeta, 3);
- if (!(entityplayer.capabilities.isCreativeMode))
- {
- int reinforced = 0;
- NBTTagCompound tags = itemstack.getTagCompound();
-
- if (tags.getCompoundTag("InfiTool").hasKey("Unbreaking"))
- reinforced = tags.getCompoundTag("InfiTool").getInteger("Unbreaking");
-
- if (random.nextInt(10) < 10 - reinforced)
- {
- AbilityHelper.damageTool(itemstack, 1, null, false);
- }
- }
- world.playAuxSFX(2001, x, y, z, blockID + (meta << 12));
- entityplayer.swingItem();
- }
- }
- }
-
- return itemstack;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void onUpdate (ItemStack stack, World world, Entity entity, int par4, boolean par5)
- {
- super.onUpdate(stack, world, entity, par4, par5);
- if (entity instanceof EntityPlayerSP)
- {
- EntityPlayerSP player = (EntityPlayerSP) entity;
- ItemStack usingItem = player.getItemInUse();
- if (usingItem != null && usingItem.getItem() == this)
- {
- player.movementInput.moveForward *= 2.0;
- player.movementInput.moveStrafe *= 2.0;
- }
- }
- }
-
- @Override
- public int getMaxItemUseDuration (ItemStack itemstack)
- {
- if (!itemstack.hasTagCompound())
- return 20;
-
- int speed = itemstack.getTagCompound().getCompoundTag("InfiTool").getInteger("MiningSpeed") / 100;
- int truespeed = 20 - speed;
- if (truespeed < 0)
- truespeed = 0;
- return truespeed;
- }
-
- @Override
- public EnumAction getItemUseAction (ItemStack itemstack)
- {
- return EnumAction.eat;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public int getRenderPasses (int metadata)
- {
- return 8;
- }
-
- @Override
- public int getPartAmount ()
- {
- return 2;
- }
-
- @Override
- public void registerPartPaths (int index, String[] location)
- {
- headStrings.put(index, location[0]);
- brokenPartStrings.put(index, location[1]);
- handleStrings.put(index, location[2]);
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_chisel_head";
- case 1:
- return "_chisel_head_broken";
- case 2:
- return "_chisel_handle";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_chisel_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "chisel";
- }
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.chiselHead;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return null;
- }
-
- @Override
- public String[] toolCategories ()
- {
- return new String[] { "utility" };
- }
-
- //1.6.4 start
- @Override
- public boolean allowOffhand(ItemStack mainhand, ItemStack offhand)
- {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDual(ItemStack off)
- {
- return false;
- }
- //1.6.4 end
-
- //1.6.2 start
- @Override
- public boolean willAllowOffhandWeapon() {
- return false;
- }
-
- @Override
- public boolean willAllowShield() {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDualWeapon() {
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/items/tools/Cleaver.java b/src/main/java/tconstruct/items/tools/Cleaver.java
deleted file mode 100644
index 7ebc6ff1..00000000
--- a/src/main/java/tconstruct/items/tools/Cleaver.java
+++ /dev/null
@@ -1,219 +0,0 @@
-package tconstruct.items.tools;
-
-import tconstruct.common.TContent;
-import tconstruct.library.tools.AbilityHelper;
-import tconstruct.library.tools.Weapon;
-import tconstruct.util.config.PHConstruct;
-import mods.battlegear2.items.ItemShield;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Cleaver extends Weapon
-{
- public Cleaver(int itemID)
- {
- super(itemID, 6);
- this.setUnlocalizedName("InfiTool.Cleaver");
- }
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.largeSwordBlade;
- }
-
- @Override
- public Item getHandleItem ()
- {
- return TContent.toughRod;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.largePlate;
- }
-
- @Override
- public Item getExtraItem ()
- {
- return TContent.toughRod;
- }
-
- @Override
- public int durabilityTypeAccessory ()
- {
- return 2;
- }
-
- @Override
- public int durabilityTypeExtra ()
- {
- return 1;
- }
-
- @Override
- public float getRepairCost ()
- {
- return 4.0f;
- }
-
- @Override
- public float getDurabilityModifier ()
- {
- return 2.5f;
- }
-
- @Override
- public float getDamageModifier ()
- {
- return 1.4f;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public int getRenderPasses (int metadata)
- {
- return 10;
- }
-
- @Override
- public int getPartAmount ()
- {
- return 4;
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_cleaver_head";
- case 1:
- return "_cleaver_head_broken";
- case 2:
- return "_cleaver_handle";
- case 3:
- return "_cleaver_shield";
- case 4:
- return "_cleaver_guard";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_cleaver_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "cleaver";
- }
-
- /* Cleaver specific */
- @Override
- public boolean onLeftClickEntity (ItemStack stack, EntityPlayer player, Entity entity)
- {
- if (AbilityHelper.onLeftClickEntity(stack, player, entity, this))
- {
- entity.hurtResistantTime += 7;
-
- /*if (entity instanceof EntityLiving)
- {
- EntityLiving living = (EntityLiving) entity;
- if (living.getHealth() <= 0)
- {
-
- }
- }*/
- //if (entity.getHealth() <= 0)
- }
- return true;
- }
-
- public void onUpdate (ItemStack stack, World world, Entity entity, int par4, boolean par5)
- {
- super.onUpdate(stack, world, entity, par4, par5);
- if (entity instanceof EntityPlayer)
- {
- EntityPlayer player = (EntityPlayer) entity;
- ItemStack equipped = player.getCurrentEquippedItem();
- if (equipped == stack)
- {
- player.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 1, 2));
- }
- }
- }
-
- /*@Override
- public boolean onEntitySwing (EntityLiving entity, ItemStack stack)
- {
- entity.swingProgressInt /= 2;
- return false;
- }*/
-
- @Override
- public boolean allowOffhand(ItemStack mainhand, ItemStack offhand)
- {
- try
- {
- if ((PHConstruct.isCleaverTwoHanded) && (offhand.getItem() instanceof ItemShield))
- {
- return true;
- }
- else return false;
- }
- catch (Exception e)
- {
- return false;
- }
- }
-
- //1.6.4 start
- @Override
- public boolean isOffhandHandDual(ItemStack off)
- {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack(ItemStack item)
- {
- return true;
- }
- //1.6.4 end
-
- //1.6.2 start
- @Override
- public boolean willAllowOffhandWeapon() {
- return false;
- }
-
- @Override
- public boolean willAllowShield() {
- return PHConstruct.isCleaverTwoHanded;
- }
-
- @Override
- public boolean isOffhandHandDualWeapon() {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack() {
- return true;
- }
- //1.6.2 end
-}
diff --git a/src/main/java/tconstruct/items/tools/Cutlass.java b/src/main/java/tconstruct/items/tools/Cutlass.java
deleted file mode 100644
index e053ec29..00000000
--- a/src/main/java/tconstruct/items/tools/Cutlass.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package tconstruct.items.tools;
-
-import java.util.List;
-
-import tconstruct.common.TContent;
-import tconstruct.library.tools.Weapon;
-
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.Item;
-
-public class Cutlass extends Weapon
-{
- public Cutlass(int itemID)
- {
- super(itemID, 4);
- this.setUnlocalizedName("InfiTool.Cutlass");
- }
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.swordBlade;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.fullGuard;
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_cutlass_blade";
- case 1:
- return "_cutlass_blade_broken";
- case 2:
- return "_cutlass_handle";
- case 3:
- return "_cutlass_guard";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_cutlass_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "cutlass";
- }
-
- @Override
- public int durabilityTypeAccessory ()
- {
- return 1;
- }
-}
diff --git a/src/main/java/tconstruct/items/tools/Dagger.java b/src/main/java/tconstruct/items/tools/Dagger.java
deleted file mode 100644
index 960d344c..00000000
--- a/src/main/java/tconstruct/items/tools/Dagger.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package tconstruct.items.tools;
-
-import tconstruct.common.TContent;
-import tconstruct.entity.projectile.DaggerEntity;
-import tconstruct.library.tools.Weapon;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.EnumAction;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-
-public class Dagger extends Weapon
-{
- public Dagger(int id)
- {
- super(id, 1);
- this.setUnlocalizedName("InfiTool.Dagger");
- }
-
- public ItemStack onItemRightClick (ItemStack itemstack, World world, EntityPlayer player)
- {
- ItemStack stack = itemstack.copy();
- if (!world.isRemote)
- {
- DaggerEntity dagger = new DaggerEntity(stack, world, player);
- if (player.capabilities.isCreativeMode)
- dagger.doNotRetrieve = true;
- world.spawnEntityInWorld(dagger);
- }
- itemstack.stackSize--;
- return itemstack;
- }
-
- public ItemStack onEaten (ItemStack itemstack, World world, EntityPlayer player)
- {
- ItemStack stack = itemstack.copy();
- if (!world.isRemote)
- {
- DaggerEntity dagger = new DaggerEntity(stack, world, player);
- world.spawnEntityInWorld(dagger);
- }
- itemstack.stackSize--;
- return itemstack;
- }
-
- @Override
- public String[] toolCategories ()
- {
- return new String[] { "weapon", "melee", "throwing" };
- }
-
- public EnumAction getItemUseAction (ItemStack par1ItemStack)
- {
- return EnumAction.bow;
- }
-
- public int getMaxItemUseDuration (ItemStack stack)
- {
- return 10;
- }
-
- public boolean rangedTool ()
- {
- return true;
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_dagger_blade";
- case 1:
- return "_dagger_blade_broken";
- case 2:
- return "_dagger_handle";
- case 3:
- return "_dagger_accessory";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_dagger_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "dagger";
- }
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.knifeBlade;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.crossbar;
- }
-}
diff --git a/src/main/java/tconstruct/items/tools/Excavator.java b/src/main/java/tconstruct/items/tools/Excavator.java
deleted file mode 100644
index c718bfbb..00000000
--- a/src/main/java/tconstruct/items/tools/Excavator.java
+++ /dev/null
@@ -1,338 +0,0 @@
-package tconstruct.items.tools;
-
-import tconstruct.common.TContent;
-import tconstruct.library.ActiveToolMod;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.tools.AbilityHelper;
-import tconstruct.library.tools.HarvestTool;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.world.World;
-import net.minecraftforge.common.MinecraftForge;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Excavator extends HarvestTool
-{
- public Excavator(int itemID)
- {
- super(itemID, 2);
- this.setUnlocalizedName("InfiTool.Excavator");
- }
-
- @Override
- protected Material[] getEffectiveMaterials ()
- {
- return materials;
- }
-
- @Override
- protected String getHarvestType ()
- {
- return "shovel";
- }
-
- static Material[] materials = { Material.grass, Material.ground, Material.sand, Material.snow, Material.craftedSnow, Material.clay };
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.excavatorHead;
- }
-
- @Override
- public Item getHandleItem ()
- {
- return TContent.toughRod;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.largePlate;
- }
-
- @Override
- public Item getExtraItem ()
- {
- return TContent.toughBinding;
- }
-
- @Override
- public float getRepairCost ()
- {
- return 4.0f;
- }
-
- public float getDurabilityModifier ()
- {
- return 2.75f;
- }
-
- @Override
- public int durabilityTypeAccessory ()
- {
- return 2;
- }
-
- @Override
- public int durabilityTypeExtra ()
- {
- return 1;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public int getRenderPasses (int metadata)
- {
- return 10;
- }
-
- @Override
- public int getPartAmount ()
- {
- return 4;
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_excavator_head";
- case 1:
- return "_excavator_head_broken";
- case 2:
- return "_excavator_handle";
- case 3:
- return "_excavator_binding";
- case 4:
- return "_excavator_grip";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_excavator_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "excavator";
- }
-
- /* Excavator Specific */
-
- @Override
- public boolean onBlockStartBreak (ItemStack stack, int x, int y, int z, EntityPlayer player)
- {
- if (!stack.hasTagCompound())
- return false;
-
- World world = player.worldObj;
- final int blockID = world.getBlockId(x, y, z);
- final int meta = world.getBlockMetadata(x, y, z);
- Block block = Block.blocksList[blockID];
- if (!stack.hasTagCompound())
- return false;
-
- if (block == null)
- return super.onBlockStartBreak(stack, x, y, z, player);
-
- float blockHardness = block.getBlockHardness(world, x, y, z);
-
- boolean validStart = false;
- for (int iter = 0; iter < materials.length; iter++)
- {
- if (materials[iter] == block.blockMaterial)
- {
- validStart = true;
- break;
- }
- }
-
- MovingObjectPosition mop = AbilityHelper.raytraceFromEntity(world, player, true, 5.0D);
- if (mop == null || !validStart)
- return super.onBlockStartBreak(stack, x, y, z, player);
-
- int xRange = 1;
- int yRange = 1;
- int zRange = 1;
- switch (mop.sideHit)
- {
- case 0:
- case 1:
- yRange = 0;
- break;
- case 2:
- case 3:
- zRange = 0;
- break;
- case 4:
- case 5:
- xRange = 0;
- break;
- }
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- for (int xPos = x - xRange; xPos <= x + xRange; xPos++)
- {
- for (int yPos = y - yRange; yPos <= y + yRange; yPos++)
- {
- for (int zPos = z - zRange; zPos <= z + zRange; zPos++)
- {
- if (!(tags.getBoolean("Broken")))
- {
- int localblockID = world.getBlockId(xPos, yPos, zPos);
- block = Block.blocksList[localblockID];
- int localMeta = world.getBlockMetadata(xPos, yPos, zPos);
- int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
- float localHardness = block == null ? Float.MAX_VALUE : block.getBlockHardness(world, xPos, yPos, zPos);
-
- if (hlvl <= tags.getInteger("HarvestLevel") && localHardness - 1.5 <= blockHardness)
- {
- boolean cancelHarvest = false;
- for (ActiveToolMod mod : TConstructRegistry.activeModifiers)
- {
- if (mod.beforeBlockBreak(this, stack, xPos, yPos, zPos, player))
- cancelHarvest = true;
- }
-
- if (!cancelHarvest)
- {
- if (block != null && !(localHardness < 0))
- {
- for (int iter = 0; iter < materials.length; iter++)
- {
- if (materials[iter] == block.blockMaterial)
- {
- if (!player.capabilities.isCreativeMode)
- {
- if (block.removeBlockByPlayer(world, player, xPos, yPos, zPos))
- {
- block.onBlockDestroyedByPlayer(world, xPos, yPos, zPos, localMeta);
- }
- block.harvestBlock(world, player, xPos, yPos, zPos, localMeta);
- block.onBlockHarvested(world, xPos, yPos, zPos, localMeta, player);
- if (blockHardness > 0f)
- onBlockDestroyed(stack, world, localblockID, xPos, yPos, zPos, player);
- }
- else
- {
- world.setBlockToAir(xPos, yPos, zPos);
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (!world.isRemote)
- world.playAuxSFX(2001, x, y, z, blockID + (meta << 12));
- return true;
- }
-
- @Override
- public float getStrVsBlock (ItemStack stack, Block block, int meta)
- {
- if (!stack.hasTagCompound())
- return 1.0f;
-
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- if (tags.getBoolean("Broken"))
- return 0.1f;
-
- Material[] materials = getEffectiveMaterials();
- for (int i = 0; i < materials.length; i++)
- {
- if (materials[i] == block.blockMaterial)
- {
- float mineSpeed = tags.getInteger("MiningSpeed");
- int heads = 1;
- if (tags.hasKey("MiningSpeed2"))
- {
- mineSpeed += tags.getInteger("MiningSpeed2");
- heads++;
- }
-
- if (tags.hasKey("MiningSpeedHandle"))
- {
- mineSpeed += tags.getInteger("MiningSpeedHandle");
- heads++;
- }
-
- if (tags.hasKey("MiningSpeedExtra"))
- {
- mineSpeed += tags.getInteger("MiningSpeedExtra");
- heads++;
- }
- float trueSpeed = mineSpeed / (heads * 300f);
- int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
- int durability = tags.getInteger("Damage");
-
- float stonebound = tags.getFloat("Shoddy");
- float bonusLog = (float) Math.log(durability / 216f + 1) * 2 * stonebound;
- trueSpeed += bonusLog;
-
- if (hlvl <= tags.getInteger("HarvestLevel"))
- return trueSpeed;
- return 0.1f;
- }
- }
- return super.getStrVsBlock(stack, block, meta);
- }
-
- //1.6.4 start
- @Override
- public boolean allowOffhand(ItemStack mainhand, ItemStack offhand)
- {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDual(ItemStack off)
- {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack(ItemStack item)
- {
- return true;
- }
- //1.6.4 end
-
- //1.6.2 start
- @Override
- public boolean willAllowOffhandWeapon() {
- return false;
- }
-
- @Override
- public boolean willAllowShield() {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDualWeapon() {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack() {
- return true;
- }
- //1.6.2 end
-}
diff --git a/src/main/java/tconstruct/items/tools/FryingPan.java b/src/main/java/tconstruct/items/tools/FryingPan.java
deleted file mode 100644
index b88fce17..00000000
--- a/src/main/java/tconstruct/items/tools/FryingPan.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package tconstruct.items.tools;
-
-import java.util.List;
-
-import tconstruct.blocks.logic.EquipLogic;
-import tconstruct.common.TContent;
-import tconstruct.library.crafting.ToolBuilder;
-import tconstruct.library.tools.AbilityHelper;
-import tconstruct.library.tools.Weapon;
-
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class FryingPan extends Weapon
-{
- public FryingPan(int itemID)
- {
- super(itemID, 2);
- this.setUnlocalizedName("InfiTool.FryPan");
- }
-
- @Override
- public boolean hitEntity (ItemStack stack, EntityLivingBase mob, EntityLivingBase player)
- {
- AbilityHelper.knockbackEntity(mob, 1.7f);
- mob.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 100, 0)); //5 seconds of stun
- return true;
- }
-
- @Override
- public boolean onLeftClickEntity (ItemStack stack, EntityPlayer player, Entity mob)
- {
- if (mob.canAttackWithItem() && !mob.hitByEntity(player) && mob.hurtResistantTime < 14)
- AbilityHelper.onLeftClickEntity(stack, player, mob, this);
- return false;
- }
-
- @Override
- public void onEntityDamaged (World world, EntityLivingBase player, Entity entity)
- {
- world.playSoundEffect(entity.posX, entity.posY, entity.posZ, "tinker:frypan_hit", 1.0F, (random.nextFloat() - random.nextFloat()) * 0.2F + 1.0F);
- }
-
- public String getToolName ()
- {
- return "Frying Pan";
- }
-
- public void getSubItems (int id, CreativeTabs tab, List list)
- {
- super.getSubItems(id, tab, list);
-
- Item accessory = getAccessoryItem();
- ItemStack tool = ToolBuilder.instance.buildTool(new ItemStack(getHeadItem(), 1, 2), new ItemStack(getHandleItem(), 1, 16), null, "Bane of Pigs");
-
- NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
- tags.setInteger("Modifiers", 0);
- tags.setInteger("Attack", Integer.MAX_VALUE / 100);
- tags.setInteger("TotalDurability", Integer.MAX_VALUE / 100);
- tags.setInteger("BaseDurability", Integer.MAX_VALUE / 100);
- tags.setInteger("MiningSpeed", Integer.MAX_VALUE / 100);
-
- int[] keyPair = new int[] { Integer.MAX_VALUE / 100, 0, 0 };
- tags.setIntArray("Blaze", keyPair);
- tags.setInteger("Necrotic", Integer.MAX_VALUE / 100);
- tags.setInteger("Effect1", 7);
-
- tags.setBoolean("Built", true);
- list.add(tool);
- }
-
- public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float clickX, float clickY, float clickZ)
- {
- if (side == 0 || !player.isSneaking())
- {
- return false;
- }
- else if (!world.getBlockMaterial(x, y, z).isSolid())
- {
- return false;
- }
- else
- {
- if (side == 1)
- {
- ++y;
- }
-
- if (side == 2)
- {
- --z;
- }
-
- if (side == 3)
- {
- ++z;
- }
-
- if (side == 4)
- {
- --x;
- }
-
- if (side == 5)
- {
- ++x;
- }
-
- if (!player.canPlayerEdit(x, y, z, side, stack))
- {
- return false;
- }
- else if (!TContent.heldItemBlock.canPlaceBlockAt(world, x, y, z))
- {
- return false;
- }
- else
- {
- world.setBlock(x, y, z, TContent.heldItemBlock.blockID, 0, 3);
- TContent.heldItemBlock.onBlockPlacedBy(world, x, y, z, player, stack);
- world.playSoundEffect(x, y, z, "tinker:frypan_hit", 1.0F, (random.nextFloat() - random.nextFloat()) * 0.2F + 0.65F);
-
- EquipLogic logic = (EquipLogic) world.getBlockTileEntity(x, y, z);
- logic.setEquipmentItem(stack);
- --stack.stackSize;
-
- return true;
- }
- }
- }
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.frypanHead;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return null;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public int getRenderPasses (int metadata)
- {
- return 8;
- }
-
- @Override
- public int getPartAmount ()
- {
- return 2;
- }
-
- @Override
- public void registerPartPaths (int index, String[] location)
- {
- headStrings.put(index, location[0]);
- brokenPartStrings.put(index, location[1]);
- handleStrings.put(index, location[2]);
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_frypan_head";
- case 1:
- return "_frypan_head_broken";
- case 2:
- return "_frypan_handle";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_frypan_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "frypan";
- }
-}
diff --git a/src/main/java/tconstruct/items/tools/Hammer.java b/src/main/java/tconstruct/items/tools/Hammer.java
deleted file mode 100644
index 0d91a7d3..00000000
--- a/src/main/java/tconstruct/items/tools/Hammer.java
+++ /dev/null
@@ -1,472 +0,0 @@
-package tconstruct.items.tools;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import tconstruct.common.TContent;
-import tconstruct.library.ActiveToolMod;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.crafting.ToolBuilder;
-import tconstruct.library.tools.AbilityHelper;
-import tconstruct.library.tools.HarvestTool;
-
-import mods.battlegear2.items.ItemShield;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.world.World;
-import net.minecraftforge.common.MinecraftForge;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Hammer extends HarvestTool
-{
- public Hammer(int itemID)
- {
- super(itemID, 2);
- this.setUnlocalizedName("InfiTool.Hammer");
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public int getRenderPasses (int metadata)
- {
- return 10;
- }
-
- @Override
- public int getPartAmount ()
- {
- return 4;
- }
-
- public int durabilityTypeAccessory ()
- {
- return 2;
- }
-
- public int durabilityTypeExtra ()
- {
- return 2;
- }
-
- @Override
- protected String getHarvestType ()
- {
- return "pickaxe";
- }
-
- @Override
- protected Material[] getEffectiveMaterials ()
- {
- return materials;
- }
-
- static Material[] materials = new Material[] { Material.rock, Material.iron, Material.ice, Material.glass, Material.piston, Material.anvil };
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.hammerHead;
- }
-
- @Override
- public Item getHandleItem ()
- {
- return TContent.toughRod;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.largePlate;
- }
-
- @Override
- public Item getExtraItem ()
- {
- return TContent.largePlate;
- }
-
- public float getDurabilityModifier ()
- {
- return 4.5f;
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_hammer_head";
- case 1:
- return "_hammer_handle_broken";
- case 2:
- return "_hammer_handle";
- case 3:
- return "_hammer_front";
- case 4:
- return "_hammer_back";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_hammer_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "hammer";
- }
-
- @Override
- public Icon getIcon (ItemStack stack, int renderPass)
- {
- NBTTagCompound tags = stack.getTagCompound();
-
- if (tags != null)
- {
- tags = stack.getTagCompound().getCompoundTag("InfiTool");
- if (renderPass < getPartAmount())
- {
- if (renderPass == 0) // Handle
- {
- if (tags.getBoolean("Broken"))
- return (brokenIcons.get(tags.getInteger("RenderHandle")));
- return handleIcons.get(tags.getInteger("RenderHandle"));
- }
-
- else if (renderPass == 1) // Head
- {
- return (headIcons.get(tags.getInteger("RenderHead")));
- }
-
- else if (renderPass == 2) // Accessory
- {
- return (accessoryIcons.get(tags.getInteger("RenderAccessory")));
- }
-
- else if (renderPass == 3) // Extra
- {
- return (extraIcons.get(tags.getInteger("RenderExtra")));
- }
- }
-
- else
- {
- if (renderPass == getPartAmount())
- {
- if (tags.hasKey("Effect1"))
- return (effectIcons.get(tags.getInteger("Effect1")));
- }
-
- else if (renderPass == getPartAmount() + 1)
- {
- if (tags.hasKey("Effect2"))
- return (effectIcons.get(tags.getInteger("Effect2")));
- }
-
- else if (renderPass == getPartAmount() + 2)
- {
- if (tags.hasKey("Effect3"))
- return (effectIcons.get(tags.getInteger("Effect3")));
- }
-
- else if (renderPass == getPartAmount() + 3)
- {
- if (tags.hasKey("Effect4"))
- return (effectIcons.get(tags.getInteger("Effect4")));
- }
-
- else if (renderPass == getPartAmount() + 4)
- {
- if (tags.hasKey("Effect5"))
- return (effectIcons.get(tags.getInteger("Effect5")));
- }
-
- else if (renderPass == getPartAmount() + 5)
- {
- if (tags.hasKey("Effect6"))
- return (effectIcons.get(tags.getInteger("Effect6")));
- }
- }
- return blankSprite;
- }
- return emptyIcon;
- }
-
- @Override
- public void getSubItems (int id, CreativeTabs tab, List list)
- {
- super.getSubItems(id, tab, list);
-
- ItemStack tool = ToolBuilder.instance.buildTool(new ItemStack(getHeadItem(), 1, 10), new ItemStack(getHandleItem(), 1, 8), new ItemStack(getAccessoryItem(), 1, 11), new ItemStack(
- getExtraItem(), 1, 11), "InfiMiner");
-
- NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
- tags.setInteger("Modifiers", 0);
- tags.setInteger("Attack", Integer.MAX_VALUE / 100);
- tags.setInteger("TotalDurability", Integer.MAX_VALUE / 100);
- tags.setInteger("BaseDurability", Integer.MAX_VALUE / 100);
- tags.setInteger("MiningSpeed", Integer.MAX_VALUE / 100);
- tags.setInteger("Unbreaking", 10);
-
- tags.setBoolean("Built", true);
- list.add(tool);
- }
-
- @Override
- public boolean onBlockStartBreak (ItemStack stack, int x, int y, int z, EntityPlayer player)
- {
- if (!stack.hasTagCompound())
- return false;
-
- World world = player.worldObj;
- final int blockID = world.getBlockId(x, y, z);
- final int meta = world.getBlockMetadata(x, y, z);
- final Block block = Block.blocksList[blockID];
- if (!stack.hasTagCompound())
- return false;
-
- if (block == null)
- return super.onBlockStartBreak(stack, x, y, z, player);
-
- float blockHardness = block.getBlockHardness(world, x, y, z);
-
- boolean validStart = false;
- for (int iter = 0; iter < materials.length; iter++)
- {
- if (materials[iter] == block.blockMaterial)
- {
- validStart = true;
- break;
- }
- }
-
- if (block == Block.silverfish)
- validStart = true;
-
- MovingObjectPosition mop = AbilityHelper.raytraceFromEntity(world, player, true, 4.5D);
- if (mop == null || !validStart)
- return super.onBlockStartBreak(stack, x, y, z, player);
-
- int xRange = 1;
- int yRange = 1;
- int zRange = 1;
- switch (mop.sideHit)
- {
- case 0:
- case 1:
- yRange = 0;
- break;
- case 2:
- case 3:
- zRange = 0;
- break;
- case 4:
- case 5:
- xRange = 0;
- break;
- }
-
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- int toolLevel = tags.getInteger("HarvestLevel");
- for (int xPos = x - xRange; xPos <= x + xRange; xPos++)
- {
- for (int yPos = y - yRange; yPos <= y + yRange; yPos++)
- {
- for (int zPos = z - zRange; zPos <= z + zRange; zPos++)
- {
- if (!(tags.getBoolean("Broken")))
- {
- int localblockID = world.getBlockId(xPos, yPos, zPos);
- Block localBlock = Block.blocksList[localblockID];
- int localMeta = world.getBlockMetadata(xPos, yPos, zPos);
- int hlvl = MinecraftForge.getBlockHarvestLevel(localBlock, meta, getHarvestType());
- float localHardness = localBlock == null ? Float.MAX_VALUE : localBlock.getBlockHardness(world, xPos, yPos, zPos);
-
- if (hlvl <= toolLevel && localHardness - 1.5 <= blockHardness)
- {
- boolean cancelHarvest = false;
- for (ActiveToolMod mod : TConstructRegistry.activeModifiers)
- {
- if (mod.beforeBlockBreak(this, stack, xPos, yPos, zPos, player))
- cancelHarvest = true;
- }
-
- if (!cancelHarvest)
- {
- if (localBlock != null && !(localHardness < 0))
- {
- for (int iter = 0; iter < materials.length; iter++)
- {
- if (materials[iter] == localBlock.blockMaterial || localBlock == Block.silverfish)
- {
- if (!player.capabilities.isCreativeMode)
- {
- if (localBlock.removeBlockByPlayer(world, player, xPos, yPos, zPos))
- {
- localBlock.onBlockDestroyedByPlayer(world, xPos, yPos, zPos, localMeta);
- }
- localBlock.harvestBlock(world, player, xPos, yPos, zPos, localMeta);
- localBlock.onBlockHarvested(world, xPos, yPos, zPos, localMeta, player);
- if (blockHardness > 0f)
- onBlockDestroyed(stack, world, localblockID, xPos, yPos, zPos, player);
- }
- else
- {
- world.setBlockToAir(xPos, yPos, zPos);
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (!world.isRemote)
- world.playAuxSFX(2001, x, y, z, blockID + (meta << 12));
- return true;
- }
-
- @Override
- public float getStrVsBlock (ItemStack stack, Block block, int meta)
- {
- if (!stack.hasTagCompound())
- return 1.0f;
-
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- if (tags.getBoolean("Broken"))
- return 0.1f;
-
- Material[] materials = getEffectiveMaterials();
- for (int i = 0; i < materials.length; i++)
- {
- if (materials[i] == block.blockMaterial)
- {
- return getblockSpeed(tags, block, meta);
- }
- }
-
- /*if (block == Block.silverfish)
- return getblockSpeed(tags, block, meta);*/
-
- return super.getStrVsBlock(stack, block, meta);
- }
-
- float getblockSpeed (NBTTagCompound tags, Block block, int meta)
- {
- float mineSpeed = tags.getInteger("MiningSpeed");
- int heads = 1;
- if (tags.hasKey("MiningSpeed2"))
- {
- mineSpeed += tags.getInteger("MiningSpeed2");
- heads++;
- }
- if (tags.hasKey("MiningSpeedHandle"))
- {
- mineSpeed += tags.getInteger("MiningSpeedHandle");
- heads++;
- }
-
- if (tags.hasKey("MiningSpeedExtra"))
- {
- mineSpeed += tags.getInteger("MiningSpeedExtra");
- heads++;
- }
- float trueSpeed = mineSpeed / (heads * 300f);
- int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
- int durability = tags.getInteger("Damage");
-
- float stonebound = tags.getFloat("Shoddy");
- float bonusLog = (float) Math.log(durability / 216f + 1) * 2 * stonebound;
- trueSpeed += bonusLog;
-
- if (hlvl <= tags.getInteger("HarvestLevel"))
- return trueSpeed;
- return 0.1f;
- }
-
- /*@Override
- public void onUpdate (ItemStack stack, World world, Entity entity, int par4, boolean par5)
- {
- super.onUpdate(stack, world, entity, par4, par5);
- if (entity instanceof EntityPlayer)
- {
- EntityPlayer player = (EntityPlayer) entity;
- ItemStack equipped = player.getCurrentEquippedItem();
- if (equipped == stack)
- {
- player.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 1, 1));
- }
- }
- }*/
-
- @Override
- public String[] toolCategories ()
- {
- return new String[] { "weapon", "harvest", "melee", "bludgeoning" };
- }
-
- //1.6.4 start
- @Override
- public boolean allowOffhand(ItemStack mainhand, ItemStack offhand)
- {
- try
- {
- if (offhand.getItem() instanceof ItemShield)
- {
- return true;
- }
- else return false;
- }
- catch (Exception e)
- {
- return false;
- }
- }
-
- @Override
- public boolean isOffhandHandDual(ItemStack off)
- {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack(ItemStack item)
- {
- return true;
- }
- //1.6.4 end
-
- //1.6.2 start
- @Override
- public boolean willAllowOffhandWeapon() {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDualWeapon() {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack() {
- return true;
- }
- //1.6.2 end
-}
diff --git a/src/main/java/tconstruct/items/tools/Hatchet.java b/src/main/java/tconstruct/items/tools/Hatchet.java
deleted file mode 100644
index e80839dd..00000000
--- a/src/main/java/tconstruct/items/tools/Hatchet.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package tconstruct.items.tools;
-
-import tconstruct.common.TContent;
-import tconstruct.library.tools.AbilityHelper;
-import tconstruct.library.tools.HarvestTool;
-import tconstruct.util.config.PHConstruct;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Hatchet extends HarvestTool
-{
- public Hatchet(int itemID)
- {
- super(itemID, 3);
- this.setUnlocalizedName("InfiTool.Axe");
- }
-
- @Override
- protected Material[] getEffectiveMaterials ()
- {
- return materials;
- }
-
- @Override
- protected String getHarvestType ()
- {
- return "axe";
- }
-
- @Override
- public boolean onBlockDestroyed (ItemStack itemstack, World world, int bID, int x, int y, int z, EntityLivingBase player)
- {
- Block block = Block.blocksList[bID];
- if (block != null && block.blockMaterial == Material.leaves)
- return false;
-
- return AbilityHelper.onBlockChanged(itemstack, world, bID, x, y, z, player, random);
- }
-
- static Material[] materials = { Material.wood, Material.leaves, Material.vine, Material.circuits, Material.cactus, Material.pumpkin };
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.hatchetHead;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return null;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public int getRenderPasses (int metadata)
- {
- return 8;
- }
-
- @Override
- public int getPartAmount ()
- {
- return 2;
- }
-
- @Override
- public void registerPartPaths (int index, String[] location)
- {
- headStrings.put(index, location[0]);
- brokenPartStrings.put(index, location[1]);
- handleStrings.put(index, location[2]);
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_axe_head";
- case 1:
- return "_axe_head_broken";
- case 2:
- return "_axe_handle";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_axe_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "axe";
- }
-
- //1.6.4
- @Override
- public boolean isOffhandHandDual(ItemStack off)
- {
- return PHConstruct.isHatchetWeapon;
- }
-
- //1.6.2
- @Override
- public boolean isOffhandHandDualWeapon() {
- return PHConstruct.isHatchetWeapon;
- }
-}
diff --git a/src/main/java/tconstruct/items/tools/Longsword.java b/src/main/java/tconstruct/items/tools/Longsword.java
deleted file mode 100644
index cb01e5bb..00000000
--- a/src/main/java/tconstruct/items/tools/Longsword.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package tconstruct.items.tools;
-
-import tconstruct.common.TContent;
-import tconstruct.library.tools.Weapon;
-import net.minecraft.client.entity.EntityPlayerSP;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.EnumAction;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Longsword extends Weapon
-{
- public Longsword(int itemID)
- {
- super(itemID, 4);
- this.setUnlocalizedName("InfiTool.Longsword");
- }
-
- public EnumAction getItemUseAction (ItemStack par1ItemStack)
- {
- return EnumAction.bow;
- }
-
- public ItemStack onItemRightClick (ItemStack stack, World world, EntityPlayer player)
- {
- if (player.onGround)
- {
- player.setItemInUse(stack, this.getMaxItemUseDuration(stack));
- }
- return stack;
- }
-
- public float chargeAttack ()
- {
- return 1.5f;
- }
-
- public void onPlayerStoppedUsing (ItemStack stack, World world, EntityPlayer player, int useCount)
- {
- /*if (player.onGround)
- {
- int time = this.getMaxItemUseDuration(stack) - useCount;
- if (time > 5)
- {
- player.addExhaustion(0.2F);
- player.setSprinting(true);
-
- float speed = 0.05F * time;
- if (speed > 0.925f)
- speed = 0.925f;
-
- float increase = (float) (0.02 * time + 0.2);
- if (increase > 0.56f)
- increase = 0.56f;
- player.motionY += increase + speed/3;
-
- player.motionX = (double) (-MathHelper.sin(player.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(player.rotationPitch / 180.0F * (float) Math.PI) * speed);
- player.motionZ = (double) (MathHelper.cos(player.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(player.rotationPitch / 180.0F * (float) Math.PI) * speed);
- }
- }*/
- int time = this.getMaxItemUseDuration(stack) - useCount;
- if (time > 5)
- {
- player.addExhaustion(0.2F);
- player.setSprinting(true);
-
- float increase = (float) (0.02 * time + 0.2);
- if (increase > 0.56f)
- increase = 0.56f;
- player.motionY += increase;
-
- float speed = 0.05F * time;
- if (speed > 0.925f)
- speed = 0.925f;
- player.motionX = (double) (-MathHelper.sin(player.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(player.rotationPitch / 180.0F * (float) Math.PI) * speed);
- player.motionZ = (double) (MathHelper.cos(player.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(player.rotationPitch / 180.0F * (float) Math.PI) * speed);
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void onUpdate (ItemStack stack, World world, Entity entity, int par4, boolean par5)
- {
- super.onUpdate(stack, world, entity, par4, par5);
- if (entity instanceof EntityPlayerSP)
- {
- EntityPlayerSP player = (EntityPlayerSP) entity;
- ItemStack usingItem = player.getItemInUse();
- if (usingItem != null && usingItem.getItem() == this)
- {
- player.movementInput.moveForward *= 5.0F;
- player.movementInput.moveStrafe *= 5.0F;
- }
- }
- }
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.swordBlade;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.handGuard;
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_longsword_blade";
- case 1:
- return "_longsword_blade_broken";
- case 2:
- return "_longsword_handle";
- case 3:
- return "_longsword_accessory";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_longsword_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "longsword";
- }
-}
diff --git a/src/main/java/tconstruct/items/tools/LumberAxe.java b/src/main/java/tconstruct/items/tools/LumberAxe.java
deleted file mode 100644
index 92e13cec..00000000
--- a/src/main/java/tconstruct/items/tools/LumberAxe.java
+++ /dev/null
@@ -1,445 +0,0 @@
-package tconstruct.items.tools;
-
-import tconstruct.common.TContent;
-import tconstruct.library.ActiveToolMod;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.tools.AbilityHelper;
-import tconstruct.library.tools.HarvestTool;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-import net.minecraftforge.common.MinecraftForge;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class LumberAxe extends HarvestTool
-{
- public LumberAxe(int itemID)
- {
- super(itemID, 0);
- this.setUnlocalizedName("InfiTool.LumberAxe");
- }
-
- @Override
- protected Material[] getEffectiveMaterials ()
- {
- return materials;
- }
-
- @Override
- protected String getHarvestType ()
- {
- return "axe";
- }
-
- @Override
- public float getRepairCost ()
- {
- return 4.0f;
- }
-
- public float getDurabilityModifier ()
- {
- return 2.5f;
- }
-
- public String getToolName ()
- {
- return "Lumber Axe";
- }
-
- @Override
- public boolean onBlockDestroyed (ItemStack itemstack, World world, int bID, int x, int y, int z, EntityLivingBase player)
- {
- Block block = Block.blocksList[bID];
- if (block != null && block.blockMaterial == Material.leaves)
- return false;
-
- return AbilityHelper.onBlockChanged(itemstack, world, bID, x, y, z, player, random);
- }
-
- static Material[] materials = { Material.wood, Material.vine, Material.circuits, Material.cactus, Material.pumpkin };
-
- /* Lumber axe specific */
-
- /*@Override
- public void onUpdate (ItemStack stack, World world, Entity entity, int par4, boolean par5)
- {
- super.onUpdate(stack, world, entity, par4, par5);
- if (entity instanceof EntityPlayer)
- {
- EntityPlayer player = (EntityPlayer) entity;
- ItemStack equipped = player.getCurrentEquippedItem();
- if (equipped == stack)
- {
- player.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 1, 1));
- }
- }
- }*/
-
- @Override
- public float getStrVsBlock (ItemStack stack, Block block, int meta)
- {
- if (!stack.hasTagCompound())
- return 1.0f;
-
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- if (tags.getBoolean("Broken"))
- return 0.1f;
-
- Material[] materials = getEffectiveMaterials();
- for (int i = 0; i < materials.length; i++)
- {
- if (materials[i] == block.blockMaterial)
- {
- float mineSpeed = tags.getInteger("MiningSpeed");
- int heads = 1;
- if (tags.hasKey("MiningSpeed2"))
- {
- mineSpeed += tags.getInteger("MiningSpeed2");
- heads++;
- }
-
- if (tags.hasKey("MiningSpeedHandle"))
- {
- mineSpeed += tags.getInteger("MiningSpeedHandle");
- heads++;
- }
-
- if (tags.hasKey("MiningSpeedExtra"))
- {
- mineSpeed += tags.getInteger("MiningSpeedExtra");
- heads++;
- }
- float trueSpeed = mineSpeed / (heads * 300f);
- int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
- int durability = tags.getInteger("Damage");
-
- float stonebound = tags.getFloat("Shoddy");
- float bonusLog = (float) Math.log(durability / 72f + 1) * 2 * stonebound;
- trueSpeed += bonusLog;
-
- if (hlvl <= tags.getInteger("HarvestLevel"))
- return trueSpeed;
- return 0.1f;
- }
- }
- return super.getStrVsBlock(stack, block, meta);
- }
-
- @Override
- public boolean onBlockStartBreak (ItemStack stack, int x, int y, int z, EntityPlayer player)
- {
- if (!stack.hasTagCompound())
- return false;
-
- World world = player.worldObj;
- final int woodID = world.getBlockId(x, y, z);
- final Block wood = Block.blocksList[woodID];
- if (wood == null)
- {
- return super.onBlockStartBreak(stack, x, y, z, player);
- }
- if (wood.isWood(world, x, y, z) || wood.blockMaterial == Material.sponge)
- {
- int height = y;
- boolean foundTop = false;
- do
- {
- height++;
- int blockID = world.getBlockId(x, height, z);
- if (blockID != woodID)
- {
- height--;
- foundTop = true;
- }
- } while (!foundTop);
-
- int numLeaves = 0;
- if (height - y < 50)
- {
- for (int xPos = x - 1; xPos <= x + 1; xPos++)
- {
- for (int yPos = height - 1; yPos <= height + 1; yPos++)
- {
- for (int zPos = z - 1; zPos <= z + 1; zPos++)
- {
- Block leaves = Block.blocksList[world.getBlockId(xPos, yPos, zPos)];
- if (leaves != null && leaves.isLeaves(world, xPos, yPos, zPos))
- numLeaves++;
- }
- }
- }
- }
-
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- int meta = world.getBlockMetadata(x, y, z);
- if (numLeaves > 3)
- breakTree(world, x, y, z, stack, tags, woodID, meta, player);
- else
- destroyWood(world, x, y, z, stack, tags, player);
-
- if (!world.isRemote)
- world.playAuxSFX(2001, x, y, z, woodID + (meta << 12));
- }
- else if (wood.blockMaterial == Material.wood)
- {
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- int meta = world.getBlockMetadata(x, y, z);
- destroyWood(world, x, y, z, stack, tags, player);
- if (!world.isRemote)
- world.playAuxSFX(2001, x, y, z, woodID + (meta << 12));
- }
- return super.onBlockStartBreak(stack, x, y, z, player);
- }
-
- void breakTree (World world, int x, int y, int z, ItemStack stack, NBTTagCompound tags, int bID, int meta, EntityPlayer player)
- {
- Block block;
- for (int xPos = x - 1; xPos <= x + 1; xPos++)
- {
- for (int yPos = y; yPos <= y + 1; yPos++)
- {
- for (int zPos = z - 1; zPos <= z + 1; zPos++)
- {
- if (!(tags.getBoolean("Broken")))
- {
- int localblockID = world.getBlockId(xPos, yPos, zPos);
- if (bID == localblockID)
- {
- block = Block.blocksList[localblockID];
- meta = world.getBlockMetadata(xPos, yPos, zPos);
- int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
-
- if (hlvl <= tags.getInteger("HarvestLevel"))
- {
- boolean cancelHarvest = false;
- for (ActiveToolMod mod : TConstructRegistry.activeModifiers)
- {
- if (mod.beforeBlockBreak(this, stack, xPos, yPos, zPos, player))
- cancelHarvest = true;
- }
-
- if (cancelHarvest)
- {
- breakTree(world, xPos, yPos, zPos, stack, tags, bID, meta, player);
- }
- else
- {
- if (localblockID == bID && world.getBlockMetadata(xPos, yPos, zPos) % 4 == meta % 4)
- {
- /* world.setBlock(xPos, yPos, zPos, 0, 0, 3);
- if (!player.capabilities.isCreativeMode)
- {
- Block.blocksList[bID].harvestBlock(world, player, xPos, yPos, zPos, meta);
- onBlockDestroyed(stack, world, bID, xPos, yPos, zPos, player);
- }*/
- if (!player.capabilities.isCreativeMode)
- {
- if (block.removeBlockByPlayer(world, player, xPos, yPos, zPos))
- {
- block.onBlockDestroyedByPlayer(world, xPos, yPos, zPos, meta);
- }
- block.harvestBlock(world, player, xPos, yPos, zPos, meta);
- block.onBlockHarvested(world, xPos, yPos, zPos, meta, player);
- onBlockDestroyed(stack, world, localblockID, xPos, yPos, zPos, player);
- }
- else
- {
- world.setBlockToAir(xPos, yPos, zPos);
- }
- breakTree(world, xPos, yPos, zPos, stack, tags, bID, meta, player);
- }
- /*else
- {
- Block leaves = Block.blocksList[localID];
- if (leaves != null && leaves.isLeaves(world, xPos, yPos, zPos))
- {
- world.setBlockToAir(xPos, yPos, zPos);
- if (!player.capabilities.isCreativeMode)
- {
- Block.blocksList[bID].harvestBlock(world, player, xPos, yPos, zPos, meta);
- onBlockDestroyed(stack, world, bID, xPos, yPos, zPos, player);
- }
- }
- }*/
- }
- }
- }
- }
- }
- }
- }
- }
-
- void destroyWood (World world, int x, int y, int z, ItemStack stack, NBTTagCompound tags, EntityPlayer player)
- {
- for (int xPos = x - 1; xPos <= x + 1; xPos++)
- {
- for (int yPos = y - 1; yPos <= y + 1; yPos++)
- {
- for (int zPos = z - 1; zPos <= z + 1; zPos++)
- {
- if (!(tags.getBoolean("Broken")))
- {
- int localblockID = world.getBlockId(xPos, yPos, zPos);
- Block block = Block.blocksList[localblockID];
- int meta = world.getBlockMetadata(xPos, yPos, zPos);
- int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
-
- if (block != null && block.blockMaterial == Material.wood)
- {
- if (hlvl <= tags.getInteger("HarvestLevel"))
- {
- boolean cancelHarvest = false;
- for (ActiveToolMod mod : TConstructRegistry.activeModifiers)
- {
- if (mod.beforeBlockBreak(this, stack, xPos, yPos, zPos, player))
- cancelHarvest = true;
- }
-
- if (!cancelHarvest)
- {
- world.setBlockToAir(xPos, yPos, zPos);
- if (!player.capabilities.isCreativeMode)
- {
- block.harvestBlock(world, player, xPos, yPos, zPos, meta);
- onBlockDestroyed(stack, world, localblockID, xPos, yPos, zPos, player);
- }
- }
- }
- }
- }
- }
- }
- }
- }
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.broadAxeHead;
- }
-
- @Override
- public Item getHandleItem ()
- {
- return TContent.toughRod;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.largePlate;
- }
-
- @Override
- public Item getExtraItem ()
- {
- return TContent.toughBinding;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public int getRenderPasses (int metadata)
- {
- return 10;
- }
-
- @Override
- public int getPartAmount ()
- {
- return 4;
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_lumberaxe_head";
- case 1:
- return "_lumberaxe_head_broken";
- case 2:
- return "_lumberaxe_handle";
- case 3:
- return "_lumberaxe_shield";
- case 4:
- return "_lumberaxe_binding";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_lumberaxe_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "lumberaxe";
- }
-
- @Override
- public int durabilityTypeAccessory ()
- {
- return 2;
- }
-
- @Override
- public int durabilityTypeExtra ()
- {
- return 1;
- }
-
- //1.6.4 start
- @Override
- public boolean allowOffhand(ItemStack mainhand, ItemStack offhand)
- {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDual(ItemStack off)
- {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack(ItemStack item)
- {
- return true;
- }
- //1.6.4 end
-
- //1.6.2 start
- @Override
- public boolean willAllowOffhandWeapon() {
- return false;
- }
-
- @Override
- public boolean willAllowShield() {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDualWeapon() {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack() {
- return true;
- }
- //1.6.2 end
-}
diff --git a/src/main/java/tconstruct/items/tools/Mattock.java b/src/main/java/tconstruct/items/tools/Mattock.java
deleted file mode 100644
index 09dff56c..00000000
--- a/src/main/java/tconstruct/items/tools/Mattock.java
+++ /dev/null
@@ -1,189 +0,0 @@
-package tconstruct.items.tools;
-
-import java.util.List;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-import tconstruct.TConstruct;
-import tconstruct.common.TContent;
-import tconstruct.library.crafting.ToolBuilder;
-import tconstruct.library.tools.AbilityHelper;
-import tconstruct.library.tools.DualHarvestTool;
-import tconstruct.util.config.PHConstruct;
-
-public class Mattock extends DualHarvestTool
-{
- public Mattock(int itemID)
- {
- super(itemID, 3);
- this.setUnlocalizedName("InfiTool.Mattock");
- }
-
- @Override
- protected Material[] getEffectiveMaterials ()
- {
- return axeMaterials;
- }
-
- @Override
- protected Material[] getEffectiveSecondaryMaterials ()
- {
- return shovelMaterials;
- }
-
- @Override
- protected String getHarvestType ()
- {
- return "axe";
- }
-
- @Override
- protected String getSecondHarvestType ()
- {
- return "shovel";
- }
-
- static Material[] axeMaterials = { Material.wood, Material.cactus, Material.pumpkin, Material.plants, Material.vine };
- static Material[] shovelMaterials = { Material.grass, Material.ground, Material.clay };
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.hatchetHead;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.shovelHead;
- }
-
- public int durabilityTypeAccessory ()
- {
- return 2;
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_mattock_head";
- case 1:
- return "_mattock_head_broken";
- case 2:
- return "_mattock_handle";
- case 3:
- return "_mattock_back";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_mattock_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "mattock";
- }
-
- /* Mattock specific */
-
- @Override
- public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float clickX, float clickY, float clickZ)
- {
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- if (tags.getBoolean("Broken"))
- return false;
-
- return AbilityHelper.hoeGround(stack, player, world, x, y, z, side, random);
- }
-
- public void buildTool (int id, String name, List list)
- {
- if (!PHConstruct.denyMattock || allowCrafting(id))
- {
- Item accessory = getAccessoryItem();
- ItemStack accessoryStack = accessory != null ? new ItemStack(getAccessoryItem(), 1, id) : null;
- Item extra = getExtraItem();
- ItemStack extraStack = extra != null ? new ItemStack(extra, 1, id) : null;
- ItemStack tool = ToolBuilder.instance.buildTool(new ItemStack(getHeadItem(), 1, id), new ItemStack(getHandleItem(), 1, id), accessoryStack, extraStack, name + getToolName());
- if (tool == null)
- {
- if (!TContent.supressMissingToolLogs)
- {
- TConstruct.logger.warning("Creative builder failed tool for " + name + this.getToolName());
- TConstruct.logger.warning("Make sure you do not have item ID conflicts");
- }
- }
- else
- {
- tool.getTagCompound().getCompoundTag("InfiTool").setBoolean("Built", true);
- list.add(tool);
- }
- }
- }
-
- private boolean allowCrafting (int head)
- {
- int[] nonMetals = { 0, 1, 3, 4, 5, 6, 7, 8, 9, 17 };
- for (int i = 0; i < nonMetals.length; i++)
- {
- if (head == nonMetals[i])
- return false;
- }
- return true;
- }
-
- //1.6.4 start
- @Override
- public boolean allowOffhand(ItemStack mainhand, ItemStack offhand)
- {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDual(ItemStack off)
- {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack(ItemStack item)
- {
- return true;
- }
- //1.6.4 end
-
- //1.6.2 start
- @Override
- public boolean willAllowOffhandWeapon() {
- return false;
- }
-
- @Override
- public boolean willAllowShield() {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDualWeapon() {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack() {
- return true;
- }
- //1.6.2 end
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/items/tools/Pickaxe.java b/src/main/java/tconstruct/items/tools/Pickaxe.java
deleted file mode 100644
index c9950b49..00000000
--- a/src/main/java/tconstruct/items/tools/Pickaxe.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package tconstruct.items.tools;
-
-import tconstruct.common.TContent;
-import tconstruct.library.tools.HarvestTool;
-import net.minecraft.block.material.Material;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-
-public class Pickaxe extends HarvestTool
-{
- public Pickaxe(int itemID)
- {
- super(itemID, 1);
- this.setUnlocalizedName("InfiTool.Pickaxe");
- }
-
- @Override
- protected String getHarvestType ()
- {
- return "pickaxe";
- }
-
- @Override
- protected Material[] getEffectiveMaterials ()
- {
- return materials;
- }
-
- static Material[] materials = new Material[] { Material.rock, Material.iron, Material.ice, Material.glass, Material.piston, Material.anvil, Material.circuits };
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.pickaxeHead;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.binding;
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_pickaxe_head";
- case 1:
- return "_pickaxe_head_broken";
- case 2:
- return "_pickaxe_handle";
- case 3:
- return "_pickaxe_accessory";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_pickaxe_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "pickaxe";
- }
-
- //1.6.4
- @Override
- public boolean isOffhandHandDual(ItemStack off)
- {
- return false;
- }
-
- //1.6.2
- @Override
- public boolean isOffhandHandDualWeapon() {
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/items/tools/PotionLauncher.java b/src/main/java/tconstruct/items/tools/PotionLauncher.java
deleted file mode 100644
index 43af273d..00000000
--- a/src/main/java/tconstruct/items/tools/PotionLauncher.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package tconstruct.items.tools;
-
-import java.util.List;
-
-import tconstruct.entity.projectile.LaunchedPotion;
-
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.item.EnumAction;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.Icon;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class PotionLauncher extends Item
-{
- @SideOnly(Side.CLIENT)
- private Icon[] icons;
- public static final String[] textureNames = new String[] { "potionlauncher" };
-
- public PotionLauncher(int par1)
- {
- super(par1);
- this.maxStackSize = 1;
- this.setCreativeTab(CreativeTabs.tabCombat);
- this.setMaxDamage(3);
- }
-
- public ItemStack onEaten (ItemStack stack, World world, EntityPlayer player)
- {
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- boolean loaded = tags.getBoolean("Loaded");
- if (!loaded)
- {
- int slotID = getInventorySlotContainItem(Item.potion.itemID, player.inventory);
- ItemStack potion = player.inventory.getStackInSlot(slotID);
-
- NBTTagCompound potionTag = new NBTTagCompound();
- potion.writeToNBT(potionTag);
- tags.setCompoundTag("LoadedPotion", potionTag);
- tags.setBoolean("Loaded", true);
-
- if (!player.capabilities.isCreativeMode)
- {
- potion.stackSize--;
- if (potion.stackSize < 1)
- player.inventory.setInventorySlotContents(slotID, null);
- }
-
- world.playSoundEffect(player.posX, player.posY, player.posZ, "tinker:launcher_clank", 1.0F, (world.rand.nextFloat() - world.rand.nextFloat()) * 0.15F + 1.0F);
- }
- return stack;
- }
-
- public void onPlayerStoppedUsing (ItemStack stack, World world, EntityPlayer player, int time)
- {
-
- }
-
- public ItemStack onItemRightClick (ItemStack stack, World world, EntityPlayer player)
- {
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- int slotID = getInventorySlotContainItem(Item.potion.itemID, player.inventory);
- if (!tags.getBoolean("Loaded") && slotID >= 0)
- player.setItemInUse(stack, this.getMaxItemUseDuration(stack));
- return stack;
- }
-
- /**
- * How long it takes to use or consume an item
- */
- public int getMaxItemUseDuration (ItemStack stack)
- {
- return 30;
- }
-
- /**
- * returns the action that specifies what animation to play when the items is being used
- */
- public EnumAction getItemUseAction (ItemStack stack)
- {
- if (!stack.getTagCompound().getCompoundTag("InfiTool").getBoolean("Loaded"))
- return EnumAction.bow;
- else
- return EnumAction.none;
- }
-
- @SideOnly(Side.CLIENT)
- public void registerIcons (IconRegister par1IconRegister)
- {
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = par1IconRegister.registerIcon("tinker:" + textureNames[i]);
- }
- }
-
- @SideOnly(Side.CLIENT)
- public Icon getIconFromDamage (int meta)
- {
- return icons[0];
- }
-
- @Override
- public void getSubItems (int id, CreativeTabs tabs, List list)
- {
- ItemStack stack = new ItemStack(id, 1, 0);
- NBTTagCompound compound = new NBTTagCompound();
- NBTTagCompound tags = new NBTTagCompound();
- compound.setCompoundTag("InfiTool", tags);
-
- tags.setBoolean("Loaded", false);
-
- stack.setTagCompound(compound);
-
- list.add(stack);
- }
-
- @Override
- public boolean onEntitySwing (EntityLivingBase player, ItemStack stack)
- {
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- if (tags.getBoolean("Loaded"))
- {
- NBTTagCompound potionTag = tags.getCompoundTag("LoadedPotion");
- ItemStack potion = ItemStack.loadItemStackFromNBT(potionTag);//findPotion(player);InventoryLogic
- if (potion != null)
- {
- World world = player.worldObj;
- world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));
-
- if (!world.isRemote)
- {
- world.spawnEntityInWorld(new LaunchedPotion(world, player, potion));
- }
- tags.removeTag("LoadedPotion");
- tags.setBoolean("Loaded", false);
- }
- return true;
- }
- return false;
- }
-
- ItemStack findPotion (EntityLivingBase living)
- {
- if (living instanceof EntityPlayer)
- {
- EntityPlayer player = (EntityPlayer) living;
- int potionSlot = getInventorySlotContainItem(Item.potion.itemID, player.inventory);
- if (potionSlot >= 0)
- {
- return player.inventory.getStackInSlot(potionSlot);
- }
- }
- return null;
- }
-
- int getInventorySlotContainItem (int itemID, InventoryPlayer inventory)
- {
- for (int j = 0; j < inventory.mainInventory.length; ++j)
- {
- if (inventory.mainInventory[j] != null && inventory.mainInventory[j].itemID == itemID)
- {
- return j;
- }
- }
-
- return -1;
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- list.add(StatCollector.translateToLocal("potionlauncher.tooltip"));
- }
-}
diff --git a/src/main/java/tconstruct/items/tools/Rapier.java b/src/main/java/tconstruct/items/tools/Rapier.java
deleted file mode 100644
index d33597a6..00000000
--- a/src/main/java/tconstruct/items/tools/Rapier.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package tconstruct.items.tools;
-
-import tconstruct.common.TContent;
-import tconstruct.library.tools.Weapon;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.EnumAction;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-
-public class Rapier extends Weapon
-{
- public Rapier(int itemID)
- {
- super(itemID, 2);
- this.setUnlocalizedName("InfiTool.Rapier");
- }
-
- public EnumAction getItemUseAction (ItemStack par1ItemStack)
- {
- return EnumAction.none;
- }
-
- public ItemStack onItemRightClick (ItemStack stack, World world, EntityPlayer player)
- {
- if (player.onGround)
- {
- player.addExhaustion(0.1f);
- player.motionY += 0.32;
- float f = 0.5F;
- player.motionX = (double) (MathHelper.sin(player.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(player.rotationPitch / 180.0F * (float) Math.PI) * f);
- player.motionZ = (double) (-MathHelper.cos(player.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(player.rotationPitch / 180.0F * (float) Math.PI) * f);
- }
- return stack;
- }
-
- @Override
- public boolean hitEntity (ItemStack stack, EntityLivingBase mob, EntityLivingBase player)
- {
- //AbilityHelper.hitEntity(stack, mob, player, damageVsEntity);
- //AbilityHelper.knockbackEntity(mob, 0.8f);
- mob.motionY *= 0.8;
- if (mob.hurtResistantTime > 18)
- mob.hurtResistantTime -= 5;
- return true;
- }
-
- @Override
- public float getDurabilityModifier ()
- {
- return 0.7f;
- }
-
- @Override
- public float getDamageModifier ()
- {
- return 0.8f;
- }
-
- /*public float chargeAttack ()
- {
- return 1.0f;
- }*/
-
- public boolean pierceArmor ()
- {
- return true;
- }
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.swordBlade;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.crossbar;
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_rapier_blade";
- case 1:
- return "_rapier_blade_broken";
- case 2:
- return "_rapier_handle";
- case 3:
- return "_rapier_accessory";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_rapier_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "rapier";
- }
-
- protected Material[] getEffectiveMaterials ()
- {
- return none;
- }
-}
diff --git a/src/main/java/tconstruct/items/tools/Scythe.java b/src/main/java/tconstruct/items/tools/Scythe.java
deleted file mode 100644
index 66e326f2..00000000
--- a/src/main/java/tconstruct/items/tools/Scythe.java
+++ /dev/null
@@ -1,262 +0,0 @@
-package tconstruct.items.tools;
-
-import java.util.List;
-
-import tconstruct.common.TContent;
-import tconstruct.library.ActiveToolMod;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.tools.AbilityHelper;
-import tconstruct.library.tools.Weapon;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Scythe extends Weapon
-{
- public Scythe(int itemID)
- {
- super(itemID, 4);
- this.setUnlocalizedName("InfiTool.Scythe");
- }
-
- /*@Override
- protected String getHarvestType()
- {
- return "sword";
- }*/
-
- @Override
- protected Material[] getEffectiveMaterials ()
- {
- return materials;
- }
-
- static Material[] materials = new Material[] { Material.web, Material.cactus, Material.pumpkin, Material.plants, Material.vine, Material.leaves };
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.scytheBlade;
- }
-
- @Override
- public Item getHandleItem ()
- {
- return TContent.toughRod;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.toughBinding;
- }
-
- @Override
- public Item getExtraItem ()
- {
- return TContent.toughRod;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public int getRenderPasses (int metadata)
- {
- return 10;
- }
-
- @Override
- public int getPartAmount ()
- {
- return 4;
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_scythe_head";
- case 1:
- return "_scythe_head_broken";
- case 2:
- return "_scythe_handle";
- case 3:
- return "_scythe_binding";
- case 4:
- return "_scythe_accessory";
- default:
- return "";
- }
- }
-
- public float getDurabilityModifier ()
- {
- return 3.0f;
- }
-
- @Override
- public float getRepairCost ()
- {
- return 4.0f;
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_scythe_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "scythe";
- }
-
- @Override
- public int durabilityTypeAccessory ()
- {
- return 1;
- }
-
- @Override
- public int durabilityTypeExtra ()
- {
- return 1;
- }
-
- @Override
- public float getDamageModifier ()
- {
- return 0.75f;
- }
-
- @Override
- public String[] toolCategories ()
- {
- return new String[] { "weapon", "melee", "harvest" };
- }
-
- /* Scythe Specific */
-
- @Override
- public boolean onBlockStartBreak (ItemStack stack, int x, int y, int z, EntityPlayer player)
- {
- if (!stack.hasTagCompound())
- return false;
-
- World world = player.worldObj;
- final int blockID = world.getBlockId(x, y, z);
- final int meta = world.getBlockMetadata(x, y, z);
- if (!stack.hasTagCompound())
- return false;
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- for (int xPos = x - 1; xPos <= x + 1; xPos++)
- {
- for (int yPos = y - 1; yPos <= y + 1; yPos++)
- {
- for (int zPos = z - 1; zPos <= z + 1; zPos++)
- {
- if (!(tags.getBoolean("Broken")))
- {
- boolean cancelHarvest = false;
- for (ActiveToolMod mod : TConstructRegistry.activeModifiers)
- {
- if (mod.beforeBlockBreak(this, stack, xPos, yPos, zPos, player))
- cancelHarvest = true;
- }
-
- if (!cancelHarvest)
- {
- int localblockID = world.getBlockId(xPos, yPos, zPos);
- Block block = Block.blocksList[localblockID];
- if (block != null)// && (block.blockMaterial == Material.leaves || block.isLeaves(world, xPos, yPos, zPos)))
- {
- for (int iter = 0; iter < materials.length; iter++)
- {
- if (materials[iter] == block.blockMaterial)
- {
- int localMeta = world.getBlockMetadata(xPos, yPos, zPos);
- world.setBlockToAir(xPos, yPos, zPos);
- if (!player.capabilities.isCreativeMode)
- {
- block.onBlockDestroyedByPlayer(world, x, y, z, meta);
- block.harvestBlock(world, player, xPos, yPos, zPos, localMeta);
- block.onBlockHarvested(world, x, y, z, localMeta, player);
- onBlockDestroyed(stack, world, localblockID, xPos, yPos, zPos, player);
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (!world.isRemote)
- world.playAuxSFX(2001, x, y, z, blockID + (meta << 12));
- return super.onBlockStartBreak(stack, x, y, z, player);
- }
-
- public boolean onLeftClickEntity (ItemStack stack, EntityPlayer player, Entity entity)
- {
- AxisAlignedBB box = AxisAlignedBB.getAABBPool().getAABB(entity.posX, entity.posY, entity.posZ, entity.posX + 1.0D, entity.posY + 1.0D, entity.posZ + 1.0D).expand(1.0D, 1.0D, 1.0D);
- List list = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, box);
- for (Object o : list)
- {
- AbilityHelper.onLeftClickEntity(stack, player, (Entity) o, this);
- }
- return true;
- }
-
- //1.6.4 start
- @Override
- public boolean allowOffhand(ItemStack mainhand, ItemStack offhand)
- {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDual(ItemStack off)
- {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack(ItemStack item)
- {
- return true;
- }
- //1.6.2 end
-
- //1.6.2 start
- @Override
- public boolean willAllowOffhandWeapon() {
- return false;
- }
-
- @Override
- public boolean willAllowShield() {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDualWeapon() {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack() {
- return true;
- }
- //1.6.2 end
-}
diff --git a/src/main/java/tconstruct/items/tools/Shortbow.java b/src/main/java/tconstruct/items/tools/Shortbow.java
deleted file mode 100644
index 55f7c38c..00000000
--- a/src/main/java/tconstruct/items/tools/Shortbow.java
+++ /dev/null
@@ -1,252 +0,0 @@
-package tconstruct.items.tools;
-
-import java.util.List;
-
-import net.minecraft.client.entity.EntityPlayerSP;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-import tconstruct.common.TContent;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Shortbow extends BowBase
-{
- public Shortbow(int itemID)
- {
- super(itemID);
- this.setUnlocalizedName("InfiTool.Shortbow");
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_bow_top";
- case 1:
- return "_bowstring_broken";
- case 2:
- return "_bowstring";
- case 3:
- return "_bow_bottom";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_bow_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "shortbow";
- }
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.toolRod;
- }
-
- @Override
- public Item getHandleItem ()
- {
- return TContent.bowstring;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return TContent.toolRod;
- }
-
- @Override
- public String[] toolCategories ()
- {
- return new String[] { "weapon", "ranged", "bow" };
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void onUpdate (ItemStack stack, World world, Entity entity, int par4, boolean par5)
- {
- super.onUpdate(stack, world, entity, par4, par5);
- if (entity instanceof EntityPlayerSP)
- {
- EntityPlayerSP player = (EntityPlayerSP) entity;
- ItemStack usingItem = player.getItemInUse();
- if (usingItem != null && usingItem.getItem() == this)
- {
- player.movementInput.moveForward *= 2.0F;
- player.movementInput.moveStrafe *= 2.0F;
- }
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4)
- {
- if (!stack.hasTagCompound())
- return;
-
- NBTTagCompound tags = stack.getTagCompound();
- if (tags.hasKey("charge"))
- {
- String color = "";
- //double joules = this.getJoules(stack);
- int power = tags.getInteger("charge");
-
- if (power != 0)
- {
- if (power <= this.getMaxCharge(stack) / 3)
- color = "\u00a74";
- else if (power > this.getMaxCharge(stack) * 2 / 3)
- color = "\u00a72";
- else
- color = "\u00a76";
- }
-
- String charge = new StringBuilder().append(color).append(tags.getInteger("charge")).append("/").append(getMaxCharge(stack)).append(" EU").toString();
- list.add(charge);
- }
- if (tags.hasKey("Energy"))
- {
- String color = "";
- int RF = tags.getInteger("Energy");
-
- if (RF != 0)
- {
- if (RF <= this.getMaxEnergyStored(stack) / 3)
- color = "\u00a74";
- else if (RF > this.getMaxEnergyStored(stack) * 2 / 3)
- color = "\u00a72";
- else
- color = "\u00a76";
- }
-
- String energy = new StringBuilder().append(color).append(tags.getInteger("Energy")).append("/").append(getMaxEnergyStored(stack)).append(" RF").toString();
- list.add(energy);
- }
- if (tags.hasKey("InfiTool"))
- {
- boolean broken = tags.getCompoundTag("InfiTool").getBoolean("Broken");
- if (broken)
- list.add("\u00A7oBroken");
- else
- {
- int head = tags.getCompoundTag("InfiTool").getInteger("Head");
- int handle = tags.getCompoundTag("InfiTool").getInteger("Handle");
- int binding = tags.getCompoundTag("InfiTool").getInteger("Accessory");
- int extra = tags.getCompoundTag("InfiTool").getInteger("Extra");
-
- String headName = getAbilityNameForType(head);
- if (!headName.equals(""))
- list.add(getStyleForType(head) + headName);
-
- String handleName = getBowstringName(handle);
- if (!handleName.equals("") && handle != head)
- list.add(handleName);
-
- if (getPartAmount() >= 3)
- {
- String bindingName = getAbilityNameForType(binding);
- if (!bindingName.equals("") && binding != head && binding != handle)
- list.add(getStyleForType(binding) + bindingName);
- }
-
- if (getPartAmount() >= 4)
- {
- String extraName = getAbilityNameForType(extra);
- if (!extraName.equals("") && extra != head && extra != handle && extra != binding)
- list.add(getStyleForType(extra) + extraName);
- }
-
- int unbreaking = tags.getCompoundTag("InfiTool").getInteger("Unbreaking");
- String reinforced = getReinforcedName(head, handle, binding, extra, unbreaking);
- if (!reinforced.equals(""))
- list.add(reinforced);
-
- boolean displayToolTips = true;
- int tipNum = 0;
- while (displayToolTips)
- {
- tipNum++;
- String tooltip = "Tooltip" + tipNum;
- if (tags.getCompoundTag("InfiTool").hasKey(tooltip))
- {
- String tipName = tags.getCompoundTag("InfiTool").getString(tooltip);
- if (!tipName.equals(""))
- list.add(tipName);
- }
- else
- displayToolTips = false;
- }
- }
- }
- }
-
- public String getBowstringName (int type)
- {
- switch (type)
- {
- case 0:
- return "";
- case 1:
- return "\u00A7bEnchanted";
- default:
- return "";
- }
- //return TConstructRegistry.getMaterial(type).ability();
- }
-
- //1.6.4 start
- @Override
- public boolean allowOffhand(ItemStack mainhand, ItemStack offhand)
- {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDual(ItemStack off)
- {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack(ItemStack item)
- {
- return true;
- }
- //1.6.4 end
-
- //1.6.2 start
- @Override
- public boolean willAllowOffhandWeapon() {
- return false;
- }
-
- @Override
- public boolean willAllowShield() {
- return false;
- }
-
- @Override
- public boolean isOffhandHandDualWeapon() {
- return false;
- }
-
- @Override
- public boolean sheatheOnBack() {
- return true;
- }
-}
diff --git a/src/main/java/tconstruct/items/tools/Shovel.java b/src/main/java/tconstruct/items/tools/Shovel.java
deleted file mode 100644
index 4f76a231..00000000
--- a/src/main/java/tconstruct/items/tools/Shovel.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package tconstruct.items.tools;
-
-import tconstruct.common.TContent;
-import tconstruct.library.tools.HarvestTool;
-import net.minecraft.block.material.Material;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class Shovel extends HarvestTool
-{
- public Shovel(int itemID)
- {
- super(itemID, 2);
- this.setUnlocalizedName("InfiTool.Shovel");
- }
-
- @Override
- protected Material[] getEffectiveMaterials ()
- {
- return materials;
- }
-
- @Override
- protected String getHarvestType ()
- {
- return "shovel";
- }
-
- static Material[] materials = { Material.grass, Material.ground, Material.sand, Material.snow, Material.craftedSnow, Material.clay };
-
- @Override
- public Item getHeadItem ()
- {
- return TContent.shovelHead;
- }
-
- @Override
- public Item getAccessoryItem ()
- {
- return null;
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public int getRenderPasses (int metadata)
- {
- return 8;
- }
-
- @Override
- public int getPartAmount ()
- {
- return 2;
- }
-
- @Override
- public void registerPartPaths (int index, String[] location)
- {
- headStrings.put(index, location[0]);
- brokenPartStrings.put(index, location[1]);
- handleStrings.put(index, location[2]);
- }
-
- @Override
- public String getIconSuffix (int partType)
- {
- switch (partType)
- {
- case 0:
- return "_shovel_head";
- case 1:
- return "_shovel_head_broken";
- case 2:
- return "_shovel_handle";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix ()
- {
- return "_shovel_effect";
- }
-
- @Override
- public String getDefaultFolder ()
- {
- return "shovel";
- }
-
- //1.6.4
- @Override
- public boolean isOffhandHandDual(ItemStack off)
- {
- return false;
- }
-
- //1.6.2
- @Override
- public boolean isOffhandHandDualWeapon() {
- return false;
- }
-
- /*@Override
- public Icon getIcon (ItemStack stack, int renderPass)
- {
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
-
- if (renderPass == 0) // Handle
- {
- return (handleIcons.get(tags.getInteger("RenderHandle")));
- }
-
- if (renderPass == 1) // Head
- {
- if (tags.getBoolean("Broken"))
- return (brokenHeadIcons.get(tags.getInteger("RenderHead")));
- else
- return (headIcons.get(tags.getInteger("RenderHead")));
- }
-
- if (renderPass == 2)
- {
- if (tags.hasKey("Effect1"))
- return (effectIcons.get(tags.getInteger("Effect1")));
- }
-
- if (renderPass == 3)
- {
- if (tags.hasKey("Effect2"))
- return (effectIcons.get(tags.getInteger("Effect2")));
- }
-
- if (renderPass == 4)
- {
- if (tags.hasKey("Effect3"))
- return (effectIcons.get(tags.getInteger("Effect3")));
- }
-
- return TProxyClient.blankSprite;
- }*/
-}
diff --git a/src/main/java/tconstruct/library/ActiveToolMod.java b/src/main/java/tconstruct/library/ActiveToolMod.java
deleted file mode 100644
index a56bd530..00000000
--- a/src/main/java/tconstruct/library/ActiveToolMod.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package tconstruct.library;
-
-import tconstruct.library.tools.ToolCore;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-
-public class ActiveToolMod
-{
- /* Updating */
- public void updateTool (ToolCore tool, ItemStack stack, World world, Entity entity)
- {
-
- }
-
- /* Harvesting */
- public boolean beforeBlockBreak (ToolCore tool, ItemStack stack, int x, int y, int z, EntityLivingBase entity)
- {
- return false;
- }
-
- public boolean afterBlockBreak () //Unfinished, not called
- {
- return false;
- }
-
- /* Attacking */
-
- public int baseAttackDamage (int earlyModDamage, int damage, ToolCore tool, NBTTagCompound tags, NBTTagCompound toolTags, ItemStack stack, EntityLivingBase player, Entity entity)
- {
- return 0;
- }
-
- //Calculated after sprinting and enchant bonuses
- public float knockback (float modKnockback, float currentKnockback, ToolCore tool, NBTTagCompound tags, NBTTagCompound toolTags, ItemStack stack, EntityLivingBase player, Entity entity)
- {
- return 0f;
- }
-
- public int attackDamage (int modDamage, int currentDamage, ToolCore tool, NBTTagCompound tags, NBTTagCompound toolTags, ItemStack stack, EntityLivingBase player, Entity entity)
- {
- return 0;
- }
-
- public void lateAttackEntity () //Unfinished, not called
- {
-
- }
-
- /* Damage tool */
- public boolean damageTool (ItemStack stack, int damage, EntityLivingBase entity)
- {
- return false;
- }
-
- public boolean doesCriticalHit (ToolCore tool, NBTTagCompound tags, NBTTagCompound toolTags, ItemStack stack, EntityLivingBase player, Entity entity)
- {
- return false;
- }
-}
diff --git a/src/main/java/tconstruct/library/ItemBlocklike.java b/src/main/java/tconstruct/library/ItemBlocklike.java
deleted file mode 100644
index 46375dbe..00000000
--- a/src/main/java/tconstruct/library/ItemBlocklike.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package tconstruct.library;
-
-public interface ItemBlocklike
-{
-}
diff --git a/src/main/java/tconstruct/library/TConstructRegistry.java b/src/main/java/tconstruct/library/TConstructRegistry.java
deleted file mode 100644
index 17f7abe9..00000000
--- a/src/main/java/tconstruct/library/TConstructRegistry.java
+++ /dev/null
@@ -1,709 +0,0 @@
-package tconstruct.library;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.logging.Logger;
-
-import tconstruct.library.crafting.Detailing;
-import tconstruct.library.crafting.LiquidCasting;
-import tconstruct.library.crafting.ToolBuilder;
-import tconstruct.library.tools.ArrowMaterial;
-import tconstruct.library.tools.BowMaterial;
-import tconstruct.library.tools.BowstringMaterial;
-import tconstruct.library.tools.CustomMaterial;
-import tconstruct.library.tools.FletchingMaterial;
-import tconstruct.library.tools.ToolCore;
-import tconstruct.library.tools.ToolMaterial;
-import tconstruct.library.util.TabTools;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-
-/** A registry to store any relevant API work
- *
- * @author mDiyo
- */
-
-public class TConstructRegistry
-{
- public static TConstructRegistry instance = new TConstructRegistry();
-
- public static Logger logger = Logger.getLogger("TCon-API");
-
- /* Creative tabs */
- public static TabTools toolTab;
- public static TabTools materialTab;
- public static TabTools blockTab;
-
- /* Items */
-
- /** A directory of crafting items and tools used by the mod.
- *
- * Tools:
- * pickaxe, shovel, hatchet, broadsword, longsword, rapier, dagger, cutlass
- * frypan, battlesign, mattock, chisel
- * lumberaxe, cleaver, scythe, excavator, hammer, battleaxe
- *
- * Patterns:
- * blankPattern, woodPattern, metalPattern
- *
- * Tool crafting parts:
- * toolRod, toolShard, binding, toughBinding, toughRod, heavyPlate
- * pickaxeHead, shovelhead, hatchetHead, swordBlade, wideguard, handGuard, crossbar, knifeBlade,
- * fullGuard, frypanHead, signHead, chiselHead
- * scytheBlade, broadAxeHead, excavatorHead, largeSwordBlade, hammerHead
- * bowstring, fletching, arrowhead
- */
- public static HashMap itemDirectory = new HashMap();
-
- /** Adds an item to the directory
- *
- * @param name Associates the name with the stack
- * @param itemstack The stack to add to the directory
- */
-
- public static void addItemToDirectory (String name, Item itemstack)
- {
- Item add = itemDirectory.get(name);
- if (add != null)
- logger.warning(name + " is already present in the Item directory");
-
- itemDirectory.put(name, itemstack);
- }
-
- /** Retrieves an itemstack from the directory
- *
- * @param name The name of the item to get
- * @return Item associated with the name, or null if not present.
- */
-
- public static Item getItem (String name)
- {
- Item ret = itemDirectory.get(name);
- if (ret == null)
- logger.warning("Could not find " + name + " in the Item directory");
-
- return ret;
- }
-
- /** A directory of ItemStacks. Contains mostly crafting items
- *
- * Materials:
- * paperStack, greenSlimeCrystal, blueSlimeCrystal, searedBrick, mossBall, lavaCrystal, necroticBone, silkyCloth, silkyJewel
- * ingotCobalt, ingotArdite, ingotManyullyn, ingotCopper, ingotTin, ingotAluminum, rawAluminum,
- * ingotBronze, ingotAluminumBrass, ingotAlumite, ingotSteel, ingotObsidian
- * nuggetIron, nuggetCopper, nuggetTin, nuggetAluminum, nuggetSilver, nuggetAluminumBrass
- * oreberryIron, oreberryGold, oreberryCopper, oreberryTin, oreberryTin, oreberrySilver,
- * diamondApple, blueSlimeFood, canisterEmpty, miniRedHeart, canisterRedHeart
- *
- * Patterns - These have a suffix of Pattern or Cast. ex: hatchetHeadPattern
- * ingot, toolRod, pickaxeHead, shovelHead, hatchetHead, swordBlade, wideGuard, handGuard, crossbar, binding, frypanHead, signHead,
- * knifeBlade, chiselHead, toughRod, toughBinding, largePlate, broadAxeHead, scytheHead, excavatorHead, largeBlade, hammerHead, fullGuard, bowstring
- */
- static HashMap itemstackDirectory = new HashMap();
-
- /** Adds an itemstack to the directory
- *
- * @param name Associates the name with the stack
- * @param itemstack The stack to add to the directory
- */
-
- public static void addItemStackToDirectory (String name, ItemStack itemstack)
- {
- ItemStack add = itemstackDirectory.get(name);
- if (add != null)
- logger.warning(name + " is already present in the ItemStack directory");
-
- itemstackDirectory.put(name, itemstack);
- }
-
- /** Retrieves an itemstack from the directory
- *
- * @param name The name of the item to get
- * @return Item associated with the name, or null if not present.
- */
-
- public static ItemStack getItemStack (String name)
- {
- ItemStack ret = itemstackDirectory.get(name);
- if (ret == null)
- logger.warning("Could not find " + name + " in the ItemStack directory");
-
- return ret;
- }
-
- public static ArrayList tools = new ArrayList(20);
-
- //Parts
-
- /** List: Item ID, metadata, material ID
- * ItemStack: Output. Ex: Cactus Binding
- */
- public static HashMap patternPartMapping = new HashMap();
-
- /** Maps an item and a material ID to an output part
- *
- * @param patternID ID to check against
- * @param patternMeta Metadata to check against
- * @param materialID Material that goes with the item
- * @param output The resulting part
- */
- public static void addPartMapping (int patternID, int patternMeta, int materialID, ItemStack output)
- {
- patternPartMapping.put(Arrays.asList(patternID, patternMeta, materialID), output);
- }
-
- public static ItemStack getPartMapping (int itemID, int metadata, int materialID)
- {
- ItemStack stack = patternPartMapping.get(Arrays.asList(itemID, metadata, materialID));
- if (stack != null)
- return stack.copy();
- return null;
- }
-
- //Tools
-
- /** Internal tool mapping, used for adding textures
- *
- * @param tool
- */
-
- public static void addToolMapping (ToolCore tool)
- {
- tools.add(tool);
- }
-
- /** Internal tool mapping, used for adding textures
- *
- * @return List of tools
- */
-
- public static ArrayList getToolMapping ()
- {
- return tools;
- }
-
- /** Registers a tool to its crafting parts.
- * If an output is registered multiple times the parts are added to the recipe's input list
- * Valid part amounts are 2, 3, and 4.
- *
- * @see ToolBuidler
- * @param output The ToolCore to craft
- * @param parts Pieces to make the tool with
- */
- public static void addToolRecipe (ToolCore output, Item... parts)
- {
- ToolBuilder tb = ToolBuilder.instance;
- if (parts.length < 2 || parts.length > 4)
- logger.warning("Wrong amount of items to craft into a tool");
-
- tb.addToolRecipe(output, parts);
- }
-
- //Materials
- public static HashMap toolMaterials = new HashMap(40);
- public static HashMap toolMaterialStrings = new HashMap(40);
-
- /** Adds a tool material to the registry
- *
- * @param materialID Unique ID, stored for each part
- * @exception materialID must be unique
- * @param materialName Unique name for data lookup purposes
- * @param harvestLevel The materials which the tool can harvest. Pickaxe levels - 0: Wood, 1: Stone, 2: Redstone/Diamond, 3: Obsidian, 4: Cobalt/Ardite, 5: Manyullyn
- * @param durability Base durability of the tool, affects tool heads.
- * @param miningspeed Base mining speed, divided by 100 in use
- * @param attack Base attack
- * @param handleModifier Durability multiplier on the tool
- * @param reinforced Reinforced level
- * @param stonebound Amount of Stonebound to put on the tool. Negative numbers are Spiny.
- */
-
- public static void addToolMaterial (int materialID, String materialName, int harvestLevel, int durability, int miningspeed, int attack, float handleModifier, int reinforced, float stonebound,
- String style, String ability)
- {
- ToolMaterial mat = toolMaterials.get(materialID);
- if (mat == null)
- {
- mat = new ToolMaterial(materialName, harvestLevel, durability, miningspeed, attack, handleModifier, reinforced, stonebound, style, ability);
- toolMaterials.put(materialID, mat);
- toolMaterialStrings.put(materialName, mat);
- }
- else
- throw new IllegalArgumentException("[TCon API] Material ID " + materialID + " is already occupied by " + mat.materialName);
- }
-
- /** Adds a tool material to the registry
- *
- * @param materialID Unique ID, stored for each part
- * @exception materialID must be unique
- * @param materialName Unique name for data lookup purposes
- * @param displayName Prefix for creative mode tools
- * @param harvestLevel The materials which the tool can harvest. Pickaxe levels - 0: Wood, 1: Stone, 2: Redstone/Diamond, 3: Obsidian, 4: Cobalt/Ardite, 5: Manyullyn
- * @param durability Base durability of the tool, affects tool heads.
- * @param miningspeed Base mining speed, divided by 100 in use
- * @param attack Base attack
- * @param handleModifier Durability multiplier on the tool
- * @param reinforced Reinforced level
- * @param stonebound Amount of Stonebound to put on the tool. Negative numbers are Spiny.
- */
-
- public static void addToolMaterial (int materialID, String materialName, String displayName, int harvestLevel, int durability, int miningspeed, int attack, float handleModifier, int reinforced,
- float stonebound, String style, String ability)
- {
- ToolMaterial mat = toolMaterials.get(materialID);
- if (mat == null)
- {
- mat = new ToolMaterial(materialName, displayName, harvestLevel, durability, miningspeed, attack, handleModifier, reinforced, stonebound, style, ability);
- toolMaterials.put(materialID, mat);
- toolMaterialStrings.put(materialName, mat);
- }
- else
- throw new IllegalArgumentException("[TCon API] Material ID " + materialID + " is already occupied by " + mat.materialName);
- }
-
- /** Adds a tool material to the registry
- *
- * @param materialID Unique ID, stored for each part
- * @exception materialID must be unique
- * @param material Complete tool material to add. Uses the name in the material for lookup purposes.
- */
-
- public static void addtoolMaterial (int materialID, ToolMaterial material)
- {
- ToolMaterial mat = toolMaterials.get(materialID);
- if (mat == null)
- {
- toolMaterials.put(materialID, mat);
- toolMaterialStrings.put(material.name(), mat);
- }
- else
- throw new IllegalArgumentException("[TCon API] Material ID " + materialID + " is already occupied by " + mat.materialName);
- }
-
- /** Looks up a tool material by ID
- *
- * @param key The ID to look up
- * @return Tool Material
- */
-
- public static ToolMaterial getMaterial (int key)
- {
- return (toolMaterials.get(key));
- }
-
- /** Looks up a tool material by name
- *
- * @param key the name to look up
- * @return Tool Material
- */
-
- public static ToolMaterial getMaterial (String key)
- {
- return (toolMaterialStrings.get(key));
- }
-
- //Bow materials
- public static HashMap bowMaterials = new HashMap(40);
-
- public static void addBowMaterial (int materialID, int durability, int drawSpeed, float speedMax)
- {
- BowMaterial mat = bowMaterials.get(materialID);
- if (mat == null)
- {
- mat = new BowMaterial(durability, drawSpeed, speedMax);
- bowMaterials.put(materialID, mat);
- }
- else
- throw new IllegalArgumentException("[TCon API] Bow Material ID " + materialID + " is already occupied");
- }
-
- public static boolean validBowMaterial (int materialID)
- {
- return bowMaterials.containsKey(materialID);
- }
-
- public static BowMaterial getBowMaterial (int materialID)
- {
- return bowMaterials.get(materialID);
- }
-
- public static HashMap arrowMaterials = new HashMap(40);
-
- public static void addArrowMaterial (int materialID, float mass, float breakChance, float accuracy)
- {
- ArrowMaterial mat = arrowMaterials.get(materialID);
- if (mat == null)
- {
- mat = new ArrowMaterial(mass, breakChance, accuracy);
- arrowMaterials.put(materialID, mat);
- }
- else
- throw new IllegalArgumentException("[TCon API] Arrow Material ID " + materialID + " is already occupied");
- }
-
- public static boolean validArrowMaterial (int materialID)
- {
- return arrowMaterials.containsKey(materialID);
- }
-
- public static ArrowMaterial getArrowMaterial (int materialID)
- {
- return arrowMaterials.get(materialID);
- }
-
- //Custom materials - bowstrings, fletching, etc
- public static ArrayList customMaterials = new ArrayList();
-
- public static void addCustomMaterial (CustomMaterial mat)
- {
- if (mat != null)
- customMaterials.add(mat);
- }
-
- public static void addBowstringMaterial (int materialID, int value, ItemStack input, ItemStack craftingMaterial, float durability, float drawSpeed, float flightSpeed)
- {
- BowstringMaterial mat = new BowstringMaterial(materialID, value, input, craftingMaterial, durability, drawSpeed, flightSpeed);
- customMaterials.add(mat);
- }
-
- public static void addFletchingMaterial (int materialID, int value, ItemStack input, ItemStack craftingMaterial, float accuracy, float breakChance, float mass)
- {
- FletchingMaterial mat = new FletchingMaterial(materialID, value, input, craftingMaterial, accuracy, breakChance, mass);
- customMaterials.add(mat);
- }
-
- public static CustomMaterial getCustomMaterial (int materialID, Class extends CustomMaterial> clazz)
- {
- for (CustomMaterial mat : customMaterials)
- {
- if (mat.getClass().equals(clazz) && mat.materialID == materialID)
- return mat;
- }
- return null;
- }
-
- public static CustomMaterial getCustomMaterial (ItemStack input, Class extends CustomMaterial> clazz)
- {
- for (CustomMaterial mat : customMaterials)
- {
- if (mat.getClass().equals(clazz) && input.isItemEqual(mat.input))
- return mat;
- }
- return null;
- }
-
- /*public static CustomMaterial getCustomMaterial(ItemStack input, ItemStack pattern)
- {
- for (CustomMaterial mat : customMaterials)
- {
- if (mat.matches(input, pattern))
- return mat;
- }
- return null;
- }*/
-
- /*public static ItemStack craftBowString(ItemStack stack)
- {
- if (stack.stackSize < 3)
- return null;
-
- for (BowstringMaterial mat : bowstringMaterials)
- {
- if (stack.isItemEqual(mat.input))
- return mat.craftingItem.copy();
- }
- return null;
- }
-
- public static BowstringMaterial getBowstringMaterial(ItemStack stack)
- {
- if (stack.stackSize < 3)
- return null;
-
- for (BowstringMaterial mat : bowstringMaterials)
- {
- if (stack.isItemEqual(mat.input))
- return mat;
- }
- return null;
- }*/
-
- public static LiquidCasting getTableCasting ()
- {
- return instance.tableCasting();
- }
-
- LiquidCasting tableCasting ()
- {
- try
- {
- Class clazz = Class.forName("tconstruct.TConstruct");
- Method method = clazz.getMethod("getTableCasting");
- LiquidCasting lc = (LiquidCasting) method.invoke(this);
- return lc;
- }
- catch (Exception e)
- {
- logger.warning("Could not find casting table recipes.");
- return null;
- }
- }
-
- public static LiquidCasting getBasinCasting ()
- {
- return instance.basinCasting();
- }
-
- LiquidCasting basinCasting ()
- {
- try
- {
- Class clazz = Class.forName("tconstruct.TConstruct");
- Method method = clazz.getMethod("getBasinCasting");
- LiquidCasting lc = (LiquidCasting) method.invoke(this);
- return lc;
- }
- catch (Exception e)
- {
- logger.warning("Could not find casting basin recipes.");
- return null;
- }
- }
-
- public static Detailing getChiselDetailing ()
- {
- return instance.chiselDetailing();
- }
-
- Detailing chiselDetailing ()
- {
- try
- {
- Class clazz = Class.forName("tconstruct.TConstruct");
- Method method = clazz.getMethod("getChiselDetailing");
- Detailing lc = (Detailing) method.invoke(this);
- return lc;
- }
- catch (Exception e)
- {
- logger.warning("Could not find chisel detailing recipes.");
- return null;
- }
- }
-
- public static ArrayList activeModifiers = new ArrayList();
-
- public static void registerActiveToolMod (ActiveToolMod mod)
- {
- activeModifiers.add(mod);
- }
-
- /* Used to determine how blocks are laid out in the drawbridge
- * 0: Metadata has to match
- * 1: Metadata has no meaning
- * 2: Should not be placed
- * 3: Has rotational metadata
- * 4: Rails
- * 5: Has rotational TileEntity data
- * 6: Custom placement logic
- */
- public static int[] drawbridgeState = new int[Block.blocksList.length];
- /** Blocks that are interchangable with each other. Ex: Still and flowing water */
- public static int[] interchangableBlockMapping = new int[Block.blocksList.length];
- /** Blocks that place items, and vice versa */
- public static int[] blockToItemMapping = new int[Item.itemsList.length];
-
- static void initializeDrawbridgeState ()
- {
- drawbridgeState[Block.stone.blockID] = 1;
- drawbridgeState[Block.grass.blockID] = 1;
- drawbridgeState[Block.dirt.blockID] = 1;
- drawbridgeState[Block.cobblestone.blockID] = 1;
- drawbridgeState[Block.bedrock.blockID] = 2;
- drawbridgeState[Block.waterMoving.blockID] = 1;
- drawbridgeState[Block.waterStill.blockID] = 1;
- interchangableBlockMapping[Block.waterStill.blockID] = Block.waterMoving.blockID;
- interchangableBlockMapping[Block.waterMoving.blockID] = Block.waterStill.blockID;
- drawbridgeState[Block.lavaMoving.blockID] = 1;
- drawbridgeState[Block.lavaStill.blockID] = 1;
- interchangableBlockMapping[Block.lavaStill.blockID] = Block.lavaMoving.blockID;
- interchangableBlockMapping[Block.lavaMoving.blockID] = Block.lavaStill.blockID;
- drawbridgeState[Block.sand.blockID] = 1;
- drawbridgeState[Block.gravel.blockID] = 1;
- drawbridgeState[Block.oreGold.blockID] = 1;
- drawbridgeState[Block.oreIron.blockID] = 1;
- drawbridgeState[Block.oreCoal.blockID] = 1;
- drawbridgeState[Block.sponge.blockID] = 1;
- drawbridgeState[Block.oreLapis.blockID] = 1;
- drawbridgeState[Block.blockLapis.blockID] = 1;
- drawbridgeState[Block.dispenser.blockID] = 3;
- drawbridgeState[Block.music.blockID] = 1;
- drawbridgeState[Block.bed.blockID] = 2;
- drawbridgeState[Block.railPowered.blockID] = 4;
- drawbridgeState[Block.railDetector.blockID] = 4;
- drawbridgeState[Block.pistonStickyBase.blockID] = 3;
- drawbridgeState[Block.web.blockID] = 1;
- drawbridgeState[Block.pistonBase.blockID] = 3;
- drawbridgeState[Block.pistonExtension.blockID] = 2;
- drawbridgeState[Block.plantYellow.blockID] = 1;
- drawbridgeState[Block.plantRed.blockID] = 1;
- drawbridgeState[Block.mushroomBrown.blockID] = 1;
- drawbridgeState[Block.mushroomRed.blockID] = 1;
- drawbridgeState[Block.blockGold.blockID] = 1;
- drawbridgeState[Block.blockIron.blockID] = 1;
- drawbridgeState[Block.brick.blockID] = 1;
- drawbridgeState[Block.tnt.blockID] = 1;
- drawbridgeState[Block.bookShelf.blockID] = 1;
- drawbridgeState[Block.cobblestoneMossy.blockID] = 1;
- drawbridgeState[Block.obsidian.blockID] = 1;
- drawbridgeState[Block.torchWood.blockID] = 1;
- drawbridgeState[Block.fire.blockID] = 1;
- drawbridgeState[Block.mobSpawner.blockID] = 2;
- drawbridgeState[Block.stairsWoodOak.blockID] = 3;
- drawbridgeState[Block.chest.blockID] = 5;
- drawbridgeState[Block.redstoneWire.blockID] = 1;
- blockToItemMapping[Block.redstoneWire.blockID] = Item.redstone.itemID;
- blockToItemMapping[Item.redstone.itemID] = Block.redstoneWire.blockID;
- drawbridgeState[Block.oreDiamond.blockID] = 1;
- drawbridgeState[Block.blockDiamond.blockID] = 1;
- drawbridgeState[Block.workbench.blockID] = 1;
- drawbridgeState[Block.crops.blockID] = 2;
- drawbridgeState[Block.tilledField.blockID] = 1;
- drawbridgeState[Block.furnaceIdle.blockID] = 3;
- drawbridgeState[Block.furnaceBurning.blockID] = 3;
- interchangableBlockMapping[Block.furnaceIdle.blockID] = Block.furnaceBurning.blockID;
- interchangableBlockMapping[Block.furnaceBurning.blockID] = Block.furnaceIdle.blockID;
- drawbridgeState[Block.tilledField.blockID] = 1;
- drawbridgeState[Block.signPost.blockID] = 3;
- drawbridgeState[Block.doorWood.blockID] = 2;
- drawbridgeState[Block.ladder.blockID] = 1;
- drawbridgeState[Block.rail.blockID] = 4;
- drawbridgeState[Block.stairsCobblestone.blockID] = 3;
- drawbridgeState[Block.signWall.blockID] = 3;
- drawbridgeState[Block.lever.blockID] = 3;
- drawbridgeState[Block.pressurePlateStone.blockID] = 1;
- drawbridgeState[Block.doorIron.blockID] = 2;
- drawbridgeState[Block.pressurePlatePlanks.blockID] = 1;
- drawbridgeState[Block.oreRedstone.blockID] = 1;
- drawbridgeState[Block.oreRedstoneGlowing.blockID] = 1;
- drawbridgeState[Block.torchRedstoneIdle.blockID] = 1;
- drawbridgeState[Block.torchRedstoneActive.blockID] = 1;
- drawbridgeState[Block.stoneButton.blockID] = 3;
- drawbridgeState[Block.snow.blockID] = 1;
- drawbridgeState[Block.ice.blockID] = 1;
- drawbridgeState[Block.blockSnow.blockID] = 1;
- drawbridgeState[Block.cactus.blockID] = 2;
- drawbridgeState[Block.blockClay.blockID] = 1;
- drawbridgeState[Block.reed.blockID] = 1;
- drawbridgeState[Block.jukebox.blockID] = 1;
- drawbridgeState[Block.fence.blockID] = 1;
- drawbridgeState[Block.pumpkin.blockID] = 1;
- drawbridgeState[Block.netherrack.blockID] = 1;
- drawbridgeState[Block.slowSand.blockID] = 1;
- drawbridgeState[Block.glowStone.blockID] = 1;
- drawbridgeState[Block.portal.blockID] = 2;
- drawbridgeState[Block.pumpkinLantern.blockID] = 1;
- drawbridgeState[Block.cake.blockID] = 2;
- drawbridgeState[Block.redstoneRepeaterIdle.blockID] = 3;
- drawbridgeState[Block.redstoneRepeaterActive.blockID] = 3;
- interchangableBlockMapping[Block.redstoneRepeaterIdle.blockID] = Block.redstoneRepeaterActive.blockID;
- interchangableBlockMapping[Block.redstoneRepeaterActive.blockID] = Block.redstoneRepeaterIdle.blockID;
- blockToItemMapping[Block.redstoneRepeaterIdle.blockID] = Item.redstoneRepeater.itemID;
- blockToItemMapping[Block.redstoneRepeaterActive.blockID] = Item.redstoneRepeater.itemID;
- blockToItemMapping[Item.redstoneRepeater.itemID] = Block.redstoneRepeaterIdle.blockID;
- drawbridgeState[Block.lockedChest.blockID] = 5;
- drawbridgeState[Block.trapdoor.blockID] = 3;
- drawbridgeState[Block.mushroomCapBrown.blockID] = 1;
- drawbridgeState[Block.mushroomCapRed.blockID] = 1;
- drawbridgeState[Block.fenceIron.blockID] = 1;
- drawbridgeState[Block.thinGlass.blockID] = 1;
- drawbridgeState[Block.melon.blockID] = 1;
- drawbridgeState[Block.pumpkinStem.blockID] = 2;
- drawbridgeState[Block.melonStem.blockID] = 2;
- drawbridgeState[Block.vine.blockID] = 3;
- drawbridgeState[Block.fenceGate.blockID] = 3;
- drawbridgeState[Block.stairsBrick.blockID] = 3;
- drawbridgeState[Block.stairsStoneBrick.blockID] = 3;
- drawbridgeState[Block.mycelium.blockID] = 1;
- drawbridgeState[Block.waterlily.blockID] = 1;
- drawbridgeState[Block.netherBrick.blockID] = 1;
- drawbridgeState[Block.netherFence.blockID] = 1;
- drawbridgeState[Block.netherFence.blockID] = 3;
- drawbridgeState[Block.netherStalk.blockID] = 2;
- drawbridgeState[Block.enchantmentTable.blockID] = 1;
- drawbridgeState[Block.brewingStand.blockID] = 1;
- drawbridgeState[Block.cauldron.blockID] = 1;
- drawbridgeState[Block.endPortal.blockID] = 2;
- drawbridgeState[Block.dragonEgg.blockID] = 1;
- drawbridgeState[Block.redstoneLampIdle.blockID] = 1;
- drawbridgeState[Block.redstoneLampActive.blockID] = 1;
- drawbridgeState[Block.cocoaPlant.blockID] = 2;
- drawbridgeState[Block.stairsSandStone.blockID] = 3;
- drawbridgeState[Block.oreEmerald.blockID] = 1;
- drawbridgeState[Block.enderChest.blockID] = 5;
- drawbridgeState[Block.tripWireSource.blockID] = 1;
- drawbridgeState[Block.tripWire.blockID] = 1;
- drawbridgeState[Block.blockEmerald.blockID] = 1;
- drawbridgeState[Block.stairsWoodSpruce.blockID] = 3;
- drawbridgeState[Block.stairsWoodBirch.blockID] = 3;
- drawbridgeState[Block.stairsWoodJungle.blockID] = 3;
- drawbridgeState[Block.commandBlock.blockID] = 1;
- drawbridgeState[Block.beacon.blockID] = 1;
- drawbridgeState[Block.cobblestoneWall.blockID] = 1;
- drawbridgeState[Block.flowerPot.blockID] = 1;
- drawbridgeState[Block.carrot.blockID] = 2;
- drawbridgeState[Block.potato.blockID] = 1;
- drawbridgeState[Block.woodenButton.blockID] = 3;
- drawbridgeState[Block.skull.blockID] = 2;
- drawbridgeState[Block.chestTrapped.blockID] = 5;
- drawbridgeState[Block.pressurePlateGold.blockID] = 1;
- drawbridgeState[Block.pressurePlateIron.blockID] = 1;
- drawbridgeState[Block.redstoneComparatorIdle.blockID] = 1;
- drawbridgeState[Block.redstoneComparatorActive.blockID] = 1;
- interchangableBlockMapping[Block.redstoneComparatorIdle.blockID] = Block.redstoneComparatorActive.blockID;
- interchangableBlockMapping[Block.redstoneComparatorActive.blockID] = Block.redstoneComparatorIdle.blockID;
- blockToItemMapping[Block.redstoneComparatorIdle.blockID] = Item.comparator.itemID;
- blockToItemMapping[Block.redstoneComparatorActive.blockID] = Item.comparator.itemID;
- blockToItemMapping[Item.comparator.itemID] = Block.redstoneComparatorIdle.blockID;
- drawbridgeState[Block.daylightSensor.blockID] = 1;
- drawbridgeState[Block.blockRedstone.blockID] = 1;
- drawbridgeState[Block.oreNetherQuartz.blockID] = 1;
- drawbridgeState[Block.hopperBlock.blockID] = 3;
- drawbridgeState[Block.blockNetherQuartz.blockID] = 1;
- drawbridgeState[Block.stairsNetherQuartz.blockID] = 3;
- drawbridgeState[Block.railActivator.blockID] = 4;
- drawbridgeState[Block.dropper.blockID] = 3;
- interchangableBlockMapping[Block.dirt.blockID] = Block.grass.blockID;
- interchangableBlockMapping[Block.grass.blockID] = Block.dirt.blockID;
- }
-
- static
- {
- initializeDrawbridgeState();
- }
-
- /** Default Material Index
- * 0: Wood
- * 1: Stone
- * 2: Iron
- * 3: Flint
- * 4: Cactus
- * 5: Bone
- * 6: Obsidian
- * 7: Netherrack
- * 8: Green Slime
- * 9: Paper
- * 10: Cobalt
- * 11: Ardite
- * 12: Manyullyn
- * 13: Copper
- * 14: Bronze
- * 15: Alumite
- * 16: Steel
- * 17: Blue Slime
- */
-}
diff --git a/src/main/java/tconstruct/library/armor/AModInteger.java b/src/main/java/tconstruct/library/armor/AModInteger.java
deleted file mode 100644
index bbe495fb..00000000
--- a/src/main/java/tconstruct/library/armor/AModInteger.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package tconstruct.library.armor;
-
-import java.util.EnumSet;
-
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-
-/* Adds an integer NBTTag */
-
-public class AModInteger extends ArmorMod
-{
- public final int modifyCount;
- public final int amount;
- public final String color;
- public final String tooltipName;
-
- public AModInteger(int effect, String dataKey, EnumSet armorTypes, ItemStack[] items, int count, int increase, String c, String tip)
- {
- super(effect, dataKey, armorTypes, items);
- this.modifyCount = count;
- this.amount = increase;
- color = c;
- tooltipName = tip;
- }
-
- @Override
- protected boolean canModify (ItemStack armor, ItemStack[] input)
- {
- ArmorCore item = (ArmorCore) armor.getItem();
- if (armorTypes.contains(item.armorPart))
- {
- NBTTagCompound tags = armor.getTagCompound().getCompoundTag(getTagName());
- return tags.getInteger("Modifiers") >= modifyCount;
- }
- return false;
- }
-
- @Override
- public void modify (ItemStack[] input, ItemStack tool)
- {
- NBTTagCompound tags = tool.getTagCompound().getCompoundTag(getTagName());
- if (tags.hasKey(key))
- {
- int increase = tags.getInteger(key);
- increase += this.amount;
- tags.setInteger(key, increase);
- }
- else
- {
- tags.setInteger(key, amount);
- }
-
- int modifiers = tags.getInteger("Modifiers");
- modifiers -= modifyCount;
- tags.setInteger("Modifiers", modifiers);
-
- addToolTip(tool, color + tooltipName, color + key);
- }
-
-}
diff --git a/src/main/java/tconstruct/library/armor/ArmorCore.java b/src/main/java/tconstruct/library/armor/ArmorCore.java
deleted file mode 100644
index 7b190a70..00000000
--- a/src/main/java/tconstruct/library/armor/ArmorCore.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package tconstruct.library.armor;
-
-import net.minecraft.block.BlockDispenser;
-import net.minecraft.dispenser.IBehaviorDispenseItem;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.EnumArmorMaterial;
-import net.minecraft.item.ItemArmor;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.DamageSource;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ISpecialArmor;
-
-public abstract class ArmorCore extends ItemArmor implements ISpecialArmor
-{
- public static final String SET_NAME = "TinkerArmor";
- public final EnumArmorPart armorPart;
- private static final IBehaviorDispenseItem dispenserBehavior = new BehaviorDispenseArmorCopy();
- public final int baseProtection;
-
- public ArmorCore(int id, int baseProtection, EnumArmorPart part)
- {
- super(id, EnumArmorMaterial.CHAIN, 0, part.getPartId());
- this.maxStackSize = 1;
- this.setMaxDamage(100);
- this.armorPart = part;
- this.baseProtection = baseProtection;
- BlockDispenser.dispenseBehaviorRegistry.putObject(this, dispenserBehavior);
- }
-
- public String getArmorName ()
- {
- return this.getClass().getSimpleName();
- }
-
- public ItemStack onItemRightClick (ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
- {
- int i = EntityLiving.getArmorPosition(par1ItemStack) - 1;
- ItemStack itemstack1 = par3EntityPlayer.getCurrentArmor(i);
-
- if (itemstack1 == null)
- {
- par3EntityPlayer.setCurrentItemOrArmor(i + 1, par1ItemStack.copy()); //Forge: Vanilla bug fix associated with fixed setCurrentItemOrArmor indexs for players.
- par1ItemStack.stackSize = 0;
- }
-
- return par1ItemStack;
- }
-
- //ISpecialArmor overrides
- @Override
- public ArmorProperties getProperties (EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot)
- {
- if (player.worldObj.isRemote)
- {
- return new ArmorProperties(0, 0, baseProtection);
- }
-
- NBTTagCompound tags = armor.getTagCompound();
-
- if (tags == null)
- {
- return new ArmorProperties(0, damage / baseProtection, baseProtection);
- }
-
- NBTTagCompound data = tags.getCompoundTag(SET_NAME);
- double amount = (data.getInteger("defense") / damage) + (data.getDouble("protection") / 100);
- if (source.isUnblockable())
- amount = 0;
- clamp_double(amount, 0, 1);
- return new ArmorProperties(0, amount, 100);
- }
-
- public static double clamp_double (double par0, double par1, double par2)
- {
- return par0 < par1 ? par1 : (par0 > par2 ? par2 : par0);
- }
-
- @Override
- public int getArmorDisplay (EntityPlayer player, ItemStack armor, int slot)
- {
- if (!armor.hasTagCompound())
- return this.baseProtection;
- NBTTagCompound armorTag = armor.getTagCompound().getCompoundTag(SET_NAME);
- double amount = armorTag.getDouble("protection") / 4;
- if (amount > 0 && amount < 1)
- amount = 1;
- return (int) (Math.floor(amount));
- }
-
- @Override
- public void damageArmor (EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot)
- {
- NBTTagCompound tags = stack.getTagCompound();
- NBTTagCompound data;
-
- if (tags == null)
- {
- tags = new NBTTagCompound();
- stack.setTagCompound(tags);
- data = new NBTTagCompound();
- tags.setCompoundTag(SET_NAME, data);
- data.setDouble("damageReduction", baseProtection);
- }
-
- data = tags.getCompoundTag(SET_NAME);
- int dmg = data.getInteger("Damage");
- dmg += damage;
- data.setDouble("Damage", dmg);
- }
-
- // Vanilla overrides
- public boolean isItemTool (ItemStack par1ItemStack)
- {
- return false;
- }
-
- @Override
- public boolean getIsRepairable (ItemStack par1ItemStack, ItemStack par2ItemStack)
- {
- return false;
- }
-
- public boolean isRepairable ()
- {
- return false;
- }
-
- public int getItemEnchantability ()
- {
- return 0;
- }
-
- public boolean isFull3D ()
- {
- return true;
- }
-
- public boolean isValidArmor (ItemStack stack, int armorType, Entity entity)
- {
- return this.armorPart.getPartId() == armorType;
- }
-
- /* Proper stack damage */
- public int getItemMaxDamageFromStack (ItemStack stack)
- {
- NBTTagCompound tags = stack.getTagCompound();
- if (tags == null)
- {
- return 0;
- }
-
- return tags.getCompoundTag(SET_NAME).getInteger("TotalDurability");
- }
-
- public int getItemMaxDamageFromStackForDisplay (ItemStack stack)
- {
- NBTTagCompound tags = stack.getTagCompound();
- if (tags == null)
- {
- return 0;
- }
-
- return tags.getCompoundTag(SET_NAME).getInteger("Damage");
- }
-
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/library/armor/ArmorMod.java b/src/main/java/tconstruct/library/armor/ArmorMod.java
deleted file mode 100644
index bdb7aa85..00000000
--- a/src/main/java/tconstruct/library/armor/ArmorMod.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package tconstruct.library.armor;
-
-import java.util.EnumSet;
-import java.util.UUID;
-
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import tconstruct.library.tools.ToolMod;
-
-public abstract class ArmorMod extends ToolMod
-{
- protected final EnumSet armorTypes;
-
- public ArmorMod(int effect, String dataKey, EnumSet armorTypes, ItemStack[] items)
- {
- super(items, effect, dataKey);
- this.armorTypes = armorTypes;
- }
-
- @Override
- protected boolean canModify (ItemStack armor, ItemStack[] input)
- {
- ArmorCore item = (ArmorCore) armor.getItem();
- if (armorTypes.contains(item.armorPart))
- {
- NBTTagCompound tags = armor.getTagCompound().getCompoundTag(getTagName());
- return tags.getInteger("Modifiers") > 0;
- }
- return false;
- }
-
- @Override
- protected String getTagName ()
- {
- return "TinkerArmor";
- }
-
- public boolean validArmorType (ArmorCore armor)
- {
- return true;
- }
-
- protected NBTTagCompound getAttributeTag(String attributeType, String modifierName, double amount, boolean flat, UUID uuid)
- {
- NBTTagCompound tag = new NBTTagCompound();
- tag.setString("AttributeName", attributeType);
- tag.setString("Name", modifierName);
- tag.setDouble("Amount", amount);
- tag.setInteger("Operation", flat ? 0 : 1);//0 = flat increase, 1 = % increase
- tag.setLong("UUIDMost", uuid.getMostSignificantBits());
- tag.setLong("UUIDLeast", uuid.getLeastSignificantBits());
- return tag;
- }
-}
diff --git a/src/main/java/tconstruct/library/armor/ArmorModTypeFilter.java b/src/main/java/tconstruct/library/armor/ArmorModTypeFilter.java
deleted file mode 100644
index 6cf1474b..00000000
--- a/src/main/java/tconstruct/library/armor/ArmorModTypeFilter.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package tconstruct.library.armor;
-
-import java.util.ArrayList;
-import java.util.EnumSet;
-import java.util.List;
-
-import net.minecraft.item.ItemStack;
-
-public abstract class ArmorModTypeFilter extends ArmorMod
-{
- public final List increase;
-
- public ArmorModTypeFilter(int effect, String dataKey, EnumSet armorTypes, ItemStack[] items, int[] values)
- {
- super(effect, dataKey, armorTypes, items);
- assert items.length == values.length : "Itemstacks and their values for armor modifiers must be the same length";
- this.increase = new ArrayList();
- for (int i = 0; i < values.length; i++)
- {
- increase.add(values[i]);
- }
- }
-
- /** Checks to see if the inputs match the stored items
- * Note: Filters types, doesn't care about amount
- *
- * @param input The ItemStacks to compare against
- * @param tool Item to modify, used for restrictions
- * @return Whether the recipe matches the input
- */
- @Override
- public boolean matches (ItemStack[] input, ItemStack tool)
- {
- if (!canModify(tool, input))
- return false;
-
- boolean minimumMatch = false;
- for (ItemStack inputStack : input)
- {
- if (inputStack == null)
- continue;
-
- boolean match = false;
- for (Object check : stacks)
- {
- ItemStack stack = (ItemStack) check;
- if (stack.getItemDamage() == Short.MAX_VALUE)
- {
- if (this.areItemsEquivalent(inputStack, stack))
- match = true;
- }
- else
- {
- if (this.areItemStacksEquivalent(inputStack, stack))
- match = true;
- }
- }
- if (!match)
- return false;
-
- minimumMatch = true;
- }
- return minimumMatch;
- }
-
- public int matchingAmount (ItemStack[] input)
- {
- int amount = 0;
- for (ItemStack inputStack : input)
- {
- if (inputStack == null)
- continue;
- else
- {
- for (int iter = 0; iter < stacks.size(); iter++)
- {
- ItemStack stack = (ItemStack) stacks.get(iter);
- if (stack.getItemDamage() == Short.MAX_VALUE)
- {
- if (this.areItemsEquivalent(inputStack, stack))
- amount += increase.get(iter);
- }
- else
- {
- if (this.areItemStacksEquivalent(inputStack, stack))
- amount += increase.get(iter);
- }
- }
- }
- }
- return amount;
- }
-
- public int matchingItems (ItemStack[] input)
- {
- int amount = 0;
- for (ItemStack inputStack : input)
- {
- if (inputStack != null)
- amount++;
- }
- return amount;
- }
-
- /** Adds a new itemstack to the list for increases
- *
- * @param stack ItemStack to compare against
- * @param amount Amount to increase
- */
- public void addStackToMatchList (ItemStack stack, int amount)
- {
- if (stack == null)
- throw new NullPointerException("ItemStack added to " + this.getClass().getSimpleName() + " cannot be null.");
- stacks.add(stack);
- increase.add(amount);
- }
-}
diff --git a/src/main/java/tconstruct/library/armor/BehaviorDispenseArmorCopy.java b/src/main/java/tconstruct/library/armor/BehaviorDispenseArmorCopy.java
deleted file mode 100644
index 147f014d..00000000
--- a/src/main/java/tconstruct/library/armor/BehaviorDispenseArmorCopy.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package tconstruct.library.armor;
-
-import java.util.List;
-
-import net.minecraft.block.BlockDispenser;
-import net.minecraft.dispenser.BehaviorDefaultDispenseItem;
-import net.minecraft.dispenser.IBlockSource;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.EntitySelectorArmoredMob;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.EnumFacing;
-
-final class BehaviorDispenseArmorCopy extends BehaviorDefaultDispenseItem
-{
- /**
- * Dispense the specified stack, play the dispense sound and spawn particles.
- */
- protected ItemStack dispenseStack (IBlockSource par1IBlockSource, ItemStack par2ItemStack)
- {
- EnumFacing enumfacing = BlockDispenser.getFacing(par1IBlockSource.getBlockMetadata());
- int i = par1IBlockSource.getXInt() + enumfacing.getFrontOffsetX();
- int j = par1IBlockSource.getYInt() + enumfacing.getFrontOffsetY();
- int k = par1IBlockSource.getZInt() + enumfacing.getFrontOffsetZ();
- AxisAlignedBB axisalignedbb = AxisAlignedBB.getAABBPool().getAABB((double) i, (double) j, (double) k, (double) (i + 1), (double) (j + 1), (double) (k + 1));
- List list = par1IBlockSource.getWorld().selectEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb, new EntitySelectorArmoredMob(par2ItemStack));
-
- if (list.size() > 0)
- {
- EntityLivingBase entitylivingbase = (EntityLivingBase) list.get(0);
- int l = entitylivingbase instanceof EntityPlayer ? 1 : 0;
- int i1 = EntityLiving.getArmorPosition(par2ItemStack);
- ItemStack itemstack1 = par2ItemStack.copy();
- itemstack1.stackSize = 1;
- entitylivingbase.setCurrentItemOrArmor(i1, itemstack1); //BUGFIX Forge: Vanilla bug fix associated with fixed setCurrentItemOrArmor indexs for players.
-
- if (entitylivingbase instanceof EntityLiving)
- {
- ((EntityLiving) entitylivingbase).setEquipmentDropChance(i1, 2.0F);
- }
-
- --par2ItemStack.stackSize;
- return par2ItemStack;
- }
- else
- {
- return super.dispenseStack(par1IBlockSource, par2ItemStack);
- }
- }
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/library/armor/EnumArmorPart.java b/src/main/java/tconstruct/library/armor/EnumArmorPart.java
deleted file mode 100644
index 17c8bbc0..00000000
--- a/src/main/java/tconstruct/library/armor/EnumArmorPart.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package tconstruct.library.armor;
-
-public enum EnumArmorPart
-{
-
- HELMET(0), CHEST(1), PANTS(2), SHOES(3);
-
- private final int partID;
-
- private EnumArmorPart(int partID)
- {
- this.partID = partID;
- }
-
- public int getPartId ()
- {
- return this.partID;
- }
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/library/blocks/AdaptiveInventoryLogic.java b/src/main/java/tconstruct/library/blocks/AdaptiveInventoryLogic.java
deleted file mode 100644
index 8e90c3b4..00000000
--- a/src/main/java/tconstruct/library/blocks/AdaptiveInventoryLogic.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package tconstruct.library.blocks;
-
-import java.util.Random;
-
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import tconstruct.library.util.IFacingLogic;
-import cpw.mods.fml.common.FMLCommonHandler;
-
-public abstract class AdaptiveInventoryLogic extends InventoryLogic implements IFacingLogic
-{
- Random random = new Random();
- protected int inventorySize;
-
- public AdaptiveInventoryLogic()
- {
- super(0);
- }
-
- protected void adjustInventory (int size, boolean forceAdjust)
- {
- if (size != inventorySize || forceAdjust)
- {
- inventorySize = size;
-
- ItemStack[] tempInv = inventory;
- inventory = new ItemStack[size];
- int invLength = tempInv.length > inventory.length ? inventory.length : tempInv.length;
- System.arraycopy(tempInv, 0, inventory, 0, invLength);
-
- if (tempInv.length > inventory.length)
- {
- for (int i = inventory.length; i < tempInv.length; i++)
- {
- ItemStack stack = tempInv[i];
- if (stack != null)
- {
- float jumpX = random.nextFloat() * 0.8F + 0.1F;
- float jumpY = random.nextFloat() * 0.8F + 0.1F;
- float jumpZ = random.nextFloat() * 0.8F + 0.1F;
-
- int offsetX = 0;
- int offsetY = 0;
- int offsetZ = 0;
- switch (getTossDirection())
- {
- case 0: // -y
- offsetY--;
- break;
- case 1: // +y
- offsetY++;
- break;
- case 2: // +z
- offsetZ--;
- break;
- case 3: // -z
- offsetZ++;
- break;
- case 4: // +x
- offsetX--;
- break;
- case 5: // -x
- offsetX++;
- break;
- }
-
- while (stack.stackSize > 0)
- {
- int itemSize = random.nextInt(21) + 10;
-
- if (itemSize > stack.stackSize)
- {
- itemSize = stack.stackSize;
- }
-
- stack.stackSize -= itemSize;
- EntityItem entityitem = new EntityItem(worldObj, (double) ((float) xCoord + jumpX + offsetX), (double) ((float) yCoord + jumpY),
- (double) ((float) zCoord + jumpZ + offsetZ), new ItemStack(stack.itemID, itemSize, stack.getItemDamage()));
-
- if (stack.hasTagCompound())
- {
- entityitem.getEntityItem().setTagCompound((NBTTagCompound) stack.getTagCompound().copy());
- }
-
- float offset = 0.05F;
- entityitem.motionX = (double) ((float) random.nextGaussian() * offset);
- entityitem.motionY = (double) ((float) random.nextGaussian() * offset + 0.2F);
- entityitem.motionZ = (double) ((float) random.nextGaussian() * offset);
- worldObj.spawnEntityInWorld(entityitem);
- }
- }
- }
- }
- }
- }
-
- public int getTossDirection ()
- {
- return getRenderDirection();
- }
-}
diff --git a/src/main/java/tconstruct/library/blocks/ExpandableInventoryLogic.java b/src/main/java/tconstruct/library/blocks/ExpandableInventoryLogic.java
deleted file mode 100644
index 002b08e5..00000000
--- a/src/main/java/tconstruct/library/blocks/ExpandableInventoryLogic.java
+++ /dev/null
@@ -1,217 +0,0 @@
-package tconstruct.library.blocks;
-
-import java.util.*;
-import net.minecraft.entity.player.*;
-import net.minecraft.inventory.*;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.*;
-import net.minecraft.world.World;
-
-public abstract class ExpandableInventoryLogic extends InventoryLogic implements IInventory
-{
-
- public ExpandableInventoryLogic()
- {
- super(0);
- }
-
- protected ArrayList inventory = new ArrayList();
- protected String invName;
-
- @Override
- public ItemStack getStackInSlot (int slot)
- {
- return slot < inventory.size() ? inventory.get(slot) : null;
- }
-
- public boolean isStackInSlot (int slot)
- {
- return slot < inventory.size() && inventory.get(slot) != null;
- }
-
- @Override
- public int getSizeInventory ()
- {
- return inventory.size();
- }
-
- public int getMaxSize ()
- {
- return 64;
- }
-
- @Override
- public int getInventoryStackLimit ()
- {
- return 64;
- }
-
- public boolean canDropInventorySlot (int slot)
- {
- return true;
- }
-
- @Override
- public void setInventorySlotContents (int slot, ItemStack itemstack)
- {
- if (slot < inventory.size())
- {
- inventory.set(slot, itemstack);
- }
- else if (slot == inventory.size())
- {
- inventory.add(itemstack);
- }
- else if (slot < getMaxSize())
- {
- inventory.ensureCapacity(slot);
- inventory.set(slot, itemstack);
- }
- else
- {
- return;
- }
- if (itemstack != null && itemstack.stackSize > getInventoryStackLimit())
- {
- itemstack.stackSize = getInventoryStackLimit();
- }
- }
-
- @Override
- public ItemStack decrStackSize (int slot, int quantity)
- {
- if (slot < inventory.size() && inventory.get(slot) != null)
- {
- if (inventory.get(slot).stackSize <= quantity)
- {
- ItemStack stack = inventory.get(slot);
- inventory.set(slot, null);
- return stack;
- }
- ItemStack split = inventory.get(slot).splitStack(quantity);
- if (inventory.get(slot).stackSize == 0)
- {
- inventory.set(slot, null);
- }
- return split;
- }
- else
- {
- return null;
- }
- }
-
- /* Supporting methods */
- @Override
- public boolean isUseableByPlayer (EntityPlayer entityplayer)
- {
- if (worldObj.getBlockTileEntity(xCoord, yCoord, zCoord) != this)
- return false;
-
- else
- return entityplayer.getDistance((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <= 64D;
-
- }
-
- public abstract Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z);
-
- /* NBT */
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- this.invName = tags.getString("InvName");
- NBTTagList nbttaglist = tags.getTagList("Items");
- inventory = new ArrayList();
- inventory.ensureCapacity(nbttaglist.tagCount() > getMaxSize() ? getMaxSize() : nbttaglist.tagCount());
- for (int iter = 0; iter < nbttaglist.tagCount(); iter++)
- {
- NBTTagCompound tagList = (NBTTagCompound) nbttaglist.tagAt(iter);
- byte slotID = tagList.getByte("Slot");
- if (slotID >= 0 && slotID < inventory.size())
- {
- inventory.set(slotID, ItemStack.loadItemStackFromNBT(tagList));
- }
- }
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- if (invName != null)
- tags.setString("InvName", invName);
- NBTTagList nbttaglist = new NBTTagList();
- for (int iter = 0; iter < inventory.size(); iter++)
- {
- if (inventory.get(iter) != null)
- {
- NBTTagCompound tagList = new NBTTagCompound();
- tagList.setByte("Slot", (byte) iter);
- inventory.get(iter).writeToNBT(tagList);
- nbttaglist.appendTag(tagList);
- }
- }
-
- tags.setTag("Items", nbttaglist);
- }
-
- /* Default implementations of hardly used methods */
- public ItemStack getStackInSlotOnClosing (int slot)
- {
- return null;
- }
-
- public void openChest ()
- {
- }
-
- public void closeChest ()
- {
- }
-
- protected abstract String getDefaultName ();
-
- public void setInvName (String name)
- {
- this.invName = name;
- }
-
- public String getInvName ()
- {
- return this.isInvNameLocalized() ? this.invName : getDefaultName();
- }
-
- public boolean isInvNameLocalized ()
- {
- return this.invName != null && this.invName.length() > 0;
- }
-
- public void cleanInventory ()
- {
- Iterator i1 = inventory.iterator();
- while (i1.hasNext())
- {
- if (i1.next() == null)
- {
- i1.remove();
- }
- }
- }
-
- @Override
- public boolean isItemValidForSlot (int slot, ItemStack itemstack)
- {
- if (slot < getSizeInventory())
- {
- if (inventory.get(slot) == null || itemstack.stackSize + inventory.get(slot).stackSize <= getInventoryStackLimit())
- return true;
- }
- else
- {
- return slot < getMaxSize();
- }
- return false;
- }
-
-}
diff --git a/src/main/java/tconstruct/library/blocks/InventoryBlock.java b/src/main/java/tconstruct/library/blocks/InventoryBlock.java
deleted file mode 100644
index ad0b50ad..00000000
--- a/src/main/java/tconstruct/library/blocks/InventoryBlock.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package tconstruct.library.blocks;
-
-import java.util.Random;
-
-import tconstruct.library.util.IActiveLogic;
-import tconstruct.library.util.IFacingLogic;
-
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.tileentity.TileEntityChest;
-import net.minecraft.util.Icon;
-import net.minecraft.util.MathHelper;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-
-public abstract class InventoryBlock extends BlockContainer
-{
- protected Random rand = new Random();
-
- protected InventoryBlock(int id, Material material)
- {
- super(id, material);
- }
-
- /* Logic backend */
- public TileEntity createNewTileEntity (World var1)
- {
- return null;
- }
-
- public abstract TileEntity createTileEntity (World world, int metadata);
-
- public abstract Integer getGui (World world, int x, int y, int z, EntityPlayer entityplayer);
-
- public abstract Object getModInstance ();
-
- @Override
- public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int side, float clickX, float clickY, float clickZ)
- {
- if (player.isSneaking())
- return false;
-
- Integer integer = getGui(world, x, y, z, player);
- if (integer == null || integer == -1)
- {
- return false;
- }
- else
- {
- if (!world.isRemote)
- player.openGui(getModInstance(), integer, world, x, y, z);
- return true;
- }
- }
-
- /* Inventory */
-
- @Override
- public void breakBlock (World par1World, int x, int y, int z, int blockID, int meta)
- {
- TileEntity te = par1World.getBlockTileEntity(x, y, z);
-
- if (te != null && te instanceof InventoryLogic)
- {
- InventoryLogic logic = (InventoryLogic) te;
- logic.removeBlock();
- for (int iter = 0; iter < logic.getSizeInventory(); ++iter)
- {
- ItemStack stack = logic.getStackInSlot(iter);
-
- if (stack != null && logic.canDropInventorySlot(iter))
- {
- float jumpX = rand.nextFloat() * 0.8F + 0.1F;
- float jumpY = rand.nextFloat() * 0.8F + 0.1F;
- float jumpZ = rand.nextFloat() * 0.8F + 0.1F;
-
- while (stack.stackSize > 0)
- {
- int itemSize = rand.nextInt(21) + 10;
-
- if (itemSize > stack.stackSize)
- {
- itemSize = stack.stackSize;
- }
-
- stack.stackSize -= itemSize;
- EntityItem entityitem = new EntityItem(par1World, (double) ((float) x + jumpX), (double) ((float) y + jumpY), (double) ((float) z + jumpZ), new ItemStack(stack.itemID,
- itemSize, stack.getItemDamage()));
-
- if (stack.hasTagCompound())
- {
- entityitem.getEntityItem().setTagCompound((NBTTagCompound) stack.getTagCompound().copy());
- }
-
- float offset = 0.05F;
- entityitem.motionX = (double) ((float) rand.nextGaussian() * offset);
- entityitem.motionY = (double) ((float) rand.nextGaussian() * offset + 0.2F);
- entityitem.motionZ = (double) ((float) rand.nextGaussian() * offset);
- par1World.spawnEntityInWorld(entityitem);
- }
- }
- }
- }
-
- super.breakBlock(par1World, x, y, z, blockID, meta);
- }
-
- /* Placement */
-
- int side = -1;
-
- //This class does not have an actual block placed in the world
- @Override
- public int onBlockPlaced (World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int meta)
- {
- this.side = side;
- return meta;
- }
-
- @Override
- public void onBlockPlacedBy (World world, int x, int y, int z, EntityLivingBase entityliving, ItemStack stack)
- {
- TileEntity logic = world.getBlockTileEntity(x, y, z);
- if (logic instanceof IFacingLogic)
- {
- IFacingLogic direction = (IFacingLogic) logic;
- if (side != -1)
- {
- direction.setDirection(side);
- side = -1;
- }
- if (entityliving == null)
- {
- direction.setDirection(0F, 0F, null);
- }
- else
- {
- direction.setDirection(entityliving.rotationYaw * 4F, entityliving.rotationPitch, entityliving);
- }
- }
-
- if (logic instanceof InventoryLogic)
- {
- InventoryLogic inv = (InventoryLogic) logic;
- inv.placeBlock(entityliving, stack);
- if (stack.hasDisplayName())
- {
- inv.setInvName(stack.getDisplayName());
- }
- }
- }
-
- public static boolean isActive (IBlockAccess world, int x, int y, int z)
- {
- TileEntity logic = world.getBlockTileEntity(x, y, z);
- if (logic instanceof IActiveLogic)
- {
- return ((IActiveLogic) logic).getActive();
- }
- return false;
- }
-
- public int damageDropped (int meta)
- {
- return meta;
- }
-
- /* Textures */
- public Icon[] icons;
-
- public abstract String[] getTextureNames ();
-
- @Override
- public void registerIcons (IconRegister iconRegister)
- {
- String[] textureNames = getTextureNames();
- this.icons = new Icon[textureNames.length];
-
- for (int i = 0; i < this.icons.length; ++i)
- {
- this.icons[i] = iconRegister.registerIcon("tinker:" + textureNames[i]);
- }
- }
-}
diff --git a/src/main/java/tconstruct/library/blocks/InventoryLogic.java b/src/main/java/tconstruct/library/blocks/InventoryLogic.java
deleted file mode 100644
index d14088a7..00000000
--- a/src/main/java/tconstruct/library/blocks/InventoryLogic.java
+++ /dev/null
@@ -1,227 +0,0 @@
-package tconstruct.library.blocks;
-
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-
-/*
- * A simple logic class for storing items
- * Abstract to avoid instantiation
- */
-
-public abstract class InventoryLogic extends TileEntity implements IInventory
-{
- protected ItemStack[] inventory;
- protected String invName;
- protected int stackSizeLimit;
-
- public InventoryLogic(int invSize)
- {
- this(invSize, 64);
- }
-
- public InventoryLogic(int invSize, int maxStackSize)
- {
- inventory = new ItemStack[invSize];
- stackSizeLimit = maxStackSize;
- }
-
- /* Inventory management */
-
- @Override
- public ItemStack getStackInSlot (int slot)
- {
- return inventory[slot];
- }
-
- public boolean isStackInSlot (int slot)
- {
- return inventory[slot] != null;
- }
-
- @Override
- public int getSizeInventory ()
- {
- return inventory.length;
- }
-
- @Override
- public int getInventoryStackLimit ()
- {
- return stackSizeLimit;
- }
-
- public boolean canDropInventorySlot (int slot)
- {
- return true;
- }
-
- @Override
- public void setInventorySlotContents (int slot, ItemStack itemstack)
- {
- inventory[slot] = itemstack;
- if (itemstack != null && itemstack.stackSize > getInventoryStackLimit())
- {
- itemstack.stackSize = getInventoryStackLimit();
- }
- }
-
- @Override
- public ItemStack decrStackSize (int slot, int quantity)
- {
- if (inventory[slot] != null)
- {
- if (inventory[slot].stackSize <= quantity)
- {
- ItemStack stack = inventory[slot];
- inventory[slot] = null;
- return stack;
- }
- ItemStack split = inventory[slot].splitStack(quantity);
- if (inventory[slot].stackSize == 0)
- {
- inventory[slot] = null;
- }
- return split;
- }
- else
- {
- return null;
- }
- }
-
- /* Supporting methods */
- @Override
- public boolean isUseableByPlayer (EntityPlayer entityplayer)
- {
- if (worldObj.getBlockTileEntity(xCoord, yCoord, zCoord) != this)
- return false;
-
- else
- return entityplayer.getDistance((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <= 64D;
-
- }
-
- public abstract Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z);
-
- /* NBT */
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- readInventoryFromNBT(tags);
- }
-
- public void readInventoryFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- this.invName = tags.getString("InvName");
- NBTTagList nbttaglist = tags.getTagList("Items");
- inventory = new ItemStack[getSizeInventory()];
- for (int iter = 0; iter < nbttaglist.tagCount(); iter++)
- {
- NBTTagCompound tagList = (NBTTagCompound) nbttaglist.tagAt(iter);
- byte slotID = tagList.getByte("Slot");
- if (slotID >= 0 && slotID < inventory.length)
- {
- inventory[slotID] = ItemStack.loadItemStackFromNBT(tagList);
- }
- }
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- writeInventoryToNBT(tags);
- }
-
- public void writeInventoryToNBT (NBTTagCompound tags)
- {
- if (invName != null)
- tags.setString("InvName", invName);
- NBTTagList nbttaglist = new NBTTagList();
- for (int iter = 0; iter < inventory.length; iter++)
- {
- if (inventory[iter] != null)
- {
- NBTTagCompound tagList = new NBTTagCompound();
- tagList.setByte("Slot", (byte) iter);
- inventory[iter].writeToNBT(tagList);
- nbttaglist.appendTag(tagList);
- }
- }
-
- tags.setTag("Items", nbttaglist);
- }
-
- /* Cause of the heisenbug. Do not uncomment! */
- /*public void superReadFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- }
-
- public void superWriteToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- }*/
-
- /* Default implementations of hardly used methods */
- public ItemStack getStackInSlotOnClosing (int slot)
- {
- return null;
- }
-
- public void openChest ()
- {
- }
-
- public void closeChest ()
- {
- }
-
- protected abstract String getDefaultName ();
-
- public void setInvName (String name)
- {
- this.invName = name;
- }
-
- public String getInvName ()
- {
- return this.isInvNameLocalized() ? this.invName : getDefaultName();
- }
-
- public boolean isInvNameLocalized ()
- {
- return this.invName != null && this.invName.length() > 0;
- }
-
- @Override
- public boolean isItemValidForSlot (int slot, ItemStack itemstack)
- {
- if (slot < getSizeInventory())
- {
- if (inventory[slot] == null || itemstack.stackSize + inventory[slot].stackSize <= getInventoryStackLimit())
- return true;
- }
- return false;
- }
-
- public void placeBlock (EntityLivingBase entity, ItemStack stack)
- {
-
- }
-
- public void removeBlock ()
- {
-
- }
-}
diff --git a/src/main/java/tconstruct/library/blocks/InventorySlab.java b/src/main/java/tconstruct/library/blocks/InventorySlab.java
deleted file mode 100644
index aa9f58df..00000000
--- a/src/main/java/tconstruct/library/blocks/InventorySlab.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package tconstruct.library.blocks;
-
-import java.util.List;
-
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.Entity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-
-public abstract class InventorySlab extends InventoryBlock
-{
- public InventorySlab(int id, Material material)
- {
- super(id, material);
- }
-
- /* Rendering */
- @Override
- public boolean renderAsNormalBlock ()
- {
- return false;
- }
-
- @Override
- public boolean isOpaqueCube ()
- {
- return false;
- }
-
- @Override
- public boolean shouldSideBeRendered (IBlockAccess world, int x, int y, int z, int side)
- {
- if (side > 1)
- return super.shouldSideBeRendered(world, x, y, z, side);
-
- int meta = world.getBlockMetadata(x, y, z);
- boolean top = (meta | 8) == 1;
- if ((top && side == 0) || (!top && side == 1))
- return true;
-
- return super.shouldSideBeRendered(world, x, y, z, side);
- }
-
- @Override
- public void addCollisionBoxesToList (World world, int x, int y, int z, AxisAlignedBB axisalignedbb, List arraylist, Entity entity)
- {
- setBlockBoundsBasedOnState(world, x, y, z);
- super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity);
- }
-
- public void setBlockBoundsForItemRender ()
- {
- setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
- }
-
- public void setBlockBoundsBasedOnState (IBlockAccess world, int x, int y, int z)
- {
- int meta = world.getBlockMetadata(x, y, z) / 8;
- float minY = meta == 1 ? 0.5F : 0.0F;
- float maxY = meta == 1 ? 1.0F : 0.5F;
- setBlockBounds(0.0F, minY, 0F, 1.0F, maxY, 1.0F);
- }
-
- public int onBlockPlaced (World par1World, int blockX, int blockY, int blockZ, int side, float clickX, float clickY, float clickZ, int metadata)
- {
- if (side == 1)
- return metadata;
- if (side == 0 || clickY >= 0.5F)
- return metadata | 8;
-
- return metadata;
- }
-
- public int damageDropped (int meta)
- {
- return meta % 8;
- }
-}
diff --git a/src/main/java/tconstruct/library/client/FluidRenderProperties.java b/src/main/java/tconstruct/library/client/FluidRenderProperties.java
deleted file mode 100644
index 5794e70e..00000000
--- a/src/main/java/tconstruct/library/client/FluidRenderProperties.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package tconstruct.library.client;
-
-public class FluidRenderProperties
-{
-
- //Constant defaults
- public static final FluidRenderProperties DEFAULT_TABLE = new FluidRenderProperties(Applications.TABLE);
- public static final FluidRenderProperties DEFAULT_BASIN = new FluidRenderProperties(Applications.BASIN);
-
- public float minHeight, maxHeight, minX, maxX, minZ, maxZ;
-
- public FluidRenderProperties(float minHeight, float maxHeight, float minX, float maxX, float minZ, float maxZ)
- {
- this.minHeight = minHeight;
- this.maxHeight = maxHeight;
- this.minX = minX;
- this.maxX = maxX;
- this.minZ = minZ;
- this.maxZ = maxZ;
- }
-
- public FluidRenderProperties(float minHeight, float maxHeight, Applications defaults)
- {
- this(minHeight, maxHeight, defaults.minX, defaults.maxX, defaults.minZ, defaults.maxZ);
- }
-
- public FluidRenderProperties(float minHeight, float maxHeight, float minX, float maxX, Applications defaults)
- {
- this(minHeight, maxHeight, minX, maxX, defaults.minZ, defaults.maxZ);
- }
-
- public FluidRenderProperties(Applications defaults, float minX, float maxX)
- {
- this(defaults.minHeight, defaults.maxHeight, minX, maxX, defaults.minZ, defaults.maxZ);
- }
-
- public FluidRenderProperties(Applications defaults, float minX, float maxX, float minZ, float maxZ)
- {
- this(defaults.minHeight, defaults.maxHeight, minX, maxX, minZ, maxZ);
- }
-
- public FluidRenderProperties(Applications defaults)
- {
- this(defaults.minHeight, defaults.maxHeight, defaults.minX, defaults.maxX, defaults.minZ, defaults.maxZ);
- }
-
- public static enum Applications
- {
- TABLE(0.9375F, 1F, 0.0625F, 0.9375F, 0.062F, 0.9375F), BASIN(0.25F, 0.95F, 0.0625F, 0.9375F, 0.0625F, 0.9375F);
-
- public float minHeight, maxHeight, minX, maxX, minZ, maxZ;
-
- Applications(float minHeight, float maxHeight, float minX, float maxX, float minZ, float maxZ)
- {
- this.minHeight = minHeight;
- this.maxHeight = maxHeight;
- this.minX = minX;
- this.maxX = maxX;
- this.minZ = minZ;
- this.maxZ = maxZ;
- }
- }
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/library/client/TConstructClientRegistry.java b/src/main/java/tconstruct/library/client/TConstructClientRegistry.java
deleted file mode 100644
index e516e59d..00000000
--- a/src/main/java/tconstruct/library/client/TConstructClientRegistry.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package tconstruct.library.client;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.crafting.ToolBuilder;
-import tconstruct.library.tools.ToolCore;
-
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-
-public class TConstructClientRegistry
-{
- public static ArrayList toolButtons = new ArrayList(20);
- public static ArrayList tierTwoButtons = new ArrayList();
- public static Map manualIcons = new HashMap();
- public static Map recipeIcons = new HashMap();
- public static ItemStack defaultStack = new ItemStack(Item.ingotIron);
-
- public static void addMaterialRenderMapping (int materialID, String domain, String renderName, boolean useDefaultFolder)
- {
- for (ToolCore tool : TConstructRegistry.getToolMapping())
- {
- String[] toolIcons = new String[tool.getPartAmount() + 1];
- for (int i = 0; i < tool.getPartAmount() + 1; i++)
- {
- String icon = domain + ":";
- if (useDefaultFolder)
- icon += tool.getDefaultFolder() + "/";
- icon += renderName + tool.getIconSuffix(i);
- toolIcons[i] = icon;
- }
- tool.registerPartPaths(materialID, toolIcons);
- }
- }
-
- public static void addAlternateMaterialRenderMapping (ToolCore tool, int materialID, String domain, String renderName, boolean useDefaultFolder)
- {
- String[] toolIcons = new String[tool.getPartAmount() + 1];
- for (int i = 0; i < tool.getPartAmount() + 1; i++)
- {
- String icon = domain + ":";
- if (useDefaultFolder)
- icon += tool.getDefaultFolder() + "/";
- icon += renderName + tool.getIconSuffix(i);
- toolIcons[i] = icon;
- }
- tool.registerAlternatePartPaths(materialID, toolIcons);
- }
-
- public static void addEffectRenderMapping (ToolCore tool, int materialID, String domain, String renderName, boolean useDefaultFolder)
- {
- String icon = domain + ":";
- if (useDefaultFolder)
- icon += tool.getDefaultFolder() + "/";
- icon += renderName + tool.getEffectSuffix();
- tool.registerEffectPath(materialID, icon);
- }
-
- public static void addEffectRenderMapping (int materialID, String domain, String renderName, boolean useDefaultFolder)
- {
- for (ToolCore tool : TConstructRegistry.getToolMapping())
- {
- String icon = domain + ":";
- if (useDefaultFolder)
- icon += tool.getDefaultFolder() + "/";
- icon += renderName + tool.getEffectSuffix();
- tool.registerEffectPath(materialID, icon);
- }
- }
-
- public static void addSingleEffectRenderMapping (ToolCore tool, int materialID, String domain, String renderName, boolean useDefaultFolder)
- {
- String icon = domain + ":";
- if (useDefaultFolder)
- icon += tool.getDefaultFolder() + "/";
- icon += renderName + tool.getEffectSuffix();
- tool.registerEffectPath(materialID, icon);
- }
-
- public static void registerManualIcon (String name, ItemStack stack)
- {
- manualIcons.put(name, stack);
- }
-
- public static ItemStack getManualIcon (String textContent)
- {
- ItemStack stack = manualIcons.get(textContent);
- if (stack != null)
- return stack;
- return defaultStack;
- }
-
- public static void registerManualSmallRecipe (String name, ItemStack output, ItemStack... stacks)
- {
- ItemStack[] recipe = new ItemStack[5];
- recipe[0] = output;
- System.arraycopy(stacks, 0, recipe, 1, 4);
- recipeIcons.put(name, recipe);
- }
-
- public static void registerManualLargeRecipe (String name, ItemStack output, ItemStack... stacks)
- {
- ItemStack[] recipe = new ItemStack[10];
- recipe[0] = output;
- System.arraycopy(stacks, 0, recipe, 1, 9);
- recipeIcons.put(name, recipe);
- }
-
- public static void registerManualFurnaceRecipe (String name, ItemStack output, ItemStack input)
- {
- ItemStack[] recipe = new ItemStack[2];
- recipe[0] = output;
- recipe[1] = input;
- recipeIcons.put(name, recipe);
- }
-
- public static void registerManualModifier (String name, ItemStack output, ItemStack topinput)
- {
- registerManualModifier(name, output, topinput, null);
- }
-
- public static void registerManualModifier (String name, ItemStack output, ItemStack topinput, ItemStack bottominput)
- {
- ItemStack[] recipe = new ItemStack[3];
- recipe[0] = ToolBuilder.instance.buildTool(output, topinput, bottominput, "");
- recipe[1] = topinput;
- recipe[2] = bottominput;
- recipeIcons.put(name, recipe);
- }
-
- public static void registerManualSmeltery (String name, ItemStack output, ItemStack liquid, ItemStack cast)
- {
- ItemStack[] recipe = new ItemStack[3];
- recipe[0] = output;
- recipe[1] = liquid;
- recipe[2] = cast;
- recipeIcons.put(name, recipe);
- }
-
- public static ItemStack[] getRecipeIcons (String recipeName)
- {
- return recipeIcons.get(recipeName);
- }
-
- //Gui
- public static void addToolButton (ToolGuiElement element)
- {
- toolButtons.add(element);
- }
-
- public static void addToolButton (int slotType, int xButton, int yButton, int[] xIcons, int[] yIcons, String title, String body, String domain, String texture)
- {
- toolButtons.add(new ToolGuiElement(slotType, xButton, yButton, xIcons, yIcons, title, body, domain, texture));
- }
-
- public static void addTierTwoButton (ToolGuiElement element)
- {
- tierTwoButtons.add(element);
- }
-
- public static void addTierTwoButton (int slotType, int xButton, int yButton, int[] xIcons, int[] yIcons, String title, String body, String domain, String texture)
- {
- tierTwoButtons.add(new ToolGuiElement(slotType, xButton, yButton, xIcons, yIcons, title, body, domain, texture));
- }
-
- public static ArrayList getToolButtons ()
- {
- return toolButtons;
- }
-}
diff --git a/src/main/java/tconstruct/library/client/ToolGuiElement.java b/src/main/java/tconstruct/library/client/ToolGuiElement.java
deleted file mode 100644
index 640ef286..00000000
--- a/src/main/java/tconstruct/library/client/ToolGuiElement.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package tconstruct.library.client;
-
-public class ToolGuiElement
-{
- public final int slotType;
- public final int buttonIconX;
- public final int buttonIconY;
- public final int[] iconsX;
- public final int[] iconsY;
- public final String title;
- public final String body;
- public final String domain;
- public final String texture;
-
- public ToolGuiElement(int st, int bx, int by, int[] xi, int[] yi, String t, String b, String d, String tex)
- {
- slotType = st;
- buttonIconX = bx;
- buttonIconY = by;
- iconsX = xi;
- iconsY = yi;
- title = t;
- body = b;
- domain = d;
- texture = tex;
- }
-}
diff --git a/src/main/java/tconstruct/library/component/IComponentHolder.java b/src/main/java/tconstruct/library/component/IComponentHolder.java
deleted file mode 100644
index e1869d4f..00000000
--- a/src/main/java/tconstruct/library/component/IComponentHolder.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package tconstruct.library.component;
-
-import java.util.List;
-
-public interface IComponentHolder
-{
- public List getComponents ();
-}
diff --git a/src/main/java/tconstruct/library/component/LogicComponent.java b/src/main/java/tconstruct/library/component/LogicComponent.java
deleted file mode 100644
index cb3cf35a..00000000
--- a/src/main/java/tconstruct/library/component/LogicComponent.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package tconstruct.library.component;
-
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-
-public class LogicComponent
-{
- protected World world;
-
- public void setWorld (World world)
- {
- this.world = world;
- }
-
- public void readFromNBT (NBTTagCompound tags)
- {
- readNetworkNBT(tags);
- }
-
- public void readNetworkNBT (NBTTagCompound tags)
- {
-
- }
-
- public void writeToNBT (NBTTagCompound tags)
- {
- writeNetworkNBT(tags);
- }
-
- public void writeNetworkNBT (NBTTagCompound tags)
- {
-
- }
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/library/component/MultiFluidTank.java b/src/main/java/tconstruct/library/component/MultiFluidTank.java
deleted file mode 100644
index e98a6883..00000000
--- a/src/main/java/tconstruct/library/component/MultiFluidTank.java
+++ /dev/null
@@ -1,208 +0,0 @@
-package tconstruct.library.component;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTankInfo;
-import net.minecraftforge.fluids.IFluidTank;
-import tconstruct.library.crafting.Smeltery;
-
-public class MultiFluidTank extends LogicComponent implements IFluidTank
-{
- public ArrayList fluidlist = new ArrayList();
- protected int maxLiquid;
- protected int currentLiquid;
-
- public MultiFluidTank()
- {
- }
-
- public MultiFluidTank(int max)
- {
- maxLiquid = max;
- }
-
- public void setCapacity (int i)
- {
- maxLiquid = i;
- }
-
- @Override
- public int getCapacity ()
- {
- return maxLiquid;
- }
-
- @Override
- public int getFluidAmount ()
- {
- return currentLiquid;
- }
-
- @Override
- public FluidStack drain (int maxDrain, boolean doDrain)
- {
- if (fluidlist.size() == 0)
- return null;
-
- FluidStack liquid = fluidlist.get(0);
- if (liquid != null)
- {
- if (liquid.amount - maxDrain <= 0)
- {
- FluidStack liq = liquid.copy();
- if (doDrain)
- {
- fluidlist.remove(liquid);
- currentLiquid = 0;
- }
- return liq;
- }
- else
- {
- if (doDrain)
- {
- liquid.amount -= maxDrain;
- currentLiquid -= maxDrain;
- }
- return new FluidStack(liquid.fluidID, maxDrain, liquid.tag);
- }
- }
- else
- {
- return new FluidStack(0, 0);
- }
- }
-
- @Override
- public int fill (FluidStack resource, boolean doFill)
- {
- if (resource != null && currentLiquid < maxLiquid)
- {
- if (resource.amount + currentLiquid > maxLiquid)
- resource.amount = maxLiquid - currentLiquid;
- int amount = resource.amount;
-
- if (doFill)
- {
- if (addFluidToTank(resource, false))
- {
- ArrayList alloys = Smeltery.mixMetals(fluidlist);
- for (int al = 0; al < alloys.size(); al++)
- {
- FluidStack liquid = (FluidStack) alloys.get(al);
- addFluidToTank(liquid, true);
- }
- }
- }
- return amount;
- }
- else
- return 0;
- }
-
- public boolean addFluidToTank (FluidStack liquid, boolean first)
- {
- if (fluidlist.size() == 0)
- {
- fluidlist.add(liquid.copy());
- currentLiquid += liquid.amount;
- return true;
- }
- else
- {
- if (liquid.amount + currentLiquid > maxLiquid)
- return false;
-
- currentLiquid += liquid.amount;
- boolean added = false;
- for (int i = 0; i < fluidlist.size(); i++)
- {
- FluidStack l = fluidlist.get(i);
- if (l.isFluidEqual(liquid))
- {
- l.amount += liquid.amount;
- added = true;
- }
- if (l.amount <= 0)
- {
- fluidlist.remove(l);
- i--;
- }
- }
- if (!added)
- {
- if (first)
- fluidlist.add(0, liquid.copy());
- else
- fluidlist.add(liquid.copy());
- }
- return true;
- }
- }
-
- @Override
- public FluidStack getFluid ()
- {
- if (fluidlist.size() == 0)
- return null;
- return fluidlist.get(0);
- }
-
- public List getAllFluids ()
- {
- return fluidlist;
- }
-
- @Override
- public FluidTankInfo getInfo ()
- {
- return new FluidTankInfo(this);
- }
-
- public FluidTankInfo[] getMultiTankInfo ()
- {
- FluidTankInfo[] info = new FluidTankInfo[fluidlist.size() + 1];
- for (int i = 0; i < fluidlist.size(); i++)
- {
- FluidStack fluid = fluidlist.get(i);
- info[i] = new FluidTankInfo(fluid.copy(), fluid.amount);
- }
- info[fluidlist.size()] = new FluidTankInfo(null, maxLiquid - currentLiquid);
- return info;
- }
-
- /* Sync liquids */
-
- @Override
- public void readNetworkNBT (NBTTagCompound tags)
- {
- NBTTagList liquidTag = tags.getTagList("Liquids");
- fluidlist.clear();
-
- for (int iter = 0; iter < liquidTag.tagCount(); iter++)
- {
- NBTTagCompound nbt = (NBTTagCompound) liquidTag.tagAt(iter);
- FluidStack fluid = FluidStack.loadFluidStackFromNBT(nbt);
- if (fluid != null)
- fluidlist.add(fluid);
- }
- }
-
- @Override
- public void writeNetworkNBT (NBTTagCompound tags)
- {
- NBTTagList taglist = new NBTTagList();
- for (FluidStack liquid : fluidlist)
- {
- NBTTagCompound nbt = new NBTTagCompound();
- liquid.writeToNBT(nbt);
- taglist.appendTag(nbt);
- }
-
- tags.setTag("Liquids", taglist);
- }
-}
diff --git a/src/main/java/tconstruct/library/component/TankLayerScan.java b/src/main/java/tconstruct/library/component/TankLayerScan.java
deleted file mode 100644
index c280c17f..00000000
--- a/src/main/java/tconstruct/library/component/TankLayerScan.java
+++ /dev/null
@@ -1,570 +0,0 @@
-package tconstruct.library.component;
-
-import java.util.*;
-import net.minecraft.block.Block;
-import net.minecraft.nbt.*;
-import net.minecraft.tileentity.TileEntity;
-import tconstruct.TConstruct;
-import tconstruct.library.util.*;
-
-public class TankLayerScan extends LogicComponent
-{
- protected TileEntity master;
- protected IMasterLogic imaster;
- protected Block[] scanBlocks;
- protected CoordTuple masterCoord;
-
- protected boolean completeStructure;
-
- protected int bricks = 0;
- protected int airBlocks = 0;
- protected int structureTop = 0;
- protected HashSet layerBlockCoords = new HashSet();
- protected HashSet layerAirCoords = new HashSet();
-
- public ArrayList blockCoords = new ArrayList();
- public ArrayList airCoords = new ArrayList();
- protected ArrayList validAirCoords = new ArrayList();
- protected CoordTuple returnStone;
-
- private static boolean debug = System.getenv("DBG_MANTLE_TankLayerScan") != null;
- private static int MAX_LAYER_RECURSION_DEPTH = System.getProperty("os.arch").equals("amd64") ? 4000 : 2000; // Recursion causes overflows on 32-bit, so reduce if not 64-bit
-
- public TankLayerScan(TileEntity te, Block... ids)
- {
- assert te instanceof IMasterLogic : "TileEntity must be an instance of IMasterLogic";
- master = te;
- imaster = (IMasterLogic) te;
- scanBlocks = ids;
- masterCoord = new CoordTuple(te.xCoord, te.yCoord, te.zCoord);
- validAirCoords.add(new int[] { 1, 0 });
- validAirCoords.add(new int[] { -1, 0 });
- validAirCoords.add(new int[] { 0, 1 });
- validAirCoords.add(new int[] { 0, -1 });
- if (debug)
- {
- TConstruct.logger.info("In debug mode: " + this);
- TConstruct.logger.info("Using recursion size " + MAX_LAYER_RECURSION_DEPTH + " on JVM arch " + System.getProperty("os.arch"));
- }
- }
-
- public void checkValidStructure ()
- {
- bricks = 0;
- airBlocks = 0;
- blockCoords.clear();
- airCoords.clear();
- boolean validAir = false;
- //Check for air space in front of and behind the structure
- byte dir = getDirection();
- switch (getDirection())
- {
- case 2: // +z
- case 3: // -z
- if (checkAir(master.xCoord, master.yCoord, master.zCoord - 1) && checkAir(master.xCoord, master.yCoord, master.zCoord + 1))
- validAir = true;
- break;
- case 4: // +x
- case 5: // -x
- if (checkAir(master.xCoord - 1, master.yCoord, master.zCoord) && checkAir(master.xCoord + 1, master.yCoord, master.zCoord))
- validAir = true;
- break;
- }
-
- //Recurse the structure
- boolean validBlocks = false;
-
- int xPos = 0, zPos = 0;
- if (dir == 2)
- xPos = 1;
- if (dir == 3)
- xPos = -1;
- if (dir == 4)
- zPos = -1;
- if (dir == 5)
- zPos = 1;
-
- returnStone = new CoordTuple(master.xCoord - xPos, master.yCoord, master.zCoord - zPos);
- if (initialRecurseLayer(master.xCoord + xPos, master.yCoord, master.zCoord + zPos))
- {
- xPos = 0;
- zPos = 0;
- switch (dir)
- {
- case 2: // +z
- zPos = 1;
- break;
- case 3: // -z
- zPos = -1;
- break;
- case 4: // +x
- xPos = 1;
- break;
- case 5: // -x
- xPos = -1;
- break;
- }
- if (!world.isRemote && debug)
- TConstruct.logger.info("Bricks in recursion: " + blockCoords.size());
- blockCoords.clear();
- bricks = 0;
-
- //Does the actual adding of blocks in the ring
- boolean sealed = floodTest(master.xCoord + xPos, master.yCoord, master.zCoord + zPos);
- if (!world.isRemote && debug)
- {
- TConstruct.logger.info("Air in ring: " + airBlocks);
- TConstruct.logger.info("Bricks in ring: " + bricks);
- }
-
- if (sealed)
- {
- blockCoords.add(new CoordTuple(master.xCoord, master.yCoord, master.zCoord)); //Don't forget me!
- layerAirCoords = new HashSet(airCoords);
- layerBlockCoords = new HashSet(blockCoords);
-
- int lowY = recurseStructureDown(master.yCoord - 1);
- if (lowY != -1)
- {
- completeStructure = true;
- structureTop = recurseStructureUp(master.yCoord + 1);
- finalizeStructure();
-
- if (!world.isRemote && debug)
- {
- TConstruct.logger.info("Air in structure: " + airCoords.size());
- TConstruct.logger.info("Bricks in structure: " + blockCoords.size());
- }
- }
- }
- }
- }
-
- //@SuppressWarnings({ "unchecked" })
- protected void finalizeStructure ()
- {
- Collections.sort(blockCoords, new CoordTupleSort());
- Collections.sort(airCoords, new CoordTupleSort());
-
- for (CoordTuple coord : blockCoords)
- {
- TileEntity servant = world.getBlockTileEntity(coord.x, coord.y, coord.z);
- if (servant instanceof IServantLogic)
- ((IServantLogic) servant).verifyMaster(imaster, world, master.xCoord, master.yCoord, master.zCoord);
- }
- }
-
- public boolean isComplete ()
- {
- return completeStructure;
- }
-
- public int getAirLayerSize ()
- {
- return layerAirCoords.size();
- }
-
- public int getAirSize ()
- {
- return airBlocks;
- }
-
- public CoordTuple getAirByIndex (int index)
- {
- if (index >= airCoords.size() || index < 0)
- return null;
-
- return airCoords.get(index);
- }
-
- private byte getDirection ()
- {
- if (master instanceof IFacingLogic)
- return ((IFacingLogic) master).getRenderDirection();
- return 0;
- }
-
- protected boolean checkAir (int x, int y, int z)
- {
- Block block = Block.blocksList[world.getBlockId(x, y, z)];
- if (block == null || block.isAirBlock(world, x, y, z))// || block == TContent.tankAir)
- return true;
-
- return false;
- }
-
- protected boolean checkServant (int x, int y, int z)
- {
- Block block = Block.blocksList[world.getBlockId(x, y, z)];
- if (block == null || block.isAirBlock(world, x, y, z) || !isValidBlock(x, y, z))
- return false;
-
- if (!block.hasTileEntity(world.getBlockMetadata(x, y, z)))
- return false;
-
- TileEntity be = world.getBlockTileEntity(x, y, z);
- if (be instanceof IServantLogic)
- return ((IServantLogic) be).setPotentialMaster(this.imaster, this.world, x, y, z);
-
- return false;
- }
-
- protected boolean initialRecurseLayer (int x, int y, int z)
- {
- if (bricks > MAX_LAYER_RECURSION_DEPTH)
- return false;
-
- CoordTuple keystone = new CoordTuple(x, y, z);
- if (keystone.equals(returnStone))
- return true;
-
- for (int xPos = -1; xPos <= 1; xPos++)
- {
- for (int zPos = -1; zPos <= 1; zPos++)
- {
- CoordTuple coord = new CoordTuple(x + xPos, y, z + zPos);
- if (!blockCoords.contains(coord))
- {
- if (isValidBlock(x + xPos, y, z + zPos))
- {
- bricks++;
- blockCoords.add(coord);
- return initialRecurseLayer(x + xPos, y, z + zPos);
- }
- }
- }
- }
-
- return false;
- }
-
- protected boolean isValidBlock (int x, int y, int z)
- {
- Block block = Block.blocksList[world.getBlockId(x, y, z)];
- if (block != null)
- {
- for (int i = 0; i < scanBlocks.length; i++)
- {
- if (block == scanBlocks[i])
- return true;
- }
- }
- return false;
- }
-
- protected boolean floodTest (int x, int y, int z)
- {
- if (airBlocks > MAX_LAYER_RECURSION_DEPTH)
- return false;
-
- for (int[] offset : validAirCoords)
- {
- CoordTuple coord = new CoordTuple(x + offset[0], y, z + offset[1]);
- if (!airCoords.contains(coord))
- {
- if (checkAir(x + offset[0], y, z + offset[1]))
- {
- addAirBlock(coord.x, y, coord.z);
- floodTest(x + offset[0], y, z + offset[1]);
- }
- else if (!blockCoords.contains(coord) && checkServant(x + offset[0], y, z + offset[1]))
- {
- bricks++;
- blockCoords.add(coord);
- }
- }
- }
- return true;
- }
-
- public int recurseStructureDown (int y)
- {
- Iterator i = layerAirCoords.iterator();
- if (i.hasNext())
- {
- CoordTuple coord = (CoordTuple) i.next();
- if (checkAir(coord.x, y, coord.z))
- {
- boolean valid = true;
- addAirBlock(coord.x, y, coord.z); //Don't skip first one
-
- //Air blocks
- while (i.hasNext())
- {
- coord = (CoordTuple) i.next();
- if (checkAir(coord.x, y, coord.z))
- {
- addAirBlock(coord.x, y, coord.z);
- }
- else
- {
- valid = false;
- break;
- }
- }
-
- //Bricks
- i = layerBlockCoords.iterator();
- while (i.hasNext())
- {
- coord = (CoordTuple) i.next();
- if (checkServant(coord.x, y, coord.z))
- blockCoords.add(new CoordTuple(coord.x, y, coord.z));
-
- else
- {
- valid = false;
- break;
- }
- }
-
- if (valid)
- return recurseStructureDown(y - 1);
- }
- else if (checkServant(coord.x, y, coord.z))
- {
- //Bottom floor. All blocks, please vacate the elevator
- boolean valid = true;
- while (i.hasNext())
- {
- coord = (CoordTuple) i.next();
-
- if (checkServant(coord.x, y, coord.z))
- blockCoords.add(new CoordTuple(coord.x, y, coord.z));
-
- else
- {
- valid = false;
- break;
- }
- }
- if (valid)
- return y + 1;
- }
- }
-
- return -1;
- }
-
- public int recurseStructureUp (int y)
- {
- Iterator i = layerBlockCoords.iterator();
- if (i.hasNext())
- {
- CoordTuple coord = (CoordTuple) i.next();
- if (checkServant(coord.x, y, coord.z))
- {
- boolean valid = true;
-
- //Bricks
- while (i.hasNext())
- {
- coord = (CoordTuple) i.next();
- if (checkServant(coord.x, y, coord.z))
- blockCoords.add(new CoordTuple(coord.x, y, coord.z));
-
- else
- {
- valid = false;
- break;
- }
- }
-
- //Air blocks
- if (valid)
- {
- i = layerAirCoords.iterator();
- while (i.hasNext())
- {
- coord = (CoordTuple) i.next();
- if (checkAir(coord.x, y, coord.z))
- {
- addAirBlock(coord.x, y, coord.z);
- }
- else
- {
- valid = false;
- break;
- }
- }
- }
-
- if (valid)
- recurseStructureUp(y + 1);
- }
- }
- return y - 1;
- }
-
- protected void addAirBlock (int x, int y, int z)
- {
- airBlocks++;
- airCoords.add(new CoordTuple(x, y, z));
- }
-
- /* Checking for valid structures */
-
- public void recheckStructure ()
- {
- System.out.println("Rechecking structure");
- int height = -1;
- for (CoordTuple coord : blockCoords)
- {
- TileEntity servant = world.getBlockTileEntity(coord.x, coord.y, coord.z);
- boolean canPass = false;
- if (servant instanceof IServantLogic)
- {
- canPass = ((IServantLogic) servant).verifyMaster(imaster, world, master.xCoord, master.yCoord, master.zCoord);
- if (canPass)
- continue;
- }
- if (!canPass)
- {
- System.out.println("Coord: " + coord);
- height = coord.y;
- break;
- }
- }
-
- if (height != -1)
- {
- if (height <= master.yCoord)
- invalidateStructure();
- else
- invalidateBlocksAbove(height);
- }
- else
- {
- if (structureTop == 0) //Workaround for missing data
- {
- for (CoordTuple coord : blockCoords)
- structureTop = coord.y;
- }
- structureTop = recurseStructureUp(structureTop + 1);
- finalizeStructure();
- }
- }
-
- protected void invalidateStructure ()
- {
- completeStructure = false;
- for (CoordTuple coord : blockCoords)
- {
- TileEntity servant = world.getBlockTileEntity(coord.x, coord.y, coord.z);
- if (servant instanceof IServantLogic)
- ((IServantLogic) servant).invalidateMaster(imaster, world, master.xCoord, master.yCoord, master.zCoord);
- }
- master.worldObj.markBlockForUpdate(master.xCoord, master.yCoord, master.zCoord);
- }
-
- protected void invalidateBlocksAbove (int height)
- {
- for (CoordTuple coord : blockCoords)
- {
- if (coord.y < height)
- continue;
-
- TileEntity servant = world.getBlockTileEntity(coord.x, coord.y, coord.z);
- if (servant instanceof IServantLogic)
- ((IServantLogic) servant).invalidateMaster(imaster, world, master.xCoord, master.yCoord, master.zCoord);
- }
- }
-
- /** Do any necessary cleanup here. Remove air blocks, invalidate servants, etc */
- public void cleanup ()
- {
- Iterator i = blockCoords.iterator();
- while (i.hasNext())
- {
- CoordTuple coord = (CoordTuple) i.next();
- TileEntity te = world.getBlockTileEntity(coord.x, coord.y, coord.z);
- if (te != null && te instanceof IServantLogic)
- {
- ((IServantLogic) te).invalidateMaster(imaster, world, master.xCoord, master.yCoord, master.zCoord);
- }
- }
- }
-
- /* NBT */
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- NBTTagList layerAir = tags.getTagList("AirLayer");
- if (layerAir != null)
- {
- layerAirCoords.clear();
-
- for (int i = 0; i < layerAir.tagCount(); ++i)
- {
- NBTTagIntArray tag = (NBTTagIntArray) layerAir.tagAt(i);
- int[] coord = tag.intArray;
- layerAirCoords.add(new CoordTuple(coord[0], coord[1], coord[2]));
- }
- }
-
- NBTTagList blocks = tags.getTagList("Blocks");
- if (blocks != null)
- {
- blockCoords.clear();
-
- for (int i = 0; i < blocks.tagCount(); ++i)
- {
- NBTTagIntArray tag = (NBTTagIntArray) blocks.tagAt(i);
- int[] coord = tag.intArray;
- blockCoords.add(new CoordTuple(coord[0], coord[1], coord[2]));
- }
- }
-
- NBTTagList air = tags.getTagList("Air");
- if (air != null)
- {
- airCoords.clear();
-
- for (int i = 0; i < air.tagCount(); ++i)
- {
- NBTTagIntArray tag = (NBTTagIntArray) air.tagAt(i);
- int[] coord = tag.intArray;
- airCoords.add(new CoordTuple(coord[0], coord[1], coord[2]));
- }
- }
- structureTop = tags.getInteger("structureTop");
- }
-
- public void readNetworkNBT (NBTTagCompound tags)
- {
- completeStructure = tags.getBoolean("Complete");
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- NBTTagList layerAir = new NBTTagList();
- for (CoordTuple coord : layerAirCoords)
- {
- layerAir.appendTag(new NBTTagIntArray("coord", new int[] { coord.x, coord.y, coord.z }));
- }
- tags.setTag("AirLayer", layerAir);
-
- NBTTagList blocks = new NBTTagList();
- for (CoordTuple coord : blockCoords)
- {
- blocks.appendTag(new NBTTagIntArray("coord", new int[] { coord.x, coord.y, coord.z }));
- }
- tags.setTag("Blocks", blocks);
-
- NBTTagList air = new NBTTagList();
- for (CoordTuple coord : airCoords)
- {
- air.appendTag(new NBTTagIntArray("coord", new int[] { coord.x, coord.y, coord.z }));
- }
- tags.setTag("Air", air);
- tags.setInteger("structureTop", structureTop);
- }
-
- public void writeNetworkNBT (NBTTagCompound tags)
- {
- tags.setBoolean("Complete", completeStructure);
- }
-}
diff --git a/src/main/java/tconstruct/library/crafting/AlloyMix.java b/src/main/java/tconstruct/library/crafting/AlloyMix.java
deleted file mode 100644
index c9bdb65b..00000000
--- a/src/main/java/tconstruct/library/crafting/AlloyMix.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package tconstruct.library.crafting;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import net.minecraftforge.fluids.FluidStack;
-
-public class AlloyMix
-{
- public final FluidStack result;
- public final List mixers;
-
- public AlloyMix(FluidStack output, List inputs)
- {
- result = output;
- mixers = inputs;
- }
-
- /*public boolean matches(List liquids)
- {
- ArrayList list = new ArrayList(mixers);
- return false;
- }*/
-
- public FluidStack mix (ArrayList liquids)
- {
- ArrayList copyMix = new ArrayList(mixers);
- ArrayList effectiveAmount = new ArrayList();
-
- for (int i = 0; i < liquids.size(); i++)
- {
- FluidStack liquid = liquids.get(i);
- Iterator iter = copyMix.iterator();
- while (iter.hasNext())
- {
- FluidStack mixer = (FluidStack) iter.next();
- //if (mixer.itemID == liquid.itemID && mixer.itemMeta == liquid.itemMeta)
- if (mixer.isFluidEqual(liquid))
- {
- int eAmt = liquid.amount / mixer.amount;
- effectiveAmount.add(eAmt);
- copyMix.remove(mixer);
- //inputs.add(liquid);
- break;
- }
- }
- }
- //}
-
- if (copyMix.size() > 0)
- return null;
-
- //Remove old liquids
- int low = getLowestAmount(effectiveAmount);
- ArrayList copyMix2 = new ArrayList(mixers);
-
- for (int i = 0; i < liquids.size(); i++)
- {
- FluidStack liquid = liquids.get(i);
- Iterator iter = copyMix2.iterator();
- while (iter.hasNext())
- {
- FluidStack mixer = (FluidStack) iter.next();
- //if (mixer.itemID == liquid.itemID && mixer.itemMeta == liquid.itemMeta)
- if (mixer.isFluidEqual(liquid))
- {
- int eAmt = low * mixer.amount;
- liquid.amount -= eAmt;
- if (liquid.amount <= 0)
- {
- liquids.remove(liquid);
- i--;
- }
- copyMix2.remove(mixer);
- break;
- }
- }
- }
-
- FluidStack ret = result.copy();
- ret.amount *= low;
- return ret;
- }
-
- int getLowestAmount (ArrayList list)
- {
- int frist = (Integer) list.get(0); //FRIST!!!
- for (int i = 1; i < list.size(); i++)
- {
- int compare = (Integer) list.get(i);
- if (frist > compare)
- frist = compare;
- }
- return frist;
- }
-}
diff --git a/src/main/java/tconstruct/library/crafting/CastingRecipe.java b/src/main/java/tconstruct/library/crafting/CastingRecipe.java
deleted file mode 100644
index 315e4d3b..00000000
--- a/src/main/java/tconstruct/library/crafting/CastingRecipe.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package tconstruct.library.crafting;
-
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.fluids.FluidStack;
-import tconstruct.library.client.FluidRenderProperties;
-
-public class CastingRecipe
-{
- public ItemStack output;
- public FluidStack castingMetal;
- public ItemStack cast;
- public boolean consumeCast;
- public int coolTime;
- public FluidRenderProperties fluidRenderProperties;
-
- public CastingRecipe(ItemStack replacement, FluidStack metal, ItemStack cast, boolean consume, int delay, FluidRenderProperties props)
- {
- castingMetal = metal;
- this.cast = cast;
- output = replacement;
- consumeCast = consume;
- coolTime = delay;
- fluidRenderProperties = props;
- }
-
- public boolean matches (FluidStack metal, ItemStack inputCast)
- {
- if (castingMetal.isFluidEqual(metal)
- && ((cast != null && cast.getItemDamage() == Short.MAX_VALUE && inputCast.getItem() == cast.getItem()) || ItemStack.areItemStacksEqual(this.cast, inputCast)))
- {
- return true;
- }
- else
- return false;
- }
-
- public ItemStack getResult ()
- {
- return output.copy();
- }
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/library/crafting/Detailing.java b/src/main/java/tconstruct/library/crafting/Detailing.java
deleted file mode 100644
index 3aaa8097..00000000
--- a/src/main/java/tconstruct/library/crafting/Detailing.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package tconstruct.library.crafting;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import tconstruct.library.tools.ToolCore;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import cpw.mods.fml.common.registry.GameRegistry;
-
-public class Detailing
-{
- public List detailing = new ArrayList();
-
- public void addDetailing (Object input, int inputMeta, Object output, int outputMeta, ToolCore tool)
- {
- int iID, iMeta = inputMeta, oID, oMeta = outputMeta;
-
- if (input instanceof Block)
- iID = ((Block) input).blockID;
-
- else if (input instanceof Item)
- iID = ((Item) input).itemID;
-
- else if (input instanceof Integer)
- iID = (Integer) input;
-
- else
- throw new RuntimeException("Invalid detail input!");
-
- if (output instanceof Block)
- oID = ((Block) output).blockID;
-
- else if (output instanceof Item)
- oID = ((Item) output).itemID;
-
- else if (output instanceof Integer)
- oID = (Integer) output;
-
- else
- throw new RuntimeException("Invalid detail output!");
-
- this.addDetailing(new DetailInput(iID, iMeta, oID, oMeta), tool);
- }
-
- public void addDetailing (DetailInput details, ToolCore tool)
- {
- detailing.add(details);
- ItemStack toolstack = new ItemStack(tool, 1, Short.MAX_VALUE);
-
- NBTTagCompound compound = new NBTTagCompound();
- NBTTagCompound toolTag = new NBTTagCompound();
- toolTag.setInteger("RenderHandle", 0);
- toolTag.setInteger("RenderHead", 2);
- toolTag.setInteger("RenderAccessory", 2);
- toolTag.setInteger("Damage", 0);
- toolTag.setInteger("TotalDurability", 100);
- compound.setCompoundTag("InfiTool", toolTag);
- toolstack.setTagCompound(compound);
- addShapelessToolRecipe(new ItemStack(details.outputID, 1, details.outputMeta), toolstack, new ItemStack(details.inputID, 1, details.inputMeta));
- }
-
- public void addShapelessToolRecipe (ItemStack par1ItemStack, Object... par2ArrayOfObj)
- {
- ArrayList arraylist = new ArrayList();
- Object[] aobject = par2ArrayOfObj;
- int i = par2ArrayOfObj.length;
-
- for (int j = 0; j < i; ++j)
- {
- Object object1 = aobject[j];
-
- if (object1 instanceof ItemStack)
- {
- arraylist.add(((ItemStack) object1).copy());
- }
- else if (object1 instanceof Item)
- {
- arraylist.add(new ItemStack((Item) object1));
- }
- else
- {
- if (!(object1 instanceof Block))
- {
- throw new RuntimeException("Invalid shapeless tool recipe!");
- }
-
- arraylist.add(new ItemStack((Block) object1));
- }
- }
-
- GameRegistry.addRecipe(new ShapelessToolRecipe(par1ItemStack, arraylist));
- }
-
- public DetailInput getDetailing (int inputID, int inputMeta)
- {
- for (int i = 0; i < detailing.size(); i++)
- {
- DetailInput detail = (DetailInput) detailing.get(i);
- if (inputID == detail.inputID && inputMeta == detail.inputMeta)
- {
- return detail;
- }
- }
- return null;
- }
-
- public class DetailInput
- {
- public int inputID;
- public int inputMeta;
- public int outputID;
- public int outputMeta;
-
- public DetailInput(int inputID, int inputMeta, int outputID, int outputMeta)
- {
- this.inputID = inputID;
- this.inputMeta = inputMeta;
- this.outputID = outputID;
- this.outputMeta = outputMeta;
- }
- }
-}
diff --git a/src/main/java/tconstruct/library/crafting/DryingRackRecipes.java b/src/main/java/tconstruct/library/crafting/DryingRackRecipes.java
deleted file mode 100644
index 4e8ff632..00000000
--- a/src/main/java/tconstruct/library/crafting/DryingRackRecipes.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package tconstruct.library.crafting;
-
-import java.util.ArrayList;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-
-public class DryingRackRecipes
-{
- public static ArrayList recipes = new ArrayList();
-
- public static void addDryingRecipe (Object input, int time, Object output)
- {
- ItemStack inputItem = null;
- ItemStack outputItem = null;
-
- if (input instanceof ItemStack)
- inputItem = (ItemStack) input;
- else if (input instanceof Item)
- inputItem = new ItemStack((Item) input, 1, 0);
- else if (input instanceof Block)
- inputItem = new ItemStack((Block) input, 1, 0);
- else
- throw new RuntimeException("Drying recipe input is invalid!");
-
- if (output instanceof ItemStack)
- outputItem = (ItemStack) output;
- else if (output instanceof Item)
- outputItem = new ItemStack((Item) output, 1, 0);
- else if (output instanceof Block)
- outputItem = new ItemStack((Block) output, 1, 0);
- else
- throw new RuntimeException("Drying recipe output is invalid!");
-
- recipes.add(new DryingRecipe(inputItem, time, outputItem));
- }
-
- public static int getDryingTime (ItemStack input)
- {
- for (DryingRecipe r : recipes)
- {
- if (r.matches(input))
- return r.time;
- }
-
- return -1;
- }
-
- public static ItemStack getDryingResult (ItemStack input)
- {
- for (DryingRecipe r : recipes)
- {
- if (r.matches(input))
- return r.getResult();
- }
-
- return null;
- }
-
- static class DryingRecipe
- {
- public final int time;
- public final ItemStack input;
- public final ItemStack result;
-
- DryingRecipe(ItemStack input, int time, ItemStack result)
- {
- this.time = time;
- this.input = input;
- this.result = result;
- }
-
- public boolean matches (ItemStack input)
- {
- return ItemStack.areItemStacksEqual(this.input, input);
- }
-
- public ItemStack getResult ()
- {
- return result.copy();
- }
- }
-}
diff --git a/src/main/java/tconstruct/library/crafting/FluidType.java b/src/main/java/tconstruct/library/crafting/FluidType.java
deleted file mode 100644
index 6bd6a857..00000000
--- a/src/main/java/tconstruct/library/crafting/FluidType.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package tconstruct.library.crafting;
-
-import net.minecraft.block.Block;
-import net.minecraftforge.fluids.*;
-import tconstruct.common.TContent;
-
-public enum FluidType
-{
- /** Vanilla Water Smelting **/
- Water(Block.snow.blockID, 0, 20, FluidRegistry.getFluid("water"), false),
- /** Iron Smelting **/
- Iron(Block.blockIron.blockID, 0, 600, TContent.moltenIronFluid, true),
- /** Gold Smelting **/
- Gold(Block.blockGold.blockID, 0, 400, TContent.moltenGoldFluid, false),
- /** Tin Smelting **/
- Tin(TContent.metalBlock.blockID, 5, 400, TContent.moltenTinFluid, false),
- /** Copper Smelting **/
- Copper(TContent.metalBlock.blockID, 3, 550, TContent.moltenCopperFluid, true),
- /** Aluminum Smelting **/
- Aluminum(TContent.metalBlock.blockID, 6, 350, TContent.moltenAluminumFluid, false),
- /** Natural Aluminum Smelting **/
- NaturalAluminum(TContent.oreSlag.blockID, 6, 350, TContent.moltenAluminumFluid, false),
- /** Cobalt Smelting **/
- Cobalt(TContent.metalBlock.blockID, 0, 650, TContent.moltenCobaltFluid, true),
- /** Ardite Smelting **/
- Ardite(TContent.metalBlock.blockID, 1, 650, TContent.moltenArditeFluid, true),
- /** AluminumBrass Smelting **/
- AluminumBrass(TContent.metalBlock.blockID, 7, 350, TContent.moltenAlubrassFluid, false),
- /** Alumite Smelting **/
- Alumite(TContent.metalBlock.blockID, 8, 800, TContent.moltenAlumiteFluid, true),
- /** Manyullyn Smelting **/
- Manyullyn(TContent.metalBlock.blockID, 2, 750, TContent.moltenManyullynFluid, true),
- /** Bronze Smelting **/
- Bronze(TContent.metalBlock.blockID, 4, 500, TContent.moltenBronzeFluid, true),
- /** Steel Smelting **/
- Steel(TContent.metalBlock.blockID, 9, 700, TContent.moltenSteelFluid, true),
- /** Nickel Smelting **/
- Nickel(TContent.metalBlock.blockID, 0, 400, TContent.moltenNickelFluid, false),
- /** Lead Smelting **/
- Lead(TContent.metalBlock.blockID, 0, 400, TContent.moltenLeadFluid, false),
- /** Silver Smelting **/
- Silver(TContent.metalBlock.blockID, 0, 400, TContent.moltenSilverFluid, false),
- /** Platinum Smelting **/
- Platinum(TContent.metalBlock.blockID, 0, 400, TContent.moltenShinyFluid, false),
- /** Invar Smelting **/
- Invar(TContent.metalBlock.blockID, 0, 400, TContent.moltenInvarFluid, false),
- /** Electrum Smelting **/
- Electrum(TContent.metalBlock.blockID, 0, 400, TContent.moltenElectrumFluid, false),
- /** Obsidian Smelting **/
- Obsidian(Block.obsidian.blockID, 0, 750, TContent.moltenObsidianFluid, true),
- /** Ender Smelting **/
- Ender(TContent.metalBlock.blockID, 10, 500, TContent.moltenEnderFluid, false),
- /** Glass Smelting **/
- Glass(Block.sand.blockID, 0, 625, TContent.moltenGlassFluid, false),
- /** Stone Smelting **/
- Stone(Block.stone.blockID, 0, 800, TContent.moltenStoneFluid, true),
- /** Emerald Smelting **/
- Emerald(Block.oreEmerald.blockID, 0, 575, TContent.moltenEmeraldFluid, false),
- /** Slime Smelting **/
- Slime(TContent.slimeGel.blockID, 0, 250, TContent.blueSlimeFluid, false),
- /** Pigiron Smelting **/
- PigIron(TContent.meatBlock.blockID, 0, 610, TContent.pigIronFluid, true),
- /** Glue Smelting **/
- Glue(TContent.glueBlock.blockID, 0, 125, TContent.glueFluid, false);
-
- public final int renderBlockID;
- public final int renderMeta;
- public final int baseTemperature;
- public final Fluid fluid;
- public final boolean isToolpart;
-
- FluidType(int blockID, int meta, int baseTemperature, Fluid fluid, boolean isToolpart)
- {
- this.renderBlockID = blockID;
- this.renderMeta = meta;
- this.baseTemperature = baseTemperature;
- this.fluid = fluid;
- this.isToolpart = isToolpart;
- }
-
- public static FluidType getFluidType (Fluid searchedFluid)
- {
- for (FluidType ft : values())
- {
- if (ft.fluid.getBlockID() == searchedFluid.getBlockID())
- return ft;
- }
- return null;
- }
-
- public static int getTemperatureByFluid (Fluid searchedFluid)
- {
- for (FluidType ft : values())
- {
- if (ft.fluid.getBlockID() == searchedFluid.getBlockID())
- return ft.baseTemperature;
- }
- return 800;
- }
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/library/crafting/LiquidCasting.java b/src/main/java/tconstruct/library/crafting/LiquidCasting.java
deleted file mode 100644
index 61530340..00000000
--- a/src/main/java/tconstruct/library/crafting/LiquidCasting.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package tconstruct.library.crafting;
-
-import java.util.ArrayList;
-
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.fluids.FluidStack;
-import tconstruct.library.client.FluidRenderProperties;
-
-/* Melting becomes hardened */
-public class LiquidCasting
-{
- //public static LiquidCasting instance = new LiquidCasting();
- private final ArrayList casts = new ArrayList();
-
- private boolean contains (CastingRecipe recipe)
- {
- for (CastingRecipe c : casts)
- {
- if (c.matches(recipe.castingMetal, recipe.cast))
- return true;
- }
- return false;
- }
-
- /** Adds a casting recipe
- *
- * @param output Result of the cast
- * @param metal Liquid to be used in casting. This also decides how much metal is consumed
- * @param cast The empty item to cast with. ex Ingot Cast
- * @param consume Whether the item should be consumed while casting
- * @param delay Time to cast in ticks
- * @param props The rendering properties for the casting fluid (may be null)
- */
- public void addCastingRecipe (ItemStack output, FluidStack metal, ItemStack cast, boolean consume, int delay, FluidRenderProperties props)
- {
- CastingRecipe cr = new CastingRecipe(output, metal, cast, consume, delay, props);
- if (!contains(cr))
- casts.add(cr);
- }
-
- /** Adds a casting recipe
- *
- * @param output Result of the cast
- * @param metal Liquid to be used in casting. This also decides how much metal is consumed
- * @param cast The empty item to cast with. ex Ingot Cast
- * @param consume Whether the item should be consumed while casting
- * @param delay Time to cast in ticks
- */
- public void addCastingRecipe (ItemStack output, FluidStack metal, ItemStack cast, boolean consume, int delay)
- {
- addCastingRecipe(output, metal, cast, consume, delay, null);
- }
-
- /** Adds a casting recipe. Does not consume the cast
- *
- * @param output Result of the cast
- * @param metal Liquid to be used in casting. This also decides how much metal is consumed
- * @param cast The empty item to cast with. ex Ingot Cast
- * @param delay Time to cast in ticks
- * @param props The rendering properties for the casting fluid (may be null)
- */
- public void addCastingRecipe (ItemStack output, FluidStack metal, ItemStack cast, int delay, FluidRenderProperties props)
- {
- addCastingRecipe(output, metal, cast, false, delay, props);
- }
-
- /** Adds a casting recipe. Does not consume the cast
- *
- * @param output Result of the cast
- * @param metal Liquid to be used in casting. This also decides how much metal is consumed
- * @param cast The empty item to cast with. ex Ingot Cast
- * @param delay Time to cast in ticks
- */
- public void addCastingRecipe (ItemStack output, FluidStack metal, ItemStack cast, int delay)
- {
- addCastingRecipe(output, metal, cast, false, delay, null);
- }
-
- /** Adds a casting recipe. Does not consume the cast or have an item to cast against
- *
- * @param output Result of the cast
- * @param metal Liquid to be used in casting. This also decides how much metal is consumed
- * @param delay Time to cast in ticks
- * @param props The rendering properties for the casting fluid (may be null)
- */
- public void addCastingRecipe (ItemStack output, FluidStack metal, int delay, FluidRenderProperties props)
- {
- addCastingRecipe(output, metal, null, false, delay, props);
- }
-
- /** Adds a casting recipe. Does not consume the cast or have an item to cast against
- *
- * @param output Result of the cast
- * @param metal Liquid to be used in casting. This also decides how much metal is consumed
- * @param delay Time to cast in ticks
- */
- public void addCastingRecipe (ItemStack output, FluidStack metal, int delay)
- {
- addCastingRecipe(output, metal, null, false, delay, null);
- }
-
- public void addCustomCastingRecipe (CastingRecipe recipe)
- {
- casts.add(recipe);
- }
-
- public int getCastingDelay (FluidStack metal, ItemStack cast)
- {
- CastingRecipe recipe = getCastingRecipe(metal, cast);
- if (recipe != null)
- return recipe.coolTime;
- return -1;
- }
-
- public int getCastingAmount (FluidStack metal, ItemStack cast)
- {
- CastingRecipe recipe = getCastingRecipe(metal, cast);
- if (recipe != null)
- return recipe.castingMetal.amount;
- return 0;
- }
-
- public CastingRecipe getCastingRecipe (FluidStack metal, ItemStack cast)
- {
- for (CastingRecipe recipe : casts)
- {
- if (recipe.matches(metal, cast))
- return recipe;
- }
- return null;
- }
-
- //Getter for public viewing
- public ArrayList getCastingRecipes ()
- {
- return casts;
- }
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/library/crafting/PatternBuilder.java b/src/main/java/tconstruct/library/crafting/PatternBuilder.java
deleted file mode 100644
index be61072d..00000000
--- a/src/main/java/tconstruct/library/crafting/PatternBuilder.java
+++ /dev/null
@@ -1,251 +0,0 @@
-package tconstruct.library.crafting;
-
-/** How to build tool parts? With patterns! */
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.event.PartBuilderEvent;
-import tconstruct.library.tools.CustomMaterial;
-import tconstruct.library.util.IPattern;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.event.Event.Result;
-
-public class PatternBuilder
-{
- public static PatternBuilder instance = new PatternBuilder();
- //Map items to their parts with a hashmap
- public List materials = new ArrayList();
- public HashMap materialSets = new HashMap();
-
- //We could use IRecipe if it wasn't tied to InventoryCrafting
- public List toolPatterns = new ArrayList();
-
- /* Register methods */
- public void registerMaterial (ItemStack material, int value, String key)
- {
- materials.add(new ItemKey(material.getItem(), material.getItemDamage(), value, key));
- }
-
- public void registerMaterialSet (String key, ItemStack shard, ItemStack rod, int materialID)
- {
- materialSets.put(key, new MaterialSet(shard, rod, materialID));
- materials.add(new ItemKey(shard.getItem(), shard.getItemDamage(), 1, key));
- }
-
- public void registerFullMaterial (ItemStack material, int value, String key, ItemStack shard, ItemStack rod, int materialID)
- {
- materials.add(new ItemKey(material.getItem(), material.getItemDamage(), value, key));
- materials.add(new ItemKey(shard.getItem(), shard.getItemDamage(), 1, key));
- materialSets.put(key, new MaterialSet(shard, rod, materialID));
- }
-
- public void addToolPattern (IPattern item)
- {
- toolPatterns.add(item);
- }
-
- /* Build tool parts from patterns */
- public ItemStack[] getToolPart (ItemStack material, ItemStack pattern, ItemStack otherPattern)
- {
- if (material != null && pattern != null)
- {
- PartBuilderEvent.NormalPart event = new PartBuilderEvent.NormalPart(material, pattern, otherPattern);
- MinecraftForge.EVENT_BUS.post(event);
-
- if (event.getResult() == Result.ALLOW)
- {
- return event.getResultStacks();
- }
- else if (event.getResult() == Result.DENY)
- {
- return null;
- }
-
- ItemKey key = getItemKey(material);
- if (key != null)
- {
- MaterialSet mat = (MaterialSet) materialSets.get(key.key);
- ItemStack toolPart = getMatchingPattern(pattern, material, mat);
-
- if (toolPart != null)
- {
- int patternValue = ((IPattern) pattern.getItem()).getPatternCost(pattern);
- int totalMaterial = key.value * material.stackSize;
-
- if (totalMaterial < patternValue) // Not enough material
- return null;
-
- else if (patternValue == key.value) //Material only
- return new ItemStack[] { toolPart, null };
-
- else
- {
- if (patternValue % 2 == 1)
- {
- return new ItemStack[] { toolPart, mat.shard.copy() }; //Material + shard
- }
- else
- return new ItemStack[] { toolPart, null };
- }
- /*if ( patternValue < totalMaterial )
- {
- if (otherPattern != null)
- {
- int otherValue = ((IPattern)otherPattern.getItem()).getPatternCost(otherPattern.getItemDamage());
- if (patternValue + otherValue <= key.value)
- {
- ItemStack otherPart = getMatchingPattern(otherPattern, mat);
- return new ItemStack[] { toolPart, otherPart }; //Material + Material
- }
- }
- }
-
- else if ( patternValue == key.value )
- return new ItemStack[] { new ItemStack(toolPart, 1, mat.materialID), null }; //Material only
-
- else
- return null; //Not a valid match*/
- }
- }
- }
- return null;
- }
-
- public int getPartID (ItemStack material)
- {
- if (material != null)
- {
- ItemKey key = getItemKey(material);
- if (key != null)
- {
- MaterialSet set = (MaterialSet) materialSets.get(key.key);
- return set.materialID;
- }
- }
- return Short.MAX_VALUE;
- }
-
- public int getPartValue (ItemStack material)
- {
- if (material != null)
- {
- ItemKey key = getItemKey(material);
- if (key != null)
- return key.value;
-
- for (CustomMaterial mat : TConstructRegistry.customMaterials)
- {
- if (material.isItemEqual(mat.input))
- return mat.value;
- }
- }
- return 0;
- }
-
- public ItemKey getItemKey (ItemStack material)
- {
- Item mat = material.getItem();
- int damage = material.getItemDamage();
- for (ItemKey ik : materials)
- {
- if (mat == ik.item && (ik.damage == Short.MAX_VALUE || damage == ik.damage))
- return ik;
- }
- return null;
- }
-
- public ItemStack getMatchingPattern (ItemStack stack, ItemStack input, MaterialSet set)
- {
- Item item = stack.getItem();
- for (IPattern pattern : toolPatterns)
- {
- if (pattern == item)
- return pattern.getPatternOutput(stack, input, set);
- }
- return null;
- }
-
- public ItemStack getShardFromSet (String materialset)
- {
- MaterialSet set = (MaterialSet) materialSets.get(materialset);
- if (set != null)
- return set.shard.copy();
- return null;
- }
-
- public ItemStack getRodFromSet (String materialset)
- {
- MaterialSet set = (MaterialSet) materialSets.get(materialset);
- if (set != null)
- return set.rod.copy();
- return null;
- }
-
- //Small data classes. I would prefer the struct from C#, but we do what we can.
- public class ItemKey
- {
- public final Item item;
- public final int damage;
- public final int value;
- public final String key;
-
- public ItemKey(Item i, int d, int v, String s)
- {
- item = i;
- damage = d;
- value = v;
- key = s;
- }
- }
-
- public class MaterialSet
- {
- public final ItemStack shard;
- public final ItemStack rod;
- public final int materialID;
-
- public MaterialSet(ItemStack s, ItemStack r, int id)
- {
- shard = s;
- rod = r;
- materialID = id;
- }
- }
-
- //Helper Methods
- public void registerMaterial (Block material, int value, String key)
- {
- registerMaterial(new ItemStack(material, 1, Short.MAX_VALUE), value, key);
- }
-
- public void registerMaterial (Item material, int value, String key)
- {
- registerMaterial(new ItemStack(material, 1, Short.MAX_VALUE), value, key);
- }
-
- public void registerFullMaterial (Block material, int value, String key, ItemStack shard, ItemStack rod, int materialID)
- {
- registerFullMaterial(new ItemStack(material, 1, Short.MAX_VALUE), value, key, shard, rod, materialID);
- }
-
- public void registerFullMaterial (Item material, int value, String key, ItemStack shard, ItemStack rod, int materialID)
- {
- registerFullMaterial(new ItemStack(material, 1, Short.MAX_VALUE), value, key, shard, rod, materialID);
- }
-
- /*public void registerFullMaterial (Block material, int value, String key, int materialID)
- {
- registerFullMaterial(new ItemStack(material, 1, Short.MAX_VALUE), value, key, new ItemStack(TContent.toolShard, 1, materialID), new ItemStack(TContent.toolRod, 1, materialID), materialID);
- }
-
- public void registerFullMaterial (Item material, int value, String key, int materialID)
- {
- registerFullMaterial(new ItemStack(material, 1, Short.MAX_VALUE), value, key, new ItemStack(TContent.toolShard, 1, materialID), new ItemStack(TContent.toolRod, 1, materialID), materialID);
- }*/
-}
\ No newline at end of file
diff --git a/src/main/java/tconstruct/library/crafting/ShapelessToolRecipe.java b/src/main/java/tconstruct/library/crafting/ShapelessToolRecipe.java
deleted file mode 100644
index 40f8e41e..00000000
--- a/src/main/java/tconstruct/library/crafting/ShapelessToolRecipe.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package tconstruct.library.crafting;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import tconstruct.library.tools.ToolCore;
-
-import net.minecraft.inventory.InventoryCrafting;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.crafting.ShapelessRecipes;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-
-public class ShapelessToolRecipe extends ShapelessRecipes
-{
-
- public ShapelessToolRecipe(ItemStack par1ItemStack, List par2List)
- {
- super(par1ItemStack, par2List);
- }
-
- @Override
- public boolean matches (InventoryCrafting par1InventoryCrafting, World par2World)
- {
- ArrayList arraylist = new ArrayList(this.recipeItems);
-
- for (int i = 0; i < 3; ++i)
- {
- for (int j = 0; j < 3; ++j)
- {
- ItemStack itemstack = par1InventoryCrafting.getStackInRowAndColumn(j, i);
-
- if (itemstack != null)
- {
- boolean flag = false;
- Iterator iterator = arraylist.iterator();
-
- while (iterator.hasNext())
- {
- ItemStack itemstack1 = (ItemStack) iterator.next();
-
- //TConstruct.logger.info("Rawr! "+itemstack1.getItemDamage());
- if (itemstack.itemID == itemstack1.itemID && (itemstack1.getItemDamage() == Short.MAX_VALUE || itemstack.getItemDamage() == itemstack1.getItemDamage()))
- {
- if (itemstack.getItem() instanceof ToolCore)
- {
- NBTTagCompound tags = itemstack.getTagCompound().getCompoundTag("InfiTool");
- if (tags.getBoolean("Broken"))
- return false;
- }
- flag = true;
- arraylist.remove(itemstack1);
- break;
- }
- }
-
- if (!flag)
- {
- return false;
- }
- }
- }
- }
-
- return arraylist.isEmpty();
- }
-
-}
diff --git a/src/main/java/tconstruct/library/crafting/Smeltery.java b/src/main/java/tconstruct/library/crafting/Smeltery.java
deleted file mode 100644
index 6d200062..00000000
--- a/src/main/java/tconstruct/library/crafting/Smeltery.java
+++ /dev/null
@@ -1,205 +0,0 @@
-package tconstruct.library.crafting;
-
-import java.util.*;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.oredict.OreDictionary;
-
-/** Melting and hacking, churn and burn */
-public class Smeltery
-{
- public static Smeltery instance = new Smeltery();
-
- private final HashMap, FluidStack> smeltingList = new HashMap, FluidStack>();
- private final HashMap, Integer> temperatureList = new HashMap, Integer>();
- private final HashMap, ItemStack> renderIndex = new HashMap, ItemStack>();
- private final ArrayList alloys = new ArrayList();
-
- /** Adds mappings between an itemstack and an output liquid
- * Example: Smeltery.addMelting(Block.oreIron, 0, 600, new FluidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 0));
- *
- * @param stack The itemstack to liquify
- * @param temperature How hot the block should be before liquifying. Max temp in the Smeltery is 800, other structures may vary
- * @param output The result of the process in liquid form
- */
- public static void addMelting (ItemStack stack, int temperature, FluidStack output)
- {
- addMelting(stack, stack.itemID, stack.getItemDamage(), temperature, output);
- }
-
- /** Adds mappings between a block and its liquid
- * Example: Smeltery.addMelting(Block.oreIron, 0, 600, new FluidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 0));
- *
- * @param blockID The ID of the block to liquify and render
- * @param metadata The metadata of the block to liquify and render
- * @param temperature How hot the block should be before liquifying. Max temp in the Smeltery is 800, other structures may vary
- * @param output The result of the process in liquid form
- */
- public static void addMelting (Block block, int metadata, int temperature, FluidStack output)
- {
- addMelting(new ItemStack(block, 1, metadata), block.blockID, metadata, temperature, output);
- }
-
- /** Adds mappings between an input and its liquid.
- * Renders with the given input's block ID and metadata
- * Example: Smeltery.addMelting(Block.oreIron, 0, 600, new FluidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 0));
- *
- * @param input The item to liquify
- * @param blockID The ID of the block to render
- * @param metadata The metadata of the block to render
- * @param temperature How hot the block should be before liquifying
- * @param liquid The result of the process
- */
- public static void addMelting (ItemStack input, int blockID, int metadata, int temperature, FluidStack liquid)
- {
- instance.smeltingList.put(Arrays.asList(input.itemID, input.getItemDamage()), liquid);
- instance.temperatureList.put(Arrays.asList(input.itemID, input.getItemDamage()), temperature);
- instance.renderIndex.put(Arrays.asList(input.itemID, input.getItemDamage()), new ItemStack(blockID, input.stackSize, metadata));
- }
-
- /** Adds an alloy mixing recipe.
- * Example: Smeltery.addAlloyMixing(new FluidStack(bronzeID, 2, 0), new FluidStack(copperID, 3, 0), new FluidStack(tinID, 1, 0));
- * The example mixes 3 copper with 1 tin to make 2 bronze
- *
- * @param result The output of the combination of mixers. The quantity is used for amount of a successful mix
- * @param mixers the liquids to be mixed. Quantities are used as ratios
- */
- public static void addAlloyMixing (FluidStack result, FluidStack... mixers)
- {
- ArrayList inputs = new ArrayList();
- for (FluidStack liquid : mixers)
- inputs.add(liquid);
-
- instance.alloys.add(new AlloyMix(result, inputs));
- }
-
- /**
- * Used to get the resulting temperature from a source ItemStack
- * @param item The Source ItemStack
- * @return The result temperature
- */
- public static Integer getLiquifyTemperature (ItemStack item)
- {
- if (item == null)
- return 20;
-
- Integer temp = instance.temperatureList.get(Arrays.asList(item.itemID, item.getItemDamage()));
- if (temp == null)
- return 20;
- else
- return temp;
- }
-
- /**
- * Used to get the resulting temperature from a source Block
- * @param item The Source ItemStack
- * @return The result ItemStack
- */
- public static Integer getLiquifyTemperature (int blockID, int metadata)
- {
- return instance.temperatureList.get(Arrays.asList(blockID, metadata));
- }
-
- /**
- * Used to get the resulting ItemStack from a source ItemStack
- * @param item The Source ItemStack
- * @return The result ItemStack
- */
- public static FluidStack getSmelteryResult (ItemStack item)
- {
- if (item == null)
- return null;
-
- FluidStack stack = instance.smeltingList.get(Arrays.asList(item.itemID, item.getItemDamage()));
- if (stack == null)
- return null;
- return stack.copy();
- }
-
- /**
- * Used to get the resulting ItemStack from a source Block
- * @param item The Source ItemStack
- * @return The result ItemStack
- */
- public static FluidStack getSmelteryResult (int blockID, int metadata)
- {
- FluidStack stack = instance.smeltingList.get(Arrays.asList(blockID, metadata));
- if (stack == null)
- return null;
- return stack.copy();
- }
-
- public static ItemStack getRenderIndex (ItemStack input)
- {
- return instance.renderIndex.get(Arrays.asList(input.itemID, input.getItemDamage()));
- }
-
- public static ArrayList mixMetals (ArrayList moltenMetal)
- {
- ArrayList liquids = new ArrayList();
- for (AlloyMix alloy : instance.alloys)
- {
- FluidStack liquid = alloy.mix(moltenMetal);
- if (liquid != null)
- liquids.add(liquid);
- }
- return liquids;
- }
-
- public static HashMap, FluidStack> getSmeltingList ()
- {
- return instance.smeltingList;
- }
-
- public static HashMap, Integer> getTemperatureList ()
- {
- return instance.temperatureList;
- }
-
- public static HashMap, ItemStack> getRenderIndex ()
- {
- return instance.renderIndex;
- }
-
- public static ArrayList getAlloyList ()
- {
- return instance.alloys;
- }
-
- /**
- * Adds a mapping between FluidType and ItemStack
- *
- * @author samtrion
- *
- * @param type Type of Fluid
- * @param input The item to liquify
- * @param temperatureDifference Difference between FluidType BaseTemperature
- * @param fluidAmount Amount of Fluid
- */
- public static void addMelting (FluidType type, ItemStack input, int temperatureDifference, int fluidAmount)
- {
- int temp = type.baseTemperature + temperatureDifference;
- if (temp <= 20)
- temp = type.baseTemperature;
-
- addMelting(input, type.renderBlockID, type.renderMeta, type.baseTemperature + temperatureDifference, new FluidStack(type.fluid, fluidAmount));
- }
-
- /**
- * Adds all Items to the Smeltery based on the oreDictionary Name
- *
- * @author samtrion
- *
- * @param oreName oreDictionary name e.g. oreIron
- * @param type Type of Fluid
- * @param temperatureDifference Difference between FluidType BaseTemperature
- * @param fluidAmount Amount of Fluid
- */
- public static void addDictionaryMelting (String oreName, FluidType type, int temperatureDifference, int fluidAmount)
- {
- for (ItemStack is : OreDictionary.getOres(oreName))
- addMelting(type, is, temperatureDifference, fluidAmount);
- }
-}
diff --git a/src/main/java/tconstruct/library/crafting/ToolBuilder.java b/src/main/java/tconstruct/library/crafting/ToolBuilder.java
deleted file mode 100644
index 53d846b0..00000000
--- a/src/main/java/tconstruct/library/crafting/ToolBuilder.java
+++ /dev/null
@@ -1,530 +0,0 @@
-package tconstruct.library.crafting;
-
-/** Once upon a time, too many tools to count. Let's put them together automatically */
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.event.Event.Result;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.armor.ArmorMod;
-import tconstruct.library.event.ToolCraftEvent;
-import tconstruct.library.tools.ToolCore;
-import tconstruct.library.tools.ToolMaterial;
-import tconstruct.library.tools.ToolMod;
-import tconstruct.library.util.IToolPart;
-
-public class ToolBuilder
-{
- public static ToolBuilder instance = new ToolBuilder();
-
- public HashMap recipeList = new HashMap();
- public List combos = new ArrayList();
- public HashMap modifiers = new HashMap();
- public List toolMods = new ArrayList();
- public List armorMods = new ArrayList();
-
- /* Build tools */
- public static void addNormalToolRecipe (ToolCore output, Item head, Item handle)
- {
- ToolRecipe recipe = instance.recipeList.get(output.getToolName());
- if (recipe != null)
- {
- recipe.addHeadItem(head);
- recipe.addHandleItem(handle);
- }
- else
- {
- recipe = new ToolRecipe(head, handle, output);
- instance.combos.add(recipe);
- instance.recipeList.put(output.getToolName(), recipe);
- }
- }
-
- public static void addNormalToolRecipe (ToolCore output, Item head, Item handle, Item accessory)
- {
- //instance.combos.add(new ToolRecipe(head, accessory, output));
- ToolRecipe recipe = instance.recipeList.get(output.getToolName());
- if (recipe != null)
- {
- recipe.addHeadItem(head);
- recipe.addHandleItem(handle);
- recipe.addAccessoryItem(accessory);
- }
- else
- {
- recipe = new ToolRecipe(head, handle, accessory, output);
- instance.combos.add(recipe);
- instance.recipeList.put(output.getToolName(), recipe);
- }
- }
-
- public static void addNormalToolRecipe (ToolCore output, Item head, Item handle, Item accessory, Item extra)
- {
- ToolRecipe recipe = instance.recipeList.get(output.getToolName());
- if (recipe != null)
- {
- recipe.addHeadItem(head);
- recipe.addHandleItem(handle);
- recipe.addAccessoryItem(accessory);
- recipe.addExtraItem(extra);
- }
- else
- {
- recipe = new ToolRecipe(head, handle, accessory, extra, output);
- instance.combos.add(recipe);
- instance.recipeList.put(output.getToolName(), recipe);
- }
- }
-
- public static void addCustomToolRecipe (ToolRecipe recipe)
- {
- instance.combos.add(recipe);
- }
-
- public static void addToolRecipe (ToolCore output, Item... items)
- {
- if (items.length == 2)
- addNormalToolRecipe(output, items[0], items[1]);
- if (items.length == 3)
- addNormalToolRecipe(output, items[0], items[1], items[2]);
- if (items.length == 4)
- addNormalToolRecipe(output, items[0], items[1], items[2], items[3]);
- }
-
- public ToolCore getMatchingRecipe (Item head, Item handle, Item accessory, Item extra)
- {
- for (ToolRecipe recipe : combos)
- {
- if (recipe.validHead(head) && recipe.validHandle(handle) && recipe.validAccessory(accessory) && recipe.validExtra(extra))
- return recipe.getType();
- }
- return null;
- }
-
- //Builds a tool from the parts given
- public ItemStack buildTool (ItemStack headStack, ItemStack handleStack, ItemStack accessoryStack, String name)
- {
- return buildTool(headStack, handleStack, accessoryStack, null, name);
- }
-
- public int getMaterialID (ItemStack stack)
- {
- if (stack == null)
- return -1;
- Item item = stack.getItem();
- if (item == Item.stick)
- return 0;
- else if (item == Item.bone)
- return 5;
- else if (item instanceof IToolPart)
- return ((IToolPart) item).getMaterialID(stack);
-
- return -1;
- }
-
- public ItemStack buildTool (ItemStack headStack, ItemStack handleStack, ItemStack accessoryStack, ItemStack extraStack, String name)
- {
- if (headStack != null && headStack.getItem() instanceof ToolCore)
- return modifyTool(headStack, handleStack, accessoryStack, extraStack, name);
-
- if (headStack == null || handleStack == null) //Nothing to build without these. All tools need at least two parts!
- return null;
-
- ToolCore item;
- boolean validMaterials = true;
- int head = -1, handle = -1, accessory = -1, extra = -1;
- /*if (headStack.getItem() instanceof IToolPart)
- {
- head = ((IToolPart) headStack.getItem()).getMaterialID(headStack);
- }
- else
- validMaterials = false;*/
- head = getMaterialID(headStack);
- if (head == -1)
- validMaterials = false;
-
- handle = getMaterialID(handleStack);
- if (handle == -1)
- validMaterials = false;
- /*if (handleItem == Item.stick)
- handle = 0;
- else if (handleItem == Item.bone)
- handle = 5;
- else if (handleItem instanceof IToolPart)
- handle = ((IToolPart) handleItem).getMaterialID(handleStack);
- else
- validMaterials = false;*/
-
- if (!validMaterials)
- return null;
-
- if (accessoryStack == null)
- {
- item = getMatchingRecipe(headStack.getItem(), handleStack.getItem(), null, null);
- }
- else
- {
- /*if (accessoryStack.getItem() instanceof IToolPart)
- accessory = ((IToolPart) accessoryStack.getItem()).getMaterialID(accessoryStack);
- else
- return null;*/
-
- accessory = getMaterialID(accessoryStack);
- if (accessory == -1)
- return null;
-
- if (extraStack != null)
- {
- /*if (extraStack.getItem() instanceof IToolPart)
- extra = ((IToolPart) extraStack.getItem()).getMaterialID(extraStack);
- else
- return null;*/
-
- extra = getMaterialID(extraStack);
- if (extra == -1)
- return null;
-
- item = getMatchingRecipe(headStack.getItem(), handleStack.getItem(), accessoryStack.getItem(), extraStack.getItem());
- }
- else
- {
- item = getMatchingRecipe(headStack.getItem(), handleStack.getItem(), accessoryStack.getItem(), null);
- }
- }
-
- //TConstruct.logger.info("Valid: "+item);
-
- if (item == null)
- return null;
-
- ToolMaterial headMat = null, handleMat = null, accessoryMat = null, extraMat = null;
- headMat = TConstructRegistry.getMaterial(head);
- handleMat = TConstructRegistry.getMaterial(handle);
-
- if (accessory != -1)
- accessoryMat = TConstructRegistry.getMaterial(accessory);
-
- if (extra != -1)
- extraMat = TConstructRegistry.getMaterial(extra);
-
- int durability = headMat.durability();
- int heads = 1;
- int handles = 0;
- float modifier = 1f;
- int attack = headMat.attack();
-
- if (item.durabilityTypeHandle() == 2)
- {
- heads++;
- durability += handleMat.durability();
- attack += handleMat.attack();
- }
- else if (item.durabilityTypeHandle() == 1)
- {
- handles++;
- modifier = handleMat.handleDurability();
- }
-
- if (accessory != -1)
- {
- if (item.durabilityTypeAccessory() == 2)
- {
- heads++;
- durability += accessoryMat.durability();
- attack += accessoryMat.attack();
- }
- else if (item.durabilityTypeAccessory() == 1)
- {
- handles++;
- modifier += accessoryMat.handleDurability();
- }
- }
-
- if (extra != -1)
- {
- if (item.durabilityTypeExtra() == 2)
- {
- heads++;
- durability += extraMat.durability();
- attack += extraMat.attack();
- }
- else if (item.durabilityTypeExtra() == 1)
- {
- handles++;
- modifier += extraMat.handleDurability();
- }
- }
-
- if (handles > 0)
- {
- modifier *= (0.5 + handles * 0.5);
- modifier /= handles;
- }
-
- durability = (int) (durability / heads * (0.5 + heads * 0.5) * modifier * item.getDurabilityModifier());
- attack = attack / heads + item.getDamageVsEntity(null);
- if (attack % heads != 0)
- attack++;
-
- ItemStack tool = new ItemStack(item);
- NBTTagCompound compound = new NBTTagCompound();
-
- compound.setCompoundTag("InfiTool", new NBTTagCompound());
- compound.getCompoundTag("InfiTool").setInteger("Head", head);
- compound.getCompoundTag("InfiTool").setInteger("RenderHead", head);
-
- compound.getCompoundTag("InfiTool").setInteger("Handle", handle);
- compound.getCompoundTag("InfiTool").setInteger("RenderHandle", handle);
-
- if (accessory != -1)
- {
- compound.getCompoundTag("InfiTool").setInteger("Accessory", accessory);
- compound.getCompoundTag("InfiTool").setInteger("RenderAccessory", accessory);
- }
- if (extra != -1)
- {
- compound.getCompoundTag("InfiTool").setInteger("Extra", extra);
- compound.getCompoundTag("InfiTool").setInteger("RenderExtra", extra);
- }
-
- compound.getCompoundTag("InfiTool").setInteger("Damage", 0); //Damage is damage to the tool
- compound.getCompoundTag("InfiTool").setInteger("TotalDurability", durability);
- compound.getCompoundTag("InfiTool").setInteger("BaseDurability", durability);
- compound.getCompoundTag("InfiTool").setInteger("BonusDurability", 0); //Modifier
- compound.getCompoundTag("InfiTool").setFloat("ModDurability", 0f); //Modifier
- compound.getCompoundTag("InfiTool").setBoolean("Broken", false);
- compound.getCompoundTag("InfiTool").setInteger("Attack", attack);
-
- compound.getCompoundTag("InfiTool").setInteger("MiningSpeed", headMat.toolSpeed());
- compound.getCompoundTag("InfiTool").setInteger("HarvestLevel", headMat.harvestLevel());
- if (item.durabilityTypeHandle() == 2)
- {
- compound.getCompoundTag("InfiTool").setInteger("MiningSpeedHandle", handleMat.toolSpeed());
- compound.getCompoundTag("InfiTool").setInteger("HarvestLevelHandle", handleMat.harvestLevel());
- }
- if (accessory != -1 && item.durabilityTypeAccessory() == 2)
- {
- compound.getCompoundTag("InfiTool").setInteger("MiningSpeed2", accessoryMat.toolSpeed());
- compound.getCompoundTag("InfiTool").setInteger("HarvestLevel2", accessoryMat.harvestLevel());
- }
-
- if (extra != -1 && item.durabilityTypeExtra() == 2)
- {
- compound.getCompoundTag("InfiTool").setInteger("MiningSpeedExtra", extraMat.toolSpeed());
- compound.getCompoundTag("InfiTool").setInteger("HarvestLevelExtra", extraMat.harvestLevel());
- }
-
- compound.getCompoundTag("InfiTool").setInteger("Unbreaking", buildReinforced(headMat, handleMat, accessoryMat, extraMat));
- compound.getCompoundTag("InfiTool").setFloat("Shoddy", buildShoddy(headMat, handleMat, accessoryMat, extraMat));
-
- int modifiers = item.getModifierAmount();
- if (accessory == -1)
- modifiers += (head == 9 ? 2 : 0);
- else
- modifiers += (head == 9 ? 1 : 0) + (accessory == 9 ? 1 : 0);
- modifiers += +(handle == 9 ? 1 : 0);
- modifiers += +(extra == 9 ? 1 : 0);
-
- compound.getCompoundTag("InfiTool").setInteger("Modifiers", modifiers);
-
- if (name != null && !name.equals(""))
- {
- compound.setCompoundTag("display", new NBTTagCompound());
- compound.getCompoundTag("display").setString("Name", "\u00A7f" + name);
- }
-
- ToolCraftEvent.NormalTool event = new ToolCraftEvent.NormalTool(item, compound, new ToolMaterial[] { headMat, handleMat, accessoryMat, extraMat });
- MinecraftForge.EVENT_BUS.post(event);
-
- if (event.getResult() == Result.DEFAULT)
- {
- tool.setTagCompound(compound);
- }
- else if (event.getResult() == Result.ALLOW)
- {
- tool = event.getResultStack();
- }
- else
- {
- tool = null;
- }
-
- return tool;
- }
-
- @Deprecated
- public ItemStack modifyTool (ItemStack input, ItemStack topSlot, ItemStack bottomSlot, ItemStack extraStack, String name)
- {
- if (extraStack != null)
- return null;
-
- ItemStack tool = input.copy();
- NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
- tags.removeTag("Built");
-
- if (topSlot == null && bottomSlot == null)
- return tool;
-
- boolean built = false;
- for (ToolMod mod : toolMods)
- {
- ItemStack[] slots = new ItemStack[] { topSlot, bottomSlot };
- if (mod.matches(slots, tool))
- {
- built = true;
- mod.addMatchingEffect(tool);
- mod.modify(slots, tool);
- }
- }
-
- tags = tool.getTagCompound();
- if (name != null && !name.equals("") && !tags.hasKey("display"))
- {
- tags.setCompoundTag("display", new NBTTagCompound());
- tags.getCompoundTag("display").setString("Name", "\u00A7f" + name);
- }
-
- if (built)
- return tool;
- else
- return null;
- }
-
- public ItemStack modifyTool (ItemStack input, ItemStack[] slots, String name)
- {
- ItemStack tool = input.copy();
- NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
- tags.removeTag("Built");
-
- boolean built = false;
- for (ToolMod mod : toolMods)
- {
- if (mod.matches(slots, tool))
- {
- built = true;
- mod.addMatchingEffect(tool);
- mod.modify(slots, tool);
- }
- }
-
- tags = tool.getTagCompound();
- if (name != null && !name.equals("") && !tags.hasKey("display"))
- {
- tags.setCompoundTag("display", new NBTTagCompound());
- tags.getCompoundTag("display").setString("Name", "\u00A7f" + name);
- }
-
- if (built)
- return tool;
- else
- return null;
- }
-
- public ItemStack modifyArmor (ItemStack input, ItemStack[] slots, String name)
- {
- ItemStack armor = input.copy();
- if (!armor.hasTagCompound())
- addArmorTag(input);
- NBTTagCompound tags = armor.getTagCompound().getCompoundTag("TinkerArmor");
- tags.removeTag("Built");
-
- boolean built = false;
- for (ArmorMod mod : armorMods)
- {
- if (mod.matches(slots, armor))
- {
- built = true;
- mod.addMatchingEffect(armor);
- mod.modify(slots, armor);
- }
- }
-
- tags = armor.getTagCompound();
- if (name != null && !name.equals("") && !tags.hasKey("display"))
- {
- tags.setCompoundTag("display", new NBTTagCompound());
- tags.getCompoundTag("display").setString("Name", "\u00A7f" + name);
- }
-
- if (built)
- return armor;
- else
- return null;
- }
-
- public void addArmorTag (ItemStack armor) //Not sure if temporary or not
- {
- NBTTagCompound baseTag = new NBTTagCompound();
- NBTTagList list = new NBTTagList();
-
- NBTTagCompound armorTag = new NBTTagCompound();
- armorTag.setInteger("Modifiers", 30);
- baseTag.setTag("TinkerArmor", armorTag);
-
- armor.setTagCompound(baseTag);
- }
-
- int buildReinforced (ToolMaterial headMat, ToolMaterial handleMat, ToolMaterial accessoryMat, ToolMaterial extraMat)
- {
- int reinforced = 0;
-
- int dHead = headMat.reinforced();
- int dHandle = handleMat.reinforced();
- int dAccessory = 0;
- if (accessoryMat != null)
- dAccessory = accessoryMat.reinforced();
- int dExtra = 0;
- if (extraMat != null)
- dExtra = extraMat.reinforced();
-
- if (dHead > reinforced)
- reinforced = dHead;
- if (dHandle > reinforced)
- reinforced = dHandle;
- if (dAccessory > reinforced)
- reinforced = dAccessory;
- if (dExtra > reinforced)
- reinforced = dExtra;
-
- return reinforced;
- }
-
- float buildShoddy (ToolMaterial headMat, ToolMaterial handleMat, ToolMaterial accessoryMat, ToolMaterial extraMat)
- {
- float sHead = headMat.shoddy();
- float sHandle = handleMat.shoddy();
- if (extraMat != null)
- {
- float sAccessory = accessoryMat.shoddy();
- float sExtra = extraMat.shoddy();
- return (sHead + sHandle + sAccessory + sExtra) / 4f;
- }
-
- if (accessoryMat != null)
- {
- float sAccessory = accessoryMat.shoddy();
- return (sHead + sHandle + sAccessory) / 3f;
- }
- return (sHead + sHandle) / 2f;
- }
-
- public static void registerToolMod (ToolMod mod)
- {
- if (mod == null)
- throw new NullPointerException("Tool modifier cannot be null.");
- instance.toolMods.add(mod);
- }
-
- public static void registerArmorMod(ArmorMod mod)
- {
- if (mod == null)
- throw new NullPointerException("Armor modifier cannot be null.");
- instance.armorMods.add(mod);
- }
-}
diff --git a/src/main/java/tconstruct/library/crafting/ToolRecipe.java b/src/main/java/tconstruct/library/crafting/ToolRecipe.java
deleted file mode 100644
index 3d4f95cb..00000000
--- a/src/main/java/tconstruct/library/crafting/ToolRecipe.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package tconstruct.library.crafting;
-
-import java.util.LinkedList;
-
-import net.minecraft.item.Item;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.tools.ToolCore;
-
-/*
- * Small class for checking if a particular tool combination is this one
- */
-
-public class ToolRecipe
-{
- protected LinkedList- headList = new LinkedList
- ();
- protected LinkedList
- handleList = new LinkedList
- ();
- protected LinkedList
- accessoryList = new LinkedList
- ();
- protected LinkedList
- extraList = new LinkedList
- ();
- protected ToolCore result;
- protected Item toolRod = TConstructRegistry.getItem("toolRod");
-
- /*public ToolRecipe(Item head, ToolCore tool)
- {
- this(head, TContent.toolRod, null, null, tool);
- }*/
-
- public ToolRecipe(Item head, Item handle, ToolCore tool)
- {
- this(head, handle, null, null, tool);
- }
-
- public ToolRecipe(Item head, Item handle, Item accessory, ToolCore tool)
- {
- this(head, handle, accessory, null, tool);
- }
-
- public ToolRecipe(Item head, Item handle, Item accessory, Item extra, ToolCore tool)
- {
- this.headList.add(head);
- this.handleList.add(handle);
- if (accessory != null)
- this.accessoryList.add(accessory);
- if (extra != null)
- this.extraList.add(extra);
- result = tool;
- }
-
- public void addHeadItem (Item head)
- {
- this.headList.add(head);
- }
-
- public void addHandleItem (Item head)
- {
- this.handleList.add(head);
- }
-
- public void addAccessoryItem (Item head)
- {
- this.accessoryList.add(head);
- }
-
- public void addExtraItem (Item head)
- {
- this.extraList.add(head);
- }
-
- public boolean validHead (Item input)
- {
- for (Item part : headList)
- {
- if (part == input)
- return true;
- }
- return false;
- }
-
- public boolean validHandle (Item input)
- {
- for (Item part : handleList)
- {
- if (part == input)
- return true;
- if (toolRod != null && part == toolRod && (input == Item.stick || input == Item.bone))
- return true;
- }
- return false;
- }
-
- public boolean validAccessory (Item input)
- {
- if (input == null)
- {
- if (accessoryList.size() < 1)
- return true;
- return false;
- }
- for (Item part : accessoryList)
- {
- if (part == input)
- return true;
- if (toolRod != null && part == toolRod && (input == Item.stick || input == Item.bone))
- return true;
- }
- return false;
- }
-
- public boolean validExtra (Item input)
- {
- if (input == null)
- {
- if (extraList.size() < 1)
- return true;
- return false;
- }
- for (Item part : extraList)
- {
- if (part == input)
- return true;
- if (toolRod != null && part == toolRod && (input == Item.stick || input == Item.bone))
- return true;
- }
- return false;
- }
-
- public ToolCore getType ()
- {
- return result;
- }
-}
diff --git a/src/main/java/tconstruct/library/event/PartBuilderEvent.java b/src/main/java/tconstruct/library/event/PartBuilderEvent.java
deleted file mode 100644
index 248ec1a1..00000000
--- a/src/main/java/tconstruct/library/event/PartBuilderEvent.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package tconstruct.library.event;
-
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.event.Event;
-
-/* This event fires after all of the other construction. The resulting nbttag is added to the tool
- * Note: The tag is the base tag. toolTag.getCompoundTag("InfiTool") will have all of the tool's data.
- */
-
-public class PartBuilderEvent extends Event
-{
- public final ItemStack material;
- public final ItemStack pattern;
- public final ItemStack otherPattern;
- protected ItemStack[] resultStacks;
-
- public PartBuilderEvent(ItemStack material, ItemStack pattern, ItemStack otherPattern)
- {
- this.material = material;
- this.pattern = pattern;
- this.otherPattern = otherPattern;
- }
-
- @HasResult
- public static class NormalPart extends PartBuilderEvent
- {
- public NormalPart(ItemStack material, ItemStack pattern, ItemStack otherPattern)
- {
- super(material, pattern, otherPattern);
- }
-
- /** Fires before other processing is done
- *
- * Result is significant:
- * DEFAULT: Allows part to be crafted normally
- * ALLOW: Uses resultStack instead
- * DENY: Stops part crafting altogether
- */
-
- public void overrideResult (ItemStack[] result)
- {
- resultStacks = result;
- this.setResult(Result.ALLOW);
- }
-
- public ItemStack[] getResultStacks ()
- {
- return resultStacks;
- }
- }
-}
diff --git a/src/main/java/tconstruct/library/event/ToolCraftEvent.java b/src/main/java/tconstruct/library/event/ToolCraftEvent.java
deleted file mode 100644
index effb6294..00000000
--- a/src/main/java/tconstruct/library/event/ToolCraftEvent.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package tconstruct.library.event;
-
-import tconstruct.library.tools.ToolCore;
-import tconstruct.library.tools.ToolMaterial;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraftforge.event.Event;
-
-/* This event fires after all of the other construction. The resulting nbttag is added to the tool
- * Note: The tag is the base tag. toolTag.getCompoundTag("InfiTool") will have all of the tool's data.
- */
-
-public class ToolCraftEvent extends Event
-{
- public final ToolCore tool;
- public final NBTTagCompound toolTag;
- public final ToolMaterial[] materials;
- protected ItemStack resultStack;
-
- public ToolCraftEvent(ToolCore tool, NBTTagCompound toolTag, ToolMaterial[] materials)
- {
- this.tool = tool;
- this.toolTag = toolTag;
- this.materials = materials;
- }
-
- @HasResult
- public static class NormalTool extends ToolCraftEvent
- {
- public NormalTool(ToolCore tool, NBTTagCompound toolTag, ToolMaterial[] materials)
- {
- super(tool, toolTag, materials);
- }
-
- /** Fires just before the tool is put together
- *
- * Result is significant:
- * DEFAULT: Allows tool to be crafted normally
- * ALLOW: Uses resultStack instead
- * DENY: Stops tool crafting altogether
- */
-
- public void overrideResult (ItemStack result)
- {
- resultStack = result;
- this.setResult(Result.ALLOW);
- }
-
- public ItemStack getResultStack ()
- {
- return resultStack;
- }
- }
-}
diff --git a/src/main/java/tconstruct/library/event/ToolCraftedEvent.java b/src/main/java/tconstruct/library/event/ToolCraftedEvent.java
deleted file mode 100644
index b34f4811..00000000
--- a/src/main/java/tconstruct/library/event/ToolCraftedEvent.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package tconstruct.library.event;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.event.Event;
-
-public class ToolCraftedEvent extends Event {
-
- public IInventory inventory;
- public EntityPlayer player;
- public ItemStack tool;
-
- public ToolCraftedEvent(IInventory inventory, EntityPlayer player, ItemStack tool){
- this.inventory = inventory;
- this.player = player;
- this.tool = tool;
- }
-
-}
diff --git a/src/main/java/tconstruct/library/tools/AbilityHelper.java b/src/main/java/tconstruct/library/tools/AbilityHelper.java
deleted file mode 100644
index 09d9473c..00000000
--- a/src/main/java/tconstruct/library/tools/AbilityHelper.java
+++ /dev/null
@@ -1,755 +0,0 @@
-package tconstruct.library.tools;
-
-import ic2.api.item.ICustomElectricItem;
-import ic2.api.item.IElectricItem;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.enchantment.EnchantmentHelper;
-import net.minecraft.enchantment.EnchantmentThorns;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.SharedMonsterAttributes;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.monster.EntityCreeper;
-import net.minecraft.entity.monster.EntityGhast;
-import net.minecraft.entity.monster.IMob;
-import net.minecraft.entity.passive.EntityWolf;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.potion.Potion;
-import net.minecraft.stats.AchievementList;
-import net.minecraft.stats.StatList;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.DamageSource;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.util.Vec3;
-import net.minecraft.world.World;
-import net.minecraftforge.common.FakePlayer;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.event.Event.Result;
-import net.minecraftforge.event.entity.player.UseHoeEvent;
-import tconstruct.library.ActiveToolMod;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.util.PiercingEntityDamage;
-
-public class AbilityHelper
-{
- public static Random random = new Random();
- public static boolean necroticUHS;
-
- /* Normal interactions */
- public static boolean onBlockChanged (ItemStack stack, World world, int bID, int x, int y, int z, EntityLivingBase player, Random random)
- {
- if (!stack.hasTagCompound())
- return false;
-
- int reinforced = 0;
- NBTTagCompound tags = stack.getTagCompound();
-
- if (tags.getCompoundTag("InfiTool").hasKey("Unbreaking"))
- reinforced = tags.getCompoundTag("InfiTool").getInteger("Unbreaking");
-
- if (random.nextInt(10) < 10 - reinforced)
- {
- damageTool(stack, 1, tags, player, false);
- }
-
- return true;
- }
-
- public static boolean onLeftClickEntity (ItemStack stack, EntityLivingBase player, Entity entity, ToolCore tool)
- {
- return onLeftClickEntity(stack, player, entity, tool, 0);
- }
-
- public static boolean onLeftClickEntity (ItemStack stack, EntityLivingBase player, Entity entity, ToolCore tool, int baseDamage)
- {
- if (entity.canAttackWithItem() && stack.hasTagCompound())
- {
- if (!entity.hitByEntity(player)) // can't attack this entity
- {
- NBTTagCompound tags = stack.getTagCompound();
- NBTTagCompound toolTags = stack.getTagCompound().getCompoundTag("InfiTool");
- float attribute = (float) player.getEntityAttribute(SharedMonsterAttributes.attackDamage).getAttributeValue();
- int damage = toolTags.getInteger("Attack") + baseDamage + 1;
- damage *= attribute;
- boolean broken = toolTags.getBoolean("Broken");
-
- int durability = tags.getCompoundTag("InfiTool").getInteger("Damage");
- float stonebound = tags.getCompoundTag("InfiTool").getFloat("Shoddy");
-
- float stoneboundDamage = (float) Math.log(durability / 72f + 1) * -2 * stonebound;
-
- int earlyModDamage = 0;
- for (ActiveToolMod mod : TConstructRegistry.activeModifiers)
- {
- earlyModDamage = mod.baseAttackDamage(earlyModDamage, damage, tool, tags, toolTags, stack, player, entity);
- }
- damage += earlyModDamage;
-
- if (player.isPotionActive(Potion.damageBoost))
- {
- damage += 3 << player.getActivePotionEffect(Potion.damageBoost).getAmplifier();
- }
-
- if (player.isPotionActive(Potion.weakness))
- {
- damage -= 2 << player.getActivePotionEffect(Potion.weakness).getAmplifier();
- }
-
- float knockback = 0;
- float enchantDamage = 0;
-
- if (entity instanceof EntityLivingBase)
- {
- enchantDamage = EnchantmentHelper.getEnchantmentModifierLiving(player, (EntityLivingBase) entity);
- knockback += EnchantmentHelper.getKnockbackModifier(player, (EntityLivingBase) entity);
- }
-
- damage += stoneboundDamage;
- if (damage < 1)
- damage = 1;
-
- if (player.isSprinting())
- {
- knockback++;
- float lunge = tool.chargeAttack();
- if (lunge > 1f)
- {
- knockback += lunge - 1.0f;
- damage *= lunge;
- }
- }
-
- float modKnockback = 0f;
- for (ActiveToolMod mod : TConstructRegistry.activeModifiers)
- {
- modKnockback = mod.knockback(modKnockback, knockback, tool, tags, toolTags, stack, player, entity);
- }
- knockback += modKnockback;
-
- int modDamage = 0;
- for (ActiveToolMod mod : TConstructRegistry.activeModifiers)
- {
- modDamage = mod.attackDamage(modDamage, damage, tool, tags, toolTags, stack, player, entity);
- }
- damage += modDamage;
-
- if (damage > 0 || enchantDamage > 0)
- {
- boolean criticalHit = player.fallDistance > 0.0F && !player.onGround && !player.isOnLadder() && !player.isInWater() && !player.isPotionActive(Potion.blindness)
- && player.ridingEntity == null && entity instanceof EntityLivingBase;
-
- for (ActiveToolMod mod : TConstructRegistry.activeModifiers)
- {
- if (mod.doesCriticalHit(tool, tags, toolTags, stack, player, entity))
- criticalHit = true;
- }
-
- if (criticalHit)
- {
- damage += random.nextInt(damage / 2 + 2);
- }
-
- damage += enchantDamage;
-
- if (tool.getDamageModifier() != 1f)
- {
- damage *= tool.getDamageModifier();
- }
- boolean var6 = false;
- int fireAspect = EnchantmentHelper.getFireAspectModifier(player);
-
- if (entity instanceof EntityLivingBase && fireAspect > 0 && !entity.isBurning())
- {
- var6 = true;
- entity.setFire(1);
- }
-
- if (broken)
- {
- if (baseDamage > 0)
- damage = baseDamage;
- else
- damage = 1;
- }
- boolean causedDamage = false;
- if (tool.pierceArmor() && !broken)
- {
- if (player instanceof EntityPlayer)
- causedDamage = entity.attackEntityFrom(causePlayerPiercingDamage((EntityPlayer) player), damage);
- else
- causedDamage = entity.attackEntityFrom(causePiercingDamage(player), damage);
- }
- else
- {
- if (player instanceof EntityPlayer)
- causedDamage = entity.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) player), damage);
- else
- causedDamage = entity.attackEntityFrom(DamageSource.causeMobDamage(player), damage);
- }
-
- if (causedDamage)
- {
- int reinforced = 0;
- if (toolTags.hasKey("Unbreaking"))
- reinforced = tags.getCompoundTag("InfiTool").getInteger("Unbreaking");
-
- if (random.nextInt(10) < 10 - reinforced)
- {
- damageTool(stack, 1, tags, player, false);
- }
- //damageTool(stack, 1, player, false);
- tool.onEntityDamaged(player.worldObj, player, entity);
- if (!necroticUHS || (entity instanceof IMob && entity instanceof EntityLivingBase && ((EntityLivingBase) entity).getHealth() <= 0))
- {
- int drain = toolTags.getInteger("Necrotic") * 2;
- if (drain > 0)
- player.heal(random.nextInt(drain + 1));
- }
-
- if (knockback > 0)
- {
- entity.addVelocity((double) (-MathHelper.sin(player.rotationYaw * (float) Math.PI / 180.0F) * (float) knockback * 0.5F), 0.1D,
- (double) (MathHelper.cos(player.rotationYaw * (float) Math.PI / 180.0F) * (float) knockback * 0.5F));
- player.motionX *= 0.6D;
- player.motionZ *= 0.6D;
- player.setSprinting(false);
- }
-
- if (player instanceof EntityPlayer)
- {
- if (criticalHit)
- {
- ((EntityPlayer) player).onCriticalHit(entity);
- }
-
- if (enchantDamage > 0)
- {
- ((EntityPlayer) player).onEnchantmentCritical(entity);
- }
-
- if (damage >= 18)
- {
- ((EntityPlayer) player).triggerAchievement(AchievementList.overkill);
- }
- }
-
- player.setLastAttacker(entity);
-
- if (entity instanceof EntityLivingBase)
- {
- EnchantmentThorns.func_92096_a(player, (EntityLivingBase) entity, random);
- }
- }
-
- if (entity instanceof EntityLivingBase)
- {
- if (entity instanceof EntityPlayer)
- {
- stack.hitEntity((EntityLivingBase) entity, (EntityPlayer) player);
- if (entity.isEntityAlive())
- {
- alertPlayerWolves((EntityPlayer) player, (EntityLivingBase) entity, true);
- }
-
- ((EntityPlayer) player).addStat(StatList.damageDealtStat, damage);
- }
- else
- {
- Item.itemsList[stack.itemID].hitEntity(stack, (EntityLivingBase) entity, player);
- }
-
- if ((fireAspect > 0 || toolTags.hasKey("Fiery") || toolTags.hasKey("Lava")) && causedDamage)
- {
- fireAspect *= 4;
- if (toolTags.hasKey("Fiery"))
- {
- fireAspect += toolTags.getInteger("Fiery") / 5 + 1;
- }
- if (toolTags.getBoolean("Lava"))
- {
- fireAspect += 3;
- }
- entity.setFire(fireAspect);
- }
- else if (var6)
- {
- entity.extinguish();
- }
- }
-
- if (entity instanceof EntityPlayer)
- ((EntityPlayer) player).addExhaustion(0.3F);
- if (causedDamage)
- return true;
- }
- }
- }
- return false;
- }
-
- static void alertPlayerWolves (EntityPlayer player, EntityLivingBase living, boolean par2)
- {
- if (!(living instanceof EntityCreeper) && !(living instanceof EntityGhast))
- {
- if (living instanceof EntityWolf)
- {
- EntityWolf var3 = (EntityWolf) living;
-
- if (var3.isTamed() && player.username.equals(var3.getOwnerName()))
- {
- return;
- }
- }
-
- if (!(living instanceof EntityPlayer) || player.canAttackPlayer((EntityPlayer) living))
- {
- List var6 = player.worldObj.getEntitiesWithinAABB(EntityWolf.class,
- AxisAlignedBB.getAABBPool().getAABB(player.posX, player.posY, player.posZ, player.posX + 1.0D, player.posY + 1.0D, player.posZ + 1.0D).expand(16.0D, 4.0D, 16.0D));
- Iterator var4 = var6.iterator();
-
- while (var4.hasNext())
- {
- EntityWolf var5 = (EntityWolf) var4.next();
-
- if (var5.isTamed() && var5.getEntityToAttack() == null && player.username.equals(var5.getOwnerName()) && (!par2 || !var5.isSitting()))
- {
- var5.setSitting(false);
- var5.setTarget(living);
- }
- }
- }
- }
- }
-
- /* Tool specific */
- public static void damageTool (ItemStack stack, int dam, EntityLivingBase entity, boolean ignoreCharge)
- {
- NBTTagCompound tags = stack.getTagCompound();
- damageTool(stack, dam, tags, entity, ignoreCharge);
- }
-
- public static void healTool (ItemStack stack, int dam, EntityLivingBase entity, boolean ignoreCharge)
- {
- NBTTagCompound tags = stack.getTagCompound();
- damageTool(stack, -dam, tags, entity, ignoreCharge);
- }
-
- public static void damageTool (ItemStack stack, int dam, NBTTagCompound tags, EntityLivingBase entity, boolean ignoreCharge)
- {
- if (entity instanceof EntityPlayer && ((EntityPlayer) entity).capabilities.isCreativeMode || tags == null)
- return;
-
- if (ignoreCharge || !damageElectricTool(stack, tags, entity))
- {
- boolean damagedTool = false;
- for (ActiveToolMod mod : TConstructRegistry.activeModifiers)
- {
- if (mod.damageTool(stack, dam, entity))
- damagedTool = true;
- }
-
- if (damagedTool)
- return;
-
- int damage = tags.getCompoundTag("InfiTool").getInteger("Damage");
- int damageTrue = damage + dam;
- int maxDamage = tags.getCompoundTag("InfiTool").getInteger("TotalDurability");
- if (damageTrue <= 0)
- {
- tags.getCompoundTag("InfiTool").setInteger("Damage", 0);
- stack.setItemDamage(0);
- tags.getCompoundTag("InfiTool").setBoolean("Broken", false);
- }
-
- else if (damageTrue > maxDamage)
- {
- breakTool(stack, tags, entity);
- stack.setItemDamage(0);
- }
-
- else
- {
- tags.getCompoundTag("InfiTool").setInteger("Damage", damage + dam);
- int toolDamage = (damage * 100 / maxDamage) + 1;
- int stackDamage = stack.getItemDamage();
- if (toolDamage != stackDamage)
- {
- stack.setItemDamage((damage * 100 / maxDamage) + 1);
- }
- }
- }
- }
-
- public static boolean damageElectricTool (ItemStack stack, NBTTagCompound tags, Entity entity)
- {
- if (tags.hasKey("charge") || tags.hasKey("Energy"))
- {
-
- NBTTagCompound toolTag = stack.getTagCompound().getCompoundTag("InfiTool");
- int charge = -1;
- int energy = -1;
- if (tags.hasKey("charge"))
- {
- charge = tags.getInteger("charge");
- }
- if (tags.hasKey("Energy"))
- {
- energy = tags.getInteger("Energy");
- }
- int durability = toolTag.getInteger("Damage");
- float shoddy = toolTag.getFloat("Shoddy");
-
- float mineSpeed = toolTag.getInteger("MiningSpeed");
- int heads = 1;
- if (toolTag.hasKey("MiningSpeed2"))
- {
- mineSpeed += toolTag.getInteger("MiningSpeed2");
- heads++;
- }
-
- if (toolTag.hasKey("MiningSpeedHandle"))
- {
- mineSpeed += toolTag.getInteger("MiningSpeedHandle");
- heads++;
- }
-
- if (toolTag.hasKey("MiningSpeedExtra"))
- {
- mineSpeed += toolTag.getInteger("MiningSpeedExtra");
- heads++;
- }
- float trueSpeed = mineSpeed / (heads * 100f);
- float stonebound = toolTag.getFloat("Shoddy");
- float bonusLog = (float) Math.log(durability / 72f + 1) * 2 * stonebound;
- trueSpeed += bonusLog;
- trueSpeed *= 6;
- if (charge != -1)
- {
- if (charge < trueSpeed)
- {
- if (charge > 0)
- tags.setInteger("charge", 0);
- return false;
- }
-
- charge -= trueSpeed;
- ToolCore tool = (ToolCore) stack.getItem();
- stack.setItemDamage(1 + (tool.getMaxCharge(stack) - charge) * (stack.getMaxDamage() - 1) / tool.getMaxCharge(stack));
- tags.setInteger("charge", charge);
- if (entity instanceof EntityPlayer)
- chargeFromArmor(stack, (EntityPlayer) entity);
- }
- if (energy != -1)
- {
- if (energy < trueSpeed * 2)
- {
- if (energy > 0)
- tags.setInteger("Energy", 0);
- return false;
- }
-
- energy -= trueSpeed * 2 ;
- ToolCore tool = (ToolCore) stack.getItem();
- stack.setItemDamage(1 + (tool.getMaxEnergyStored(stack) - energy) * (stack.getMaxDamage() - 1) / tool.getMaxEnergyStored(stack));
- tags.setInteger("Energy", energy);
- }
- return true;
- }
- else
- {
- return false;
- }
- }
-
- static void chargeFromArmor (ItemStack stack, EntityPlayer player)
- {
- boolean inContainer = false;
-
- for (int armorIter = 0; armorIter < 4; ++armorIter)
- {
- ItemStack armor = player.inventory.armorInventory[armorIter];
-
- if (armor != null && armor.getItem() instanceof IElectricItem)
- {
- IElectricItem electricArmor = (IElectricItem) armor.getItem();
- ToolCore tool = (ToolCore) stack.getItem();
-
- if (electricArmor.canProvideEnergy(stack) && electricArmor.getTier(stack) >= ((IElectricItem) stack.getItem()).getTier(stack))
- {
- int chargeAmount = tool.charge(stack, Integer.MAX_VALUE, Integer.MAX_VALUE, true, true);
- chargeAmount = discharge(armor, chargeAmount, Integer.MAX_VALUE, true, false);
-
- if (chargeAmount > 0)
- {
- tool.charge(stack, chargeAmount, Integer.MAX_VALUE, true, false);
- inContainer = true;
- }
- }
- }
- }
-
- if (inContainer)
- {
- player.openContainer.detectAndSendChanges();
- }
- }
-
- public static int discharge (ItemStack stack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate)
- {
- IElectricItem ielectricitem = (IElectricItem) stack.getItem();
-
- if (ielectricitem instanceof ICustomElectricItem)
- {
- return ((ICustomElectricItem) ielectricitem).discharge(stack, amount, tier, ignoreTransferLimit, simulate);
- }
- else if (amount >= 0 && stack.stackSize <= 1 && ielectricitem.getTier(stack) <= tier)
- {
- if (amount > ielectricitem.getTransferLimit(stack) && !ignoreTransferLimit)
- {
- amount = ielectricitem.getTransferLimit(stack);
- }
-
- NBTTagCompound tags = stack.getTagCompound();
- int charge = tags.getInteger("charge");
-
- if (amount > charge)
- {
- amount = charge;
- }
-
- charge -= amount;
-
- if (!simulate)
- {
- tags.setInteger("charge", charge);
- stack.itemID = charge > 0 ? ielectricitem.getChargedItemId(stack) : ielectricitem.getEmptyItemId(stack);
-
- if (stack.getItem() instanceof IElectricItem)
- {
- ielectricitem = (IElectricItem) stack.getItem();
-
- if (stack.getMaxDamage() > 2)
- {
- if (stack.getItemDamage() + 1 < stack.getMaxDamage())
- stack.setItemDamage(1 + (ielectricitem.getMaxCharge(stack) - charge) * (stack.getMaxDamage() - 2) / ielectricitem.getMaxCharge(stack));
- }
- else
- {
- stack.setItemDamage(0);
- }
- }
- else
- {
- stack.setItemDamage(0);
- }
- }
-
- return amount;
- }
- else
- {
- return 0;
- }
-
- }
-
- public static void breakTool (ItemStack stack, NBTTagCompound tags, Entity entity)
- {
- tags.getCompoundTag("InfiTool").setBoolean("Broken", true);
- if (entity != null)
- entity.worldObj.playSound(entity.posX, entity.posY, entity.posZ, "random.break", 1f, 1f, true);
- }
-
- public static void repairTool (ItemStack stack, NBTTagCompound tags)
- {
- tags.getCompoundTag("InfiTool").setBoolean("Broken", false);
- tags.getCompoundTag("InfiTool").setInteger("Damage", 0);
- }
-
- public static DamageSource causePiercingDamage (EntityLivingBase mob)
- {
- return new PiercingEntityDamage("mob", mob);
- }
-
- public static DamageSource causePlayerPiercingDamage (EntityPlayer player)
- {
- return new PiercingEntityDamage("player", player);
- }
-
- public static void knockbackEntity (EntityLivingBase living, double boost)
- {
- living.motionX *= boost;
- //living.motionY *= boost/2;
- living.motionZ *= boost;
- }
-
- public static boolean hoeGround (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, Random random)
- {
- if (!player.canPlayerEdit(x, y, z, side, stack))
- {
- return false;
- }
- else
- {
- UseHoeEvent event = new UseHoeEvent(player, stack, world, x, y, z);
- if (MinecraftForge.EVENT_BUS.post(event))
- {
- return false;
- }
-
- if (event.getResult() == Result.ALLOW)
- {
- onBlockChanged(stack, world, 0, x, y, z, player, random);
- return true;
- }
-
- int bID = world.getBlockId(x, y, z);
- int bIDabove = world.getBlockId(x, y + 1, z);
-
- if ((side == 0 || bIDabove != 0 || bID != Block.grass.blockID) && bID != Block.dirt.blockID)
- {
- return false;
- }
- else
- {
- Block block = Block.tilledField;
- world.playSoundEffect((double) ((float) x + 0.5F), (double) ((float) y + 0.5F), (double) ((float) z + 0.5F), block.stepSound.getStepSound(),
- (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F);
-
- if (world.isRemote)
- {
- return true;
- }
- else
- {
- world.setBlock(x, y, z, block.blockID);
- onBlockChanged(stack, world, 0, x, y, z, player, random);
- return true;
- }
- }
- }
- }
-
- public static void spawnItemAtPlayer (EntityPlayer player, ItemStack stack)
- {
- EntityItem entityitem = new EntityItem(player.worldObj, player.posX + 0.5D, player.posY + 0.5D, player.posZ + 0.5D, stack);
- player.worldObj.spawnEntityInWorld(entityitem);
- if (!(player instanceof FakePlayer))
- entityitem.onCollideWithPlayer(player);
- /*if (!player.inventory.addItemStackToInventory(stack))
- {
- if (!player.worldObj.isRemote)
- {
- EntityItem entityitem = new EntityItem(player.worldObj, player.posX + 0.5D, player.posY + 0.5D, player.posZ + 0.5D, stack);
- player.worldObj.spawnEntityInWorld(entityitem);
- entityitem.onCollideWithPlayer(player);
- }
- }
- else
- {
- player.worldObj.playSoundAtEntity(player, "random.pop", 0.2F, ((random.nextFloat() - random.nextFloat()) * 0.7F + 1.0F) * 2.0F);
- }*/
- }
-
- /* Ranged weapons */
-
- public static void forceAddToInv (EntityPlayer entityplayer, ItemStack itemstack, int i, boolean flag)
- {
- ItemStack itemstack1 = entityplayer.inventory.getStackInSlot(i);
- entityplayer.inventory.setInventorySlotContents(i, itemstack);
- if (itemstack1 != null)
- {
- addToInv(entityplayer, itemstack1, flag);
- }
- }
-
- public static boolean addToInv (EntityPlayer entityplayer, ItemStack itemstack, boolean flag)
- {
- return addToInv(entityplayer, itemstack, entityplayer.inventory.currentItem, flag);
- }
-
- public static boolean addToInv (EntityPlayer entityplayer, ItemStack itemstack, int i, boolean flag)
- {
- ItemStack itemstack1 = entityplayer.inventory.getStackInSlot(i);
- boolean flag1;
- if (itemstack1 == null)
- {
- entityplayer.inventory.setInventorySlotContents(i, itemstack);
- flag1 = true;
- }
- else
- {
- flag1 = entityplayer.inventory.addItemStackToInventory(itemstack);
- }
- if (flag && !flag1)
- {
- addItemStackToWorld(entityplayer.worldObj, (float) Math.floor(entityplayer.posX), (float) Math.floor(entityplayer.posY), (float) Math.floor(entityplayer.posZ), itemstack);
- return true;
- }
- else
- {
- return flag1;
- }
- }
-
- public static EntityItem addItemStackToWorld (World world, float f, float f1, float f2, ItemStack itemstack)
- {
- return addItemStackToWorld(world, f, f1, f2, itemstack, false);
- }
-
- public static EntityItem addItemStackToWorld (World world, float f, float f1, float f2, ItemStack itemstack, boolean flag)
- {
- EntityItem entityitem;
- if (flag)
- {
- entityitem = new EntityItem(world, f, f1, f2, itemstack);
- }
- else
- {
- float f3 = 0.7F;
- float f4 = random.nextFloat() * f3 + (1.0F - f3) * 0.5F;
- float f5 = 1.2F;
- float f6 = random.nextFloat() * f3 + (1.0F - f3) * 0.5F;
- entityitem = new EntityItem(world, f + f4, f1 + f5, f2 + f6, itemstack);
- }
- entityitem.delayBeforeCanPickup = 10;
- world.spawnEntityInWorld(entityitem);
- return entityitem;
- }
-
- public static MovingObjectPosition raytraceFromEntity (World world, Entity player, boolean par3, double range)
- {
- float f = 1.0F;
- float f1 = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * f;
- float f2 = player.prevRotationYaw + (player.rotationYaw - player.prevRotationYaw) * f;
- double d0 = player.prevPosX + (player.posX - player.prevPosX) * (double) f;
- double d1 = player.prevPosY + (player.posY - player.prevPosY) * (double) f;
- if (!world.isRemote && player instanceof EntityPlayer)
- d1 += 1.62D;
- double d2 = player.prevPosZ + (player.posZ - player.prevPosZ) * (double) f;
- Vec3 vec3 = world.getWorldVec3Pool().getVecFromPool(d0, d1, d2);
- float f3 = MathHelper.cos(-f2 * 0.017453292F - (float) Math.PI);
- float f4 = MathHelper.sin(-f2 * 0.017453292F - (float) Math.PI);
- float f5 = -MathHelper.cos(-f1 * 0.017453292F);
- float f6 = MathHelper.sin(-f1 * 0.017453292F);
- float f7 = f4 * f5;
- float f8 = f3 * f5;
- double d3 = range;
- if (player instanceof EntityPlayerMP)
- {
- d3 = ((EntityPlayerMP) player).theItemInWorldManager.getBlockReachDistance();
- }
- Vec3 vec31 = vec3.addVector((double) f7 * d3, (double) f6 * d3, (double) f8 * d3);
- return world.rayTraceBlocks_do_do(vec3, vec31, par3, !par3);
- }
-}
diff --git a/src/main/java/tconstruct/library/tools/ArrowMaterial.java b/src/main/java/tconstruct/library/tools/ArrowMaterial.java
deleted file mode 100644
index 884e3edc..00000000
--- a/src/main/java/tconstruct/library/tools/ArrowMaterial.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package tconstruct.library.tools;
-
-public class ArrowMaterial
-{
- public final float mass;
- public final float breakChance;
- public final float accuracy;
-
- public ArrowMaterial(float weight, float breakChance, float accuracy)
- {
- this.mass = weight;
- this.breakChance = breakChance;
- this.accuracy = accuracy;
- }
-}
diff --git a/src/main/java/tconstruct/library/tools/BowMaterial.java b/src/main/java/tconstruct/library/tools/BowMaterial.java
deleted file mode 100644
index 89d0c80e..00000000
--- a/src/main/java/tconstruct/library/tools/BowMaterial.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package tconstruct.library.tools;
-
-public class BowMaterial
-{
- public final int durability;
- public final int drawspeed;
- public final float flightSpeedMax;
-
- public BowMaterial(int durability, int drawspeed, float attack)
- {
- this.durability = durability;
- this.drawspeed = drawspeed;
- this.flightSpeedMax = attack;
- }
-}
diff --git a/src/main/java/tconstruct/library/tools/BowstringMaterial.java b/src/main/java/tconstruct/library/tools/BowstringMaterial.java
deleted file mode 100644
index 6a2443f9..00000000
--- a/src/main/java/tconstruct/library/tools/BowstringMaterial.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package tconstruct.library.tools;
-
-import net.minecraft.item.ItemStack;
-
-public class BowstringMaterial extends CustomMaterial
-{
- public final float durabilityModifier;
- public final float drawspeedModifier;
- public final float flightSpeedModifier;
-
- public BowstringMaterial(int materialID, int value, ItemStack input, ItemStack craftingItem, float durability, float drawspeed, float flightspeed)
- {
- super(materialID, value, input, craftingItem);
- this.durabilityModifier = durability;
- this.drawspeedModifier = drawspeed;
- this.flightSpeedModifier = flightspeed;
- }
-}
diff --git a/src/main/java/tconstruct/library/tools/CustomMaterial.java b/src/main/java/tconstruct/library/tools/CustomMaterial.java
deleted file mode 100644
index 51147255..00000000
--- a/src/main/java/tconstruct/library/tools/CustomMaterial.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package tconstruct.library.tools;
-
-import net.minecraft.item.ItemStack;
-
-public abstract class CustomMaterial
-{
- public final int materialID;
- public final int value;
- public final ItemStack input;
- public final ItemStack craftingItem;
-
- public CustomMaterial(int materialID, int value, ItemStack input, ItemStack craftingItem)
- {
- this.materialID = materialID;
- this.value = value;
- this.input = input;
- this.craftingItem = craftingItem;
- }
-
- /*public boolean matches(ItemStack input, ItemStack pattern)
- {
- if (ItemStack.areItemStacksEqual(this.input, input) && ItemStack.areItemStacksEqual(this.craftingPattern, pattern))
- return true;
- return false;
- }*/
-}
diff --git a/src/main/java/tconstruct/library/tools/DualHarvestTool.java b/src/main/java/tconstruct/library/tools/DualHarvestTool.java
deleted file mode 100644
index 93550acf..00000000
--- a/src/main/java/tconstruct/library/tools/DualHarvestTool.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package tconstruct.library.tools;
-
-import tconstruct.library.ActiveToolMod;
-import tconstruct.library.TConstructRegistry;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-import net.minecraftforge.common.MinecraftForge;
-
-/* Base class for harvest tools with each head having a different purpose */
-
-public abstract class DualHarvestTool extends HarvestTool
-{
- public DualHarvestTool(int itemID, int baseDamage)
- {
- super(itemID, baseDamage);
- }
-
- @Override
- public boolean onBlockStartBreak (ItemStack stack, int x, int y, int z, EntityPlayer player)
- {
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- World world = player.worldObj;
- int bID = player.worldObj.getBlockId(x, y, z);
- int meta = world.getBlockMetadata(x, y, z);
- Block block = Block.blocksList[bID];
- if (block == null || bID < 1)
- return false;
- int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
- int shlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getSecondHarvestType());
-
- if (hlvl <= tags.getInteger("HarvestLevel") && shlvl <= tags.getInteger("HarvestLevel2"))
- {
- boolean cancelHarvest = false;
- for (ActiveToolMod mod : TConstructRegistry.activeModifiers)
- {
- if (mod.beforeBlockBreak(this, stack, x, y, z, player))
- cancelHarvest = true;
- }
-
- return cancelHarvest;
- }
- else
- {
- if (!player.capabilities.isCreativeMode)
- onBlockDestroyed(stack, world, bID, x, y, z, player);
- world.setBlockToAir(x, y, z);
- if (!world.isRemote)
- world.playAuxSFX(2001, x, y, z, bID + (meta << 12));
- return true;
- }
- }
-
- @Override
- public float getStrVsBlock (ItemStack stack, Block block, int meta)
- {
-
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- if (tags.getBoolean("Broken"))
- return 0.1f;
-
- Material[] materials = getEffectiveMaterials();
- for (int i = 0; i < materials.length; i++)
- {
- if (materials[i] == block.blockMaterial)
- {
- float speed = tags.getInteger("MiningSpeed");
- speed /= 100f;
- int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
- int durability = tags.getInteger("Damage");
-
- float shoddy = tags.getFloat("Shoddy");
- speed += shoddy * durability / 100f;
-
- if (hlvl <= tags.getInteger("HarvestLevel"))
- return speed;
- return 0.1f;
- }
- }
- materials = getEffectiveSecondaryMaterials();
- for (int i = 0; i < materials.length; i++)
- {
- if (materials[i] == block.blockMaterial)
- {
- float speed = tags.getInteger("MiningSpeed2");
- speed /= 100f;
- int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
- int durability = tags.getInteger("Damage");
-
- float shoddy = tags.getFloat("Shoddy");
- speed += shoddy * durability / 100f;
-
- if (hlvl <= tags.getInteger("HarvestLevel2"))
- return speed;
- return 0.1f;
- }
- }
- return super.getStrVsBlock(stack, block, meta);
- }
-
- public boolean canHarvestBlock (Block block)
- {
- if (block.blockMaterial.isToolNotRequired())
- {
- return true;
- }
- for (Material m : getEffectiveMaterials())
- {
- if (m == block.blockMaterial)
- return true;
- }
- for (Material m : getEffectiveSecondaryMaterials())
- {
- if (m == block.blockMaterial)
- return true;
- }
- return false;
- }
-
- @Override
- public String[] toolCategories ()
- {
- return new String[] { "harvest", "dualharvest" };
- }
-
- protected abstract Material[] getEffectiveSecondaryMaterials ();
-
- protected abstract String getSecondHarvestType ();
-}
diff --git a/src/main/java/tconstruct/library/tools/FletchingMaterial.java b/src/main/java/tconstruct/library/tools/FletchingMaterial.java
deleted file mode 100644
index a40dcc69..00000000
--- a/src/main/java/tconstruct/library/tools/FletchingMaterial.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package tconstruct.library.tools;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.ItemStack;
-
-public class FletchingMaterial extends CustomMaterial
-{
- public final float accuracy;
- public final float breakChance;
- public final float mass;
-
- public FletchingMaterial(int materialID, int value, ItemStack input, ItemStack craftingItem, float accuracy, float breakChance, float mass)
- {
- super(materialID, value, input, craftingItem);
- this.accuracy = accuracy;
- this.breakChance = breakChance;
- this.mass = mass;
- }
-}
diff --git a/src/main/java/tconstruct/library/tools/HarvestTool.java b/src/main/java/tconstruct/library/tools/HarvestTool.java
deleted file mode 100644
index f0db4885..00000000
--- a/src/main/java/tconstruct/library/tools/HarvestTool.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package tconstruct.library.tools;
-
-import tconstruct.library.ActiveToolMod;
-import tconstruct.library.TConstructRegistry;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.world.World;
-import net.minecraftforge.common.MinecraftForge;
-
-/* Base class for tools that should be harvesting blocks */
-
-public abstract class HarvestTool extends ToolCore
-{
- public HarvestTool(int itemID, int baseDamage)
- {
- super(itemID, baseDamage);
- }
-
- @Override
- public boolean onBlockStartBreak (ItemStack stack, int x, int y, int z, EntityPlayer player)
- {
- if (!stack.hasTagCompound())
- return false;
-
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- World world = player.worldObj;
- int bID = player.worldObj.getBlockId(x, y, z);
- int meta = world.getBlockMetadata(x, y, z);
- Block block = Block.blocksList[bID];
- if (block == null || bID < 1)
- return false;
- int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
-
- if (hlvl <= tags.getInteger("HarvestLevel"))
- {
- boolean cancelHarvest = false;
- for (ActiveToolMod mod : TConstructRegistry.activeModifiers)
- {
- if (mod.beforeBlockBreak(this, stack, x, y, z, player))
- cancelHarvest = true;
- }
- return cancelHarvest;
- }
- else
- {
- world.setBlockToAir(x, y, z);
- if (!player.capabilities.isCreativeMode)
- onBlockDestroyed(stack, world, bID, x, y, z, player);
- if (!world.isRemote)
- world.playAuxSFX(2001, x, y, z, bID + (meta << 12));
- return true;
- }
- }
-
- @Override
- public float getStrVsBlock (ItemStack stack, Block block, int meta)
- {
- if (!stack.hasTagCompound())
- return 1.0f;
-
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- if (tags.getBoolean("Broken"))
- return 0.1f;
-
- Material[] materials = getEffectiveMaterials();
- for (int i = 0; i < materials.length; i++)
- {
- if (materials[i] == block.blockMaterial)
- {
- return calculateStrength(tags, block, meta);
- }
- }
- if (MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType()) > 0)
- {
- return calculateStrength(tags, block, meta); //No issue if the harvest level is too low
- }
- return super.getStrVsBlock(stack, block, meta);
- }
-
- float calculateStrength (NBTTagCompound tags, Block block, int meta)
- {
- float mineSpeed = tags.getInteger("MiningSpeed");
- int heads = 1;
- if (tags.hasKey("MiningSpeed2"))
- {
- mineSpeed += tags.getInteger("MiningSpeed2");
- heads++;
- }
-
- if (tags.hasKey("MiningSpeedHandle"))
- {
- mineSpeed += tags.getInteger("MiningSpeedHandle");
- heads++;
- }
-
- if (tags.hasKey("MiningSpeedExtra"))
- {
- mineSpeed += tags.getInteger("MiningSpeedExtra");
- heads++;
- }
- float trueSpeed = mineSpeed / (heads * 100f);
- int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
- int durability = tags.getInteger("Damage");
-
- float stonebound = tags.getFloat("Shoddy");
- float bonusLog = (float) Math.log(durability / 72f + 1) * 2 * stonebound;
- trueSpeed += bonusLog;
-
- if (hlvl <= tags.getInteger("HarvestLevel"))
- return trueSpeed;
- return 0.1f;
- }
-
- public boolean canHarvestBlock (Block block)
- {
- if (block.blockMaterial.isToolNotRequired())
- {
- return true;
- }
- for (Material m : getEffectiveMaterials())
- {
- if (m == block.blockMaterial)
- return true;
- }
- return false;
- }
-
- @Override
- public String[] toolCategories ()
- {
- return new String[] { "harvest" };
- }
-
- protected abstract Material[] getEffectiveMaterials ();
-
- protected abstract String getHarvestType ();
-}
diff --git a/src/main/java/tconstruct/library/tools/ToolCore.java b/src/main/java/tconstruct/library/tools/ToolCore.java
deleted file mode 100644
index bb82c432..00000000
--- a/src/main/java/tconstruct/library/tools/ToolCore.java
+++ /dev/null
@@ -1,1162 +0,0 @@
-package tconstruct.library.tools;
-
-import ic2.api.item.IBoxable;
-import ic2.api.item.ICustomElectricItem;
-
-import java.lang.reflect.Field;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-
-import mods.battlegear2.api.weapons.IBattlegearWeapon;
-import mods.battlegear2.api.weapons.OffhandAttackEvent;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.texture.IconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemPotion;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.Icon;
-import net.minecraft.world.World;
-import net.minecraftforge.event.entity.player.PlayerInteractEvent;
-import tconstruct.library.ActiveToolMod;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.crafting.ToolBuilder;
-import tconstruct.library.util.MathUtils;
-import cofh.api.energy.IEnergyContainerItem;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-/** NBTTags
- * Main tag - InfiTool
- * @see ToolBuilder
- *
- * Required:
- * Head: Base and render tag, above the handle
- * Handle: Base and render tag, bottom layer
- *
- * Damage: Replacement for metadata
- * MaxDamage: ItemStacks only read setMaxDamage()
- * Broken: Represents whether the tool is broken (boolean)
- * Attack: How much damage a mob will take
- * MiningSpeed: The speed at which a tool mines
- *
- * Others:
- * Accessory: Base and tag, above head. Sword guards, binding, etc
- * Effects: Render tag, top layer. Fancy effects like moss or diamond edge.
- * Render order: Handle > Head > Accessory > Effect1 > Effect2 > Effect3 > etc
- * Unbreaking: Reinforced in-game, 10% chance to not use durability per level
- * Stonebound: Mines faster as the tool takes damage, but has less attack
- * Spiny: Opposite of stonebound
- *
- * Modifiers have their own tags.
- * @see ToolMod
- */
-
-public abstract class ToolCore extends Item implements IEnergyContainerItem, ICustomElectricItem, IBoxable, IBattlegearWeapon
-{
- //TE power constants -- TODO grab these from the
- protected int capacity = 400000;
- protected int maxReceive = 75;
- protected int maxExtract = 75;
-
- protected Random random = new Random();
- protected int damageVsEntity;
- public static Icon blankSprite;
- public static Icon emptyIcon;
-
- public ToolCore(int id, int baseDamage)
- {
- super(id);
- this.maxStackSize = 1;
- this.setMaxDamage(100);
- this.setUnlocalizedName("InfiTool");
- this.setCreativeTab(TConstructRegistry.toolTab);
- damageVsEntity = baseDamage;
- TConstructRegistry.addToolMapping(this);
- setNoRepair();
- canRepair = false;
- }
-
- /** Determines crafting behavior with regards to durability
- * 0: None
- * 1: Adds handle modifier
- * 2: Averages part with the rest of the tool (head)
- * @return type
- */
-
- public int durabilityTypeHandle ()
- {
- return 1;
- }
-
- public int durabilityTypeAccessory ()
- {
- return 0;
- }
-
- public int durabilityTypeExtra ()
- {
- return 0;
- }
-
- public int getModifierAmount ()
- {
- return 3;
- }
-
- public String getToolName ()
- {
- return this.getClass().getSimpleName();
- }
-
- /* Rendering */
-
- public HashMap headIcons = new HashMap();
- public HashMap brokenIcons = new HashMap();
- public HashMap handleIcons = new HashMap();
- public HashMap accessoryIcons = new HashMap();
- public HashMap effectIcons = new HashMap