summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLance5057 <lance5057@gmail.com>2018-02-21 16:18:09 -0600
committerLance5057 <lance5057@gmail.com>2018-02-21 16:18:09 -0600
commit991ba7366b68ee2c9e1249efd73a6cc90291d32e (patch)
tree5aa77a36ff1a22e0b5920926a7d09958418f2fee
parent870fd36d28dc8160a36e49dff173ba2b000618b9 (diff)
Armor Renderering works!
-rw-r--r--.classpath141
-rw-r--r--build.gradle2
-rw-r--r--src/main/java/com/example/examplemod/ExampleMod.java31
-rw-r--r--src/main/java/lance5057/tDefense/Reference.java2
-rw-r--r--src/main/java/lance5057/tDefense/TD_Commands.java1
-rw-r--r--src/main/java/lance5057/tDefense/TD_Config.java5
-rw-r--r--src/main/java/lance5057/tDefense/TinkersDefense.java5
-rw-r--r--src/main/java/lance5057/tDefense/core/blocks/fluid/TDFluid.java2
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/ArmorMaterialStats.java132
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/BootsMaterialStats.java89
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/ChestMaterialStats.java89
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/ClothMaterialStats.java77
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/HelmMaterialStats.java89
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/LegsMaterialStats.java89
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/ShieldMaterialStats.java6
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/TDMaterials.java1091
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/traits/TraitAxeLover.java3
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/traits/TraitDogToy.java1
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/traits/TraitFirestarter.java2
-rw-r--r--src/main/java/lance5057/tDefense/core/renderers/BaubleRenderer.java14
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/TDToolEvents.java5
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersHood.java58
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersRobe.java14
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShawl.java15
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShoes.java16
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersBreastplate.java13
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersGrieves.java15
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersHelm.java13
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersSabatons.java19
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersBoots.java17
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/ArmorRenderer.java66
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersHood.java2
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersRobe.java2
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShawl.java2
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShoes.java1
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersBreastplate.java21
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersGrieves.java1
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersHelm.java1
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersSabatons.java1
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersBoots.java1
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/shaders/ArmorShader.java208
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStraps.java44
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStrapsInv.java6
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsContainer.java91
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsGui.java122
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/bases/ArmorCore.java91
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/bases/BaubleTool.java24
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/bases/Shield.java2
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/basic/HeaterShield.java1
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/basic/RoundShield.java5
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/basic/TowerShield.java1
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/baubles/Amulet.java1
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/baubles/Ring.java1
-rw-r--r--src/main/java/lance5057/tDefense/holiday/HolidayBase.java11
-rw-r--r--src/main/java/lance5057/tDefense/holiday/HolidayClientProxy.java3
-rw-r--r--src/main/java/lance5057/tDefense/holiday/xmas/XmasBase.java2
-rw-r--r--src/main/java/lance5057/tDefense/holiday/xmas/XmasItems.java3
-rw-r--r--src/main/java/lance5057/tDefense/holiday/xmas/gumdropslime/GumDropSlime.java4
-rw-r--r--src/main/java/lance5057/tDefense/proxy/ClientProxy.java2
-rw-r--r--src/main/java/lance5057/tDefense/renderers/info/TDMaterialRenderInfo.java3
-rw-r--r--src/main/java/lance5057/tDefense/util/ArmorNBT.java144
-rw-r--r--src/main/java/lance5057/tDefense/util/BlocksBase.java3
-rw-r--r--src/main/java/lance5057/tDefense/util/ItemsBase.java2
-rw-r--r--src/main/java/lance5057/tDefense/util/MetaItem.java2
-rw-r--r--src/main/java/lance5057/tDefense/util/ModuleBase.java2
-rw-r--r--src/main/java/lance5057/tDefense/util/RegEvents.java8
-rw-r--r--src/main/java/lance5057/tDefense/util/TDMatHelper.java12
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/blank.pngbin0 -> 218 bytes
-rw-r--r--src/main/resources/mcmod.info24
69 files changed, 1382 insertions, 1594 deletions
diff --git a/.classpath b/.classpath
index f52aa0d..7379490 100644
--- a/.classpath
+++ b/.classpath
@@ -1,74 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry path="src/main/java" kind="src"/>
- <classpathentry path="src/main/resources" kind="src"/>
- <classpathentry path="src/api/java" kind="src"/>
- <classpathentry path="bin" kind="output"/>
- <classpathentry path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/" kind="con"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/slimeknights/mantle/Mantle/1.12-1.3.1.22/Mantle-1.12-1.3.1.22.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/slimeknights/mantle/Mantle/1.12-1.3.1.22/Mantle-1.12-1.3.1.22-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/slimeknights/TConstruct/1.12-2.7.4.42/TConstruct-1.12-2.7.4.42.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/slimeknights/TConstruct/1.12-2.7.4.42/TConstruct-1.12-2.7.4.42-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/mezz/jei/jei_1.12/4.7.5.86/jei_1.12-4.7.5.86.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/mezz/jei/jei_1.12/4.7.5.86/jei_1.12-4.7.5.86-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/com/github/Azanor/Baubles/master-SNAPSHOT/Baubles-master-SNAPSHOT.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/com/github/Azanor/Baubles/master-SNAPSHOT/Baubles-master-SNAPSHOT-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/minecraft/net/minecraftforge/forge/1.12-14.21.1.2443/snapshot/20170801/forgeSrc-1.12-14.21.1.2443.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/minecraft/net/minecraftforge/forge/1.12-14.21.1.2443/snapshot/20170801/forgeSrc-1.12-14.21.1.2443-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.1/f7be08ec23c21485b9b5a1cf1654c2ec8c58168d/jsr305-3.0.1.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.1/a2926c057ca3b662b9db194c869bdbe7d3bb8aef/jsr305-3.0.1-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.mojang/patchy/1.1/aef610b34a1be37fa851825f12372b78424d8903/patchy-1.1.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.mojang/patchy/1.1/5e398295fbcb8fb590e3e3bddace13f659792e50/patchy-1.1-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/oshi-project/oshi-core/1.1/9ddf7b048a8d701be231c0f4f95fd986198fd2d8/oshi-core-1.1.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/oshi-project/oshi-core/1.1/1ec1ab1e6ac5a1572edfd0dd9ac95e83684b8a65/oshi-core-1.1-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna/4.4.0/cb208278274bf12ebdb56c61bd7407e6f774d65a/jna-4.4.0.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna/4.4.0/9d45d3dc35711eef7267d8b4fc2c0dc482ef9fd2/jna-4.4.0-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/platform/3.4.0/e3f70017be8100d3d6923f50b3d2ee17714e9c13/platform-3.4.0.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/platform/3.4.0/2f42653596d0044f0ab456620cba54c9cf53c5ca/platform-3.4.0-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.ibm.icu/icu4j-core-mojang/51.2/63d216a9311cca6be337c1e458e587f99d382b84/icu4j-core-mojang-51.2.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.ibm.icu/icu4j-core-mojang/51.2/814397ccbafff1132758e551c37396c528d7f2d7/icu4j-core-mojang-51.2-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/5.0.3/cdd846cfc4e0f7eefafc02c0f5dce32b9303aa2a/jopt-simple-5.0.3.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/5.0.3/36d4348605fd4605d36c8641495f3e78756e454b/jopt-simple-5.0.3-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/io.netty/netty-all/4.1.9.Final/97860965d6a0a6b98e7f569f3f966727b8db75/netty-all-4.1.9.Final.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/io.netty/netty-all/4.1.9.Final/69b921f5e296428c88c2ea4418e630443a699b06/netty-all-4.1.9.Final-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/21.0/3a3d111be1be1b745edfa7d91678a12d7ed38709/guava-21.0.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/21.0/b9ed26b8c23fe7cd3e6b463b34e54e5c6d9536d5/guava-21.0-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.5/6c6c702c89bfff3cd9e80b04d668c5e190d588c6/commons-lang3-3.5.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.5/f7d878153e86a1cdddf6b37850e00a9f8bff726f/commons-lang3-3.5-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.5/2852e6e05fbb95076fc091f6d1780f1f8fe35e0f/commons-io-2.5.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.5/caf033a4a7c37b4a8ff3ea084cba591539b0b69/commons-io-2.5-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.10/4b95f4897fa13f2cd904aee711aeafc0c5295cd8/commons-codec-1.10.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.10/11fb3d88ae7e3b757d70237064210ceb954a5a04/commons-codec-1.10-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.jutils/jutils/1.0.0/e12fe1fda814bd348c1579329c86943d2cd3c6a6/jutils-1.0.0.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.jutils/jutils/1.0.0/d18678a00b216863206a1bb6190507e02a32971b/jutils-1.0.0-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.8.0/c4ba5371a29ac9b2ad6129b1d39ea38750043eff/gson-2.8.0.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.8.0/baf95d8519fc1a11d388f8543cb40cd2bb9d66dc/gson-2.8.0-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.mojang/authlib/1.5.25/9834cdf236c22e84b946bba989e2f94ef5897c3c/authlib-1.5.25.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.mojang/authlib/1.5.25/18840707f662a3236542716fff61c659584f3e6c/authlib-1.5.25-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.mojang/realms/1.10.17/e6a623bf93a230b503b0e3ae18c196fcd5aa3299/realms-1.10.17.jar" kind="lib"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-compress/1.8.1/a698750c16740fd5b3871425f4cb3bbaa87f529d/commons-compress-1.8.1.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-compress/1.8.1/3caea4421428752206c7a94c3e3097f0c47f1bb8/commons-compress-1.8.1-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.3.3/18f4247ff4572a074444572cee34647c43e7c9c7/httpclient-4.3.3.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.3.3/65cba03c4f6207f2885f88206fcf52c53f8d111b/httpclient-4.3.3-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.3/f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f/commons-logging-1.1.3.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.3/28bb0405fddaf04f15058fbfbe01fe2780d7d3b6/commons-logging-1.1.3-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.2/31fbbff1ddbf98f3aa7377c94d33b0447c646b6e/httpcore-4.3.2.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.2/4809f38359edeea9487f747e09aa58ec8d3a54c5/httpcore-4.3.2-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/it.unimi.dsi/fastutil/7.1.0/9835253257524c1be7ab50c057aa2d418fb72082/fastutil-7.1.0.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/it.unimi.dsi/fastutil/7.1.0/4a33438326f2fea664656d63d655c349d4131e14/fastutil-7.1.0-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.8.1/e801d13612e22cad62a3f4f3fe7fdbe6334a8e72/log4j-api-2.8.1.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.8.1/a5edb6b8c77843c8be98e0cb1f875699e76ee122/log4j-api-2.8.1-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-core/2.8.1/4ac28ff2f1ddf05dae3043a190451e8c46b73c31/log4j-core-2.8.1.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-core/2.8.1/a0a7f683da620c345b502fff04d1e46cde2e8d9/log4j-core-2.8.1-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.mojang/text2speech/1.10.3/48fd510879dff266c3815947de66e3d4809f8668/text2speech-1.10.3.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.mojang/text2speech/1.10.3/404339fe43d1011ee046a249b0ec7ae9ce04a834/text2speech-1.10.3-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.minecraft/launchwrapper/1.12/111e7bea9c968cdb3d06ef4632bf7ff0824d0f36/launchwrapper-1.12.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.minecraft/launchwrapper/1.12/fd80cad9a1b967ce2ff20529dc54e520d5338d7/launchwrapper-1.12-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/jline/jline/2.13/2d9530d0a25daffaffda7c35037b046b627bb171/jline-2.13.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/jline/jline/2.13/e290282bf7683ae3307e85bdc5d5e08424dfb893/jline-2.13-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-debug-all/5.2/3354e11e2b34215f06dab629ab88e06aca477c19/asm-debug-all-5.2.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-debug-all/5.2/ed60d4287d18996bc940f26656c570532b20d863/asm-debug-all-5.2-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.typesafe.akka/akka-actor_2.11/2.3.3/ed62e9fc709ca0f2ff1a3220daa8b70a2870078e/akka-actor_2.11-2.3.3.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.typesafe.akka/akka-actor_2.11/2.3.3/9dbceb71c4fd943b4eb4607847261075a989d47f/akka-actor_2.11-2.3.3-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.typesafe/config/1.2.1/f771f71fdae3df231bcd54d5ca2d57f0bf93f467/config-1.2.1.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.typesafe/config/1.2.1/bdacf4f82ce9b29cd474bfde2e91eeb0ca623d28/config-1.2.1-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-actors-migration_2.11/1.1.0/dfa8bc42b181d5b9f1a5dd147f8ae308b893eb6f/scala-actors-migration_2.11-1.1.0.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-actors-migration_2.11/1.1.0/6bccac72dae4d369537e313d12087c1ca295e84f/scala-actors-migration_2.11-1.1.0-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-compiler/2.11.1/56ea2e6c025e0821f28d73ca271218b8dd04926a/scala-compiler-2.11.1.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-compiler/2.11.1/b031d401aabbf7f5f725db500575da3dff90065f/scala-compiler-2.11.1-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.plugins/scala-continuations-library_2.11/1.0.2/e517c53a7e9acd6b1668c5a35eccbaa3bab9aac/scala-continuations-library_2.11-1.0.2.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.plugins/scala-continuations-library_2.11/1.0.2/495afc106eeaa1b3367f6be0bc3768c398e4d360/scala-continuations-library_2.11-1.0.2-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.plugins/scala-continuations-plugin_2.11.1/1.0.2/f361a3283452c57fa30c1ee69448995de23c60f7/scala-continuations-plugin_2.11.1-1.0.2.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.plugins/scala-continuations-plugin_2.11.1/1.0.2/c6f3c092ab731f3cf83fdb376ebc465a243c1f4c/scala-continuations-plugin_2.11.1-1.0.2-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.11.1/e11da23da3eabab9f4777b9220e60d44c1aab6a/scala-library-2.11.1.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.11.1/8355e4b6841f772a287167666bad6e9860ac4d3c/scala-library-2.11.1-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.modules/scala-parser-combinators_2.11/1.0.1/f05d7345bf5a58924f2837c6c1f4d73a938e1ff0/scala-parser-combinators_2.11-1.0.1.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.modules/scala-parser-combinators_2.11/1.0.1/34d013c02d0b73794ba2911552896dd9c00f34c3/scala-parser-combinators_2.11-1.0.1-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-reflect/2.11.1/6580347e61cc7f8e802941e7fde40fa83b8badeb/scala-reflect-2.11.1.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-reflect/2.11.1/d4c5628e197a0d6af8e9b93a9be32190c547bc8a/scala-reflect-2.11.1-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.modules/scala-swing_2.11/1.0.1/b1cdd92bd47b1e1837139c1c53020e86bb9112ae/scala-swing_2.11-1.0.1.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.modules/scala-swing_2.11/1.0.1/d4bda4281db2ec74b105c5acf2326d160b79164e/scala-swing_2.11-1.0.1-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.modules/scala-xml_2.11/1.0.2/820fbca7e524b530fdadc594c39d49a21ea0337e/scala-xml_2.11-1.0.2.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.modules/scala-xml_2.11/1.0.2/312c3557d1ca0b34820f3b3fc5404a47936ceb26/scala-xml_2.11-1.0.2-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/lzma/lzma/0.0.1/521616dc7487b42bef0e803bd2fa3faf668101d7/lzma-0.0.1.jar" kind="lib"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.sf.trove4j/trove4j/3.0.3/42ccaf4761f0dfdfa805c9e340d99a755907e2dd/trove4j-3.0.3.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.sf.trove4j/trove4j/3.0.3/109c5be93362e6e651e417c51d1863477a22969c/trove4j-3.0.3-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/codecjorbis/20101023/c73b5636faf089d9f00e8732a829577de25237ee/codecjorbis-20101023.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/codecjorbis/20101023/4ca2436396bc14ebd78b7db1d4e11ca607c8705e/codecjorbis-20101023-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/codecwav/20101023/12f031cfe88fef5c1dd36c563c0a3a69bd7261da/codecwav-20101023.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/codecwav/20101023/71ec00b9b9c1a6a2c3a8a25f481a23ddb5b21ddb/codecwav-20101023-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/libraryjavasound/20101123/5c5e304366f75f9eaa2e8cca546a1fb6109348b3/libraryjavasound-20101123.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/libraryjavasound/20101123/945ff5711de27751cf699641d1ea316ba6cf7589/libraryjavasound-20101123-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/librarylwjglopenal/20100824/73e80d0794c39665aec3f62eee88ca91676674ef/librarylwjglopenal-20100824.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/librarylwjglopenal/20100824/ecfc8dac1d41bef748997e4edf563d486923ee1e/librarylwjglopenal-20100824-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/soundsystem/20120107/419c05fe9be71f792b2d76cfc9b67f1ed0fec7f6/soundsystem-20120107.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/soundsystem/20120107/1b9f4eb11ef11fede7fd76a2e5e8203c2a8adcd/soundsystem-20120107-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.jinput/jinput/2.0.5/39c7796b469a600f72380316f6b1f11db6c2c7c4/jinput-2.0.5.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.jinput/jinput/2.0.5/82604cfeb87b9ab70ed70aa19a137de8ceb21504/jinput-2.0.5-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl/2.9.4-nightly-20150209/697517568c68e78ae0b4544145af031c81082dfe/lwjgl-2.9.4-nightly-20150209.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl/2.9.4-nightly-20150209/7da2cff65127b558a66e8e38456174161723d3a7/lwjgl-2.9.4-nightly-20150209-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl_util/2.9.4-nightly-20150209/d51a7c040a721d13efdfbd34f8b257b2df882ad0/lwjgl_util-2.9.4-nightly-20150209.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl_util/2.9.4-nightly-20150209/2e3787f55c68a245e994f88755795b3a7684b3/lwjgl_util-2.9.4-nightly-20150209-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/java3d/vecmath/1.5.2/79846ba34cbd89e2422d74d53752f993dcc2ccaf/vecmath-1.5.2.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/java3d/vecmath/1.5.2/42442b23189fbef9353c1751055610b63dd57e85/vecmath-1.5.2-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/ca.weblite/java-objc-bridge/1.0.0/6ef160c3133a78de015830860197602ca1c855d3/java-objc-bridge-1.0.0.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/ca.weblite/java-objc-bridge/1.0.0/865837a198189aee737019561ece842827f24278/java-objc-bridge-1.0.0-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.fusesource.jansi/jansi/1.11/655c643309c2f45a56a747fda70e3fadf57e9f11/jansi-1.11.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.fusesource.jansi/jansi/1.11/2f0e4b53b6b0eec426dad7118bf54b3deb58000b/jansi-1.11-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-actors/2.11.0/8ccfb6541de179bb1c4d45cf414acee069b7f78b/scala-actors-2.11.0.jar" kind="lib" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-actors/2.11.0/e1dfa274766d5278166b0d660294fe96396693b2/scala-actors-2.11.0-sources.jar"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.jinput/jinput-platform/2.0.5/7ff832a6eb9ab6a767f1ade2b548092d0fa64795/jinput-platform-2.0.5-natives-linux.jar" kind="lib"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.jinput/jinput-platform/2.0.5/385ee093e01f587f30ee1c8a2ee7d408fd732e16/jinput-platform-2.0.5-natives-windows.jar" kind="lib"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.jinput/jinput-platform/2.0.5/53f9c919f34d2ca9de8c51fc4e1e8282029a9232/jinput-platform-2.0.5-natives-osx.jar" kind="lib"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl-platform/2.9.4-nightly-20150209/b84d5102b9dbfabfeb5e43c7e2828d98a7fc80e0/lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar" kind="lib"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl-platform/2.9.4-nightly-20150209/931074f46c795d2f7b30ed6395df5715cfd7675b/lwjgl-platform-2.9.4-nightly-20150209-natives-linux.jar" kind="lib"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl-platform/2.9.4-nightly-20150209/bcab850f8f487c3f4c4dbabde778bb82bd1a40ed/lwjgl-platform-2.9.4-nightly-20150209-natives-osx.jar" kind="lib"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/compileDummy.jar" kind="lib"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/providedDummy.jar" kind="lib"/>
- <classpathentry path="C:/Users/Tyler/.gradle/caches/minecraft/net/minecraftforge/forge/1.12-14.21.1.2443/start" kind="lib"/>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" path="src/main/resources"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/slimeknights/mantle/Mantle/1.12-1.3.1.22/Mantle-1.12-1.3.1.22.jar" sourcepath="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/slimeknights/mantle/Mantle/1.12-1.3.1.22/Mantle-1.12-1.3.1.22-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/slimeknights/TConstruct/1.12-2.7.4.42/TConstruct-1.12-2.7.4.42.jar" sourcepath="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/slimeknights/TConstruct/1.12-2.7.4.42/TConstruct-1.12-2.7.4.42-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/mezz/jei/jei_1.12/4.7.5.86/jei_1.12-4.7.5.86.jar" sourcepath="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/mezz/jei/jei_1.12/4.7.5.86/jei_1.12-4.7.5.86-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/com/github/Azanor/Baubles/master-SNAPSHOT/Baubles-master-SNAPSHOT.jar" sourcepath="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/deobf/com/github/Azanor/Baubles/master-SNAPSHOT/Baubles-master-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/minecraft/net/minecraftforge/forge/1.12-14.21.1.2443/snapshot/20170801/forgeSrc-1.12-14.21.1.2443.jar" sourcepath="C:/Users/Tyler/.gradle/caches/minecraft/net/minecraftforge/forge/1.12-14.21.1.2443/snapshot/20170801/forgeSrc-1.12-14.21.1.2443-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.1/f7be08ec23c21485b9b5a1cf1654c2ec8c58168d/jsr305-3.0.1.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.1/a2926c057ca3b662b9db194c869bdbe7d3bb8aef/jsr305-3.0.1-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.mojang/patchy/1.1/aef610b34a1be37fa851825f12372b78424d8903/patchy-1.1.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.mojang/patchy/1.1/5e398295fbcb8fb590e3e3bddace13f659792e50/patchy-1.1-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/oshi-project/oshi-core/1.1/9ddf7b048a8d701be231c0f4f95fd986198fd2d8/oshi-core-1.1.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/oshi-project/oshi-core/1.1/1ec1ab1e6ac5a1572edfd0dd9ac95e83684b8a65/oshi-core-1.1-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna/4.4.0/cb208278274bf12ebdb56c61bd7407e6f774d65a/jna-4.4.0.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna/4.4.0/9d45d3dc35711eef7267d8b4fc2c0dc482ef9fd2/jna-4.4.0-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/platform/3.4.0/e3f70017be8100d3d6923f50b3d2ee17714e9c13/platform-3.4.0.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/platform/3.4.0/2f42653596d0044f0ab456620cba54c9cf53c5ca/platform-3.4.0-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.ibm.icu/icu4j-core-mojang/51.2/63d216a9311cca6be337c1e458e587f99d382b84/icu4j-core-mojang-51.2.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.ibm.icu/icu4j-core-mojang/51.2/814397ccbafff1132758e551c37396c528d7f2d7/icu4j-core-mojang-51.2-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/5.0.3/cdd846cfc4e0f7eefafc02c0f5dce32b9303aa2a/jopt-simple-5.0.3.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/5.0.3/36d4348605fd4605d36c8641495f3e78756e454b/jopt-simple-5.0.3-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/io.netty/netty-all/4.1.9.Final/97860965d6a0a6b98e7f569f3f966727b8db75/netty-all-4.1.9.Final.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/io.netty/netty-all/4.1.9.Final/69b921f5e296428c88c2ea4418e630443a699b06/netty-all-4.1.9.Final-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/21.0/3a3d111be1be1b745edfa7d91678a12d7ed38709/guava-21.0.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/21.0/b9ed26b8c23fe7cd3e6b463b34e54e5c6d9536d5/guava-21.0-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.5/6c6c702c89bfff3cd9e80b04d668c5e190d588c6/commons-lang3-3.5.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.5/f7d878153e86a1cdddf6b37850e00a9f8bff726f/commons-lang3-3.5-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.5/2852e6e05fbb95076fc091f6d1780f1f8fe35e0f/commons-io-2.5.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.5/caf033a4a7c37b4a8ff3ea084cba591539b0b69/commons-io-2.5-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.10/4b95f4897fa13f2cd904aee711aeafc0c5295cd8/commons-codec-1.10.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.10/11fb3d88ae7e3b757d70237064210ceb954a5a04/commons-codec-1.10-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.jutils/jutils/1.0.0/e12fe1fda814bd348c1579329c86943d2cd3c6a6/jutils-1.0.0.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.jutils/jutils/1.0.0/d18678a00b216863206a1bb6190507e02a32971b/jutils-1.0.0-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.8.0/c4ba5371a29ac9b2ad6129b1d39ea38750043eff/gson-2.8.0.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.8.0/baf95d8519fc1a11d388f8543cb40cd2bb9d66dc/gson-2.8.0-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.mojang/authlib/1.5.25/9834cdf236c22e84b946bba989e2f94ef5897c3c/authlib-1.5.25.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.mojang/authlib/1.5.25/18840707f662a3236542716fff61c659584f3e6c/authlib-1.5.25-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.mojang/realms/1.10.17/e6a623bf93a230b503b0e3ae18c196fcd5aa3299/realms-1.10.17.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-compress/1.8.1/a698750c16740fd5b3871425f4cb3bbaa87f529d/commons-compress-1.8.1.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-compress/1.8.1/3caea4421428752206c7a94c3e3097f0c47f1bb8/commons-compress-1.8.1-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.3.3/18f4247ff4572a074444572cee34647c43e7c9c7/httpclient-4.3.3.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.3.3/65cba03c4f6207f2885f88206fcf52c53f8d111b/httpclient-4.3.3-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.3/f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f/commons-logging-1.1.3.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.3/28bb0405fddaf04f15058fbfbe01fe2780d7d3b6/commons-logging-1.1.3-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.2/31fbbff1ddbf98f3aa7377c94d33b0447c646b6e/httpcore-4.3.2.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.2/4809f38359edeea9487f747e09aa58ec8d3a54c5/httpcore-4.3.2-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/it.unimi.dsi/fastutil/7.1.0/9835253257524c1be7ab50c057aa2d418fb72082/fastutil-7.1.0.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/it.unimi.dsi/fastutil/7.1.0/4a33438326f2fea664656d63d655c349d4131e14/fastutil-7.1.0-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.8.1/e801d13612e22cad62a3f4f3fe7fdbe6334a8e72/log4j-api-2.8.1.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.8.1/a5edb6b8c77843c8be98e0cb1f875699e76ee122/log4j-api-2.8.1-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-core/2.8.1/4ac28ff2f1ddf05dae3043a190451e8c46b73c31/log4j-core-2.8.1.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-core/2.8.1/a0a7f683da620c345b502fff04d1e46cde2e8d9/log4j-core-2.8.1-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.mojang/text2speech/1.10.3/48fd510879dff266c3815947de66e3d4809f8668/text2speech-1.10.3.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.mojang/text2speech/1.10.3/404339fe43d1011ee046a249b0ec7ae9ce04a834/text2speech-1.10.3-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.minecraft/launchwrapper/1.12/111e7bea9c968cdb3d06ef4632bf7ff0824d0f36/launchwrapper-1.12.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.minecraft/launchwrapper/1.12/fd80cad9a1b967ce2ff20529dc54e520d5338d7/launchwrapper-1.12-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/jline/jline/2.13/2d9530d0a25daffaffda7c35037b046b627bb171/jline-2.13.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/jline/jline/2.13/e290282bf7683ae3307e85bdc5d5e08424dfb893/jline-2.13-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-debug-all/5.2/3354e11e2b34215f06dab629ab88e06aca477c19/asm-debug-all-5.2.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-debug-all/5.2/ed60d4287d18996bc940f26656c570532b20d863/asm-debug-all-5.2-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.typesafe.akka/akka-actor_2.11/2.3.3/ed62e9fc709ca0f2ff1a3220daa8b70a2870078e/akka-actor_2.11-2.3.3.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.typesafe.akka/akka-actor_2.11/2.3.3/9dbceb71c4fd943b4eb4607847261075a989d47f/akka-actor_2.11-2.3.3-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.typesafe/config/1.2.1/f771f71fdae3df231bcd54d5ca2d57f0bf93f467/config-1.2.1.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.typesafe/config/1.2.1/bdacf4f82ce9b29cd474bfde2e91eeb0ca623d28/config-1.2.1-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-actors-migration_2.11/1.1.0/dfa8bc42b181d5b9f1a5dd147f8ae308b893eb6f/scala-actors-migration_2.11-1.1.0.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-actors-migration_2.11/1.1.0/6bccac72dae4d369537e313d12087c1ca295e84f/scala-actors-migration_2.11-1.1.0-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-compiler/2.11.1/56ea2e6c025e0821f28d73ca271218b8dd04926a/scala-compiler-2.11.1.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-compiler/2.11.1/b031d401aabbf7f5f725db500575da3dff90065f/scala-compiler-2.11.1-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.plugins/scala-continuations-library_2.11/1.0.2/e517c53a7e9acd6b1668c5a35eccbaa3bab9aac/scala-continuations-library_2.11-1.0.2.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.plugins/scala-continuations-library_2.11/1.0.2/495afc106eeaa1b3367f6be0bc3768c398e4d360/scala-continuations-library_2.11-1.0.2-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.plugins/scala-continuations-plugin_2.11.1/1.0.2/f361a3283452c57fa30c1ee69448995de23c60f7/scala-continuations-plugin_2.11.1-1.0.2.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.plugins/scala-continuations-plugin_2.11.1/1.0.2/c6f3c092ab731f3cf83fdb376ebc465a243c1f4c/scala-continuations-plugin_2.11.1-1.0.2-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.11.1/e11da23da3eabab9f4777b9220e60d44c1aab6a/scala-library-2.11.1.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.11.1/8355e4b6841f772a287167666bad6e9860ac4d3c/scala-library-2.11.1-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.modules/scala-parser-combinators_2.11/1.0.1/f05d7345bf5a58924f2837c6c1f4d73a938e1ff0/scala-parser-combinators_2.11-1.0.1.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.modules/scala-parser-combinators_2.11/1.0.1/34d013c02d0b73794ba2911552896dd9c00f34c3/scala-parser-combinators_2.11-1.0.1-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-reflect/2.11.1/6580347e61cc7f8e802941e7fde40fa83b8badeb/scala-reflect-2.11.1.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-reflect/2.11.1/d4c5628e197a0d6af8e9b93a9be32190c547bc8a/scala-reflect-2.11.1-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.modules/scala-swing_2.11/1.0.1/b1cdd92bd47b1e1837139c1c53020e86bb9112ae/scala-swing_2.11-1.0.1.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.modules/scala-swing_2.11/1.0.1/d4bda4281db2ec74b105c5acf2326d160b79164e/scala-swing_2.11-1.0.1-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.modules/scala-xml_2.11/1.0.2/820fbca7e524b530fdadc594c39d49a21ea0337e/scala-xml_2.11-1.0.2.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang.modules/scala-xml_2.11/1.0.2/312c3557d1ca0b34820f3b3fc5404a47936ceb26/scala-xml_2.11-1.0.2-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/lzma/lzma/0.0.1/521616dc7487b42bef0e803bd2fa3faf668101d7/lzma-0.0.1.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.sf.trove4j/trove4j/3.0.3/42ccaf4761f0dfdfa805c9e340d99a755907e2dd/trove4j-3.0.3.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.sf.trove4j/trove4j/3.0.3/109c5be93362e6e651e417c51d1863477a22969c/trove4j-3.0.3-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/codecjorbis/20101023/c73b5636faf089d9f00e8732a829577de25237ee/codecjorbis-20101023.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/codecjorbis/20101023/4ca2436396bc14ebd78b7db1d4e11ca607c8705e/codecjorbis-20101023-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/codecwav/20101023/12f031cfe88fef5c1dd36c563c0a3a69bd7261da/codecwav-20101023.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/codecwav/20101023/71ec00b9b9c1a6a2c3a8a25f481a23ddb5b21ddb/codecwav-20101023-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/libraryjavasound/20101123/5c5e304366f75f9eaa2e8cca546a1fb6109348b3/libraryjavasound-20101123.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/libraryjavasound/20101123/945ff5711de27751cf699641d1ea316ba6cf7589/libraryjavasound-20101123-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/librarylwjglopenal/20100824/73e80d0794c39665aec3f62eee88ca91676674ef/librarylwjglopenal-20100824.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/librarylwjglopenal/20100824/ecfc8dac1d41bef748997e4edf563d486923ee1e/librarylwjglopenal-20100824-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/soundsystem/20120107/419c05fe9be71f792b2d76cfc9b67f1ed0fec7f6/soundsystem-20120107.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/com.paulscode/soundsystem/20120107/1b9f4eb11ef11fede7fd76a2e5e8203c2a8adcd/soundsystem-20120107-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.jinput/jinput/2.0.5/39c7796b469a600f72380316f6b1f11db6c2c7c4/jinput-2.0.5.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.jinput/jinput/2.0.5/82604cfeb87b9ab70ed70aa19a137de8ceb21504/jinput-2.0.5-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl/2.9.4-nightly-20150209/697517568c68e78ae0b4544145af031c81082dfe/lwjgl-2.9.4-nightly-20150209.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl/2.9.4-nightly-20150209/7da2cff65127b558a66e8e38456174161723d3a7/lwjgl-2.9.4-nightly-20150209-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl_util/2.9.4-nightly-20150209/d51a7c040a721d13efdfbd34f8b257b2df882ad0/lwjgl_util-2.9.4-nightly-20150209.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl_util/2.9.4-nightly-20150209/2e3787f55c68a245e994f88755795b3a7684b3/lwjgl_util-2.9.4-nightly-20150209-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/java3d/vecmath/1.5.2/79846ba34cbd89e2422d74d53752f993dcc2ccaf/vecmath-1.5.2.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/java3d/vecmath/1.5.2/42442b23189fbef9353c1751055610b63dd57e85/vecmath-1.5.2-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/ca.weblite/java-objc-bridge/1.0.0/6ef160c3133a78de015830860197602ca1c855d3/java-objc-bridge-1.0.0.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/ca.weblite/java-objc-bridge/1.0.0/865837a198189aee737019561ece842827f24278/java-objc-bridge-1.0.0-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.fusesource.jansi/jansi/1.11/655c643309c2f45a56a747fda70e3fadf57e9f11/jansi-1.11.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.fusesource.jansi/jansi/1.11/2f0e4b53b6b0eec426dad7118bf54b3deb58000b/jansi-1.11-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-actors/2.11.0/8ccfb6541de179bb1c4d45cf414acee069b7f78b/scala-actors-2.11.0.jar" sourcepath="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-actors/2.11.0/e1dfa274766d5278166b0d660294fe96396693b2/scala-actors-2.11.0-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.jinput/jinput-platform/2.0.5/7ff832a6eb9ab6a767f1ade2b548092d0fa64795/jinput-platform-2.0.5-natives-linux.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.jinput/jinput-platform/2.0.5/385ee093e01f587f30ee1c8a2ee7d408fd732e16/jinput-platform-2.0.5-natives-windows.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/net.java.jinput/jinput-platform/2.0.5/53f9c919f34d2ca9de8c51fc4e1e8282029a9232/jinput-platform-2.0.5-natives-osx.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl-platform/2.9.4-nightly-20150209/b84d5102b9dbfabfeb5e43c7e2828d98a7fc80e0/lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl-platform/2.9.4-nightly-20150209/931074f46c795d2f7b30ed6395df5715cfd7675b/lwjgl-platform-2.9.4-nightly-20150209-natives-linux.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl-platform/2.9.4-nightly-20150209/bcab850f8f487c3f4c4dbabde778bb82bd1a40ed/lwjgl-platform-2.9.4-nightly-20150209-natives-osx.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/compileDummy.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/minecraft/deobfedDeps/providedDummy.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/.gradle/caches/minecraft/net/minecraftforge/forge/1.12-14.21.1.2443/start"/>
+ <classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/build.gradle b/build.gradle
index dd1fb11..142fd44 100644
--- a/build.gradle
+++ b/build.gradle
@@ -56,7 +56,7 @@ plugins {
id "net.minecraftforge.gradle.forge" version "2.0.2"
}
*/
-version = "1.4.2.7a"
+version = "1.4.2.8a"
group= "lance5057.tDefense" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "tinkersdefense"
diff --git a/src/main/java/com/example/examplemod/ExampleMod.java b/src/main/java/com/example/examplemod/ExampleMod.java
deleted file mode 100644
index 42a155b..0000000
--- a/src/main/java/com/example/examplemod/ExampleMod.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.example.examplemod;
-
-import net.minecraft.init.Blocks;
-import net.minecraftforge.fml.common.Mod;
-import net.minecraftforge.fml.common.Mod.EventHandler;
-import net.minecraftforge.fml.common.event.FMLInitializationEvent;
-import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
-import org.apache.logging.log4j.Logger;
-
-@Mod(modid = ExampleMod.MODID, name = ExampleMod.NAME, version = ExampleMod.VERSION)
-public class ExampleMod
-{
- public static final String MODID = "examplemod";
- public static final String NAME = "Example Mod";
- public static final String VERSION = "1.0";
-
- private static Logger logger;
-
- @EventHandler
- public void preInit(FMLPreInitializationEvent event)
- {
- logger = event.getModLog();
- }
-
- @EventHandler
- public void init(FMLInitializationEvent event)
- {
- // some example code
- logger.info("DIRT BLOCK >> {}", Blocks.DIRT.getRegistryName());
- }
-}
diff --git a/src/main/java/lance5057/tDefense/Reference.java b/src/main/java/lance5057/tDefense/Reference.java
index 0600126..8f94aed 100644
--- a/src/main/java/lance5057/tDefense/Reference.java
+++ b/src/main/java/lance5057/tDefense/Reference.java
@@ -4,7 +4,7 @@ public class Reference
{
public static final String MOD_ID = "tinkersdefense";
- public static final String VERSION = "1.4.2.6a";
+ public static final String VERSION = "1.4.2.8a";
public static final String MOD_NAME = "Tinkers' Defense";
}
diff --git a/src/main/java/lance5057/tDefense/TD_Commands.java b/src/main/java/lance5057/tDefense/TD_Commands.java
index 4e89780..1629b98 100644
--- a/src/main/java/lance5057/tDefense/TD_Commands.java
+++ b/src/main/java/lance5057/tDefense/TD_Commands.java
@@ -6,7 +6,6 @@ import java.util.List;
import javax.annotation.Nullable;
import net.minecraft.command.CommandBase;
-import net.minecraft.command.CommandException;
import net.minecraft.command.ICommand;
import net.minecraft.command.ICommandSender;
import net.minecraft.server.MinecraftServer;
diff --git a/src/main/java/lance5057/tDefense/TD_Config.java b/src/main/java/lance5057/tDefense/TD_Config.java
index 43a511a..69ca8b7 100644
--- a/src/main/java/lance5057/tDefense/TD_Config.java
+++ b/src/main/java/lance5057/tDefense/TD_Config.java
@@ -1,15 +1,10 @@
package lance5057.tDefense;
-import lance5057.tDefense.util.Color16Util;
import net.minecraftforge.common.config.Config;
import net.minecraftforge.common.config.ConfigManager;
-import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.fml.client.event.ConfigChangedEvent;
import net.minecraftforge.fml.common.Mod;
-import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
-import scala.Int;
-import slimeknights.tconstruct.library.materials.Material;
@Config(modid = Reference.MOD_ID)
public class TD_Config
diff --git a/src/main/java/lance5057/tDefense/TinkersDefense.java b/src/main/java/lance5057/tDefense/TinkersDefense.java
index 0a95930..fee4e43 100644
--- a/src/main/java/lance5057/tDefense/TinkersDefense.java
+++ b/src/main/java/lance5057/tDefense/TinkersDefense.java
@@ -5,13 +5,10 @@ import lance5057.tDefense.core.parts.TDParts;
import lance5057.tDefense.core.tools.TDTools;
import lance5057.tDefense.holiday.HolidayBase;
import lance5057.tDefense.proxy.CommonProxy;
-import lance5057.tDefense.util.ModuleBase;
import lance5057.tDefense.util.RegEvents;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.Mod;
-import net.minecraftforge.fml.common.Mod.EventHandler;
-import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
@@ -22,7 +19,7 @@ import scala.reflect.internal.Trees.Modifiers;
import slimeknights.mantle.client.CreativeTab;
-@Mod(modid = Reference.MOD_ID, version = Reference.VERSION, name = Reference.MOD_NAME)
+@Mod(modid = Reference.MOD_ID, version = Reference.VERSION, name = Reference.MOD_NAME, dependencies = "required-after:tconstruct")
public class TinkersDefense {
private static int modGuiIndex = 0;
diff --git a/src/main/java/lance5057/tDefense/core/blocks/fluid/TDFluid.java b/src/main/java/lance5057/tDefense/core/blocks/fluid/TDFluid.java
index 966756d..6e8e79e 100644
--- a/src/main/java/lance5057/tDefense/core/blocks/fluid/TDFluid.java
+++ b/src/main/java/lance5057/tDefense/core/blocks/fluid/TDFluid.java
@@ -2,8 +2,6 @@ package lance5057.tDefense.core.blocks.fluid;
import lance5057.tDefense.Reference;
import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.math.BlockPos;
-import net.minecraft.world.IBlockAccess;
import slimeknights.tconstruct.library.fluid.FluidMolten;
public class TDFluid extends FluidMolten
diff --git a/src/main/java/lance5057/tDefense/core/materials/ArmorMaterialStats.java b/src/main/java/lance5057/tDefense/core/materials/ArmorMaterialStats.java
new file mode 100644
index 0000000..031384f
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/materials/ArmorMaterialStats.java
@@ -0,0 +1,132 @@
+package lance5057.tDefense.core.materials;
+
+import java.util.List;
+
+import com.google.common.collect.Lists;
+
+import net.minecraft.util.text.TextFormatting;
+import slimeknights.tconstruct.library.Util;
+import slimeknights.tconstruct.library.client.CustomFontColor;
+import slimeknights.tconstruct.library.materials.AbstractMaterialStats;
+
+public class ArmorMaterialStats extends AbstractMaterialStats {
+ public final static String LOC_Durability = "stat.armor.durability.name";
+ public final static String LOC_ArmorRating = "stat.armor.rating.name";
+ public final static String LOC_ArmorToughness = "stat.armor.toughness.name";
+ public final static String LOC_MagicPotency = "stat.armor.potency.name";
+
+ public final static String LOC_DurabilityDesc = "stat.armor.durability.desc";
+ public final static String LOC_ArmorRatingDesc = "stat.armor.rating.desc";
+ public final static String LOC_ArmorToughnessDesc = "stat.armor.toughness.desc";
+ public final static String LOC_MagicPotencyDesc = "stat.cloth.potency.desc";
+
+ public final static String COLOR_Durability = CustomFontColor.valueToColorCode(1f);
+ public final static String COLOR_ArmorRating = CustomFontColor.encodeColor(215, 100, 100);
+ public final static String COLOR_ArmorToughness = CustomFontColor.encodeColor(215, 100, 100);
+ public final static String COLOR_MagicPotency = CustomFontColor.encodeColor(215, 100, 100);
+
+ public final int durability; // usually between 1 and 1000
+ public final int rating; // 1 - 20
+ public final int toughness;
+ public final float potency;
+
+ public ArmorMaterialStats(int durability, int rating, int toughness, float potency, String TYPE) {
+ super(TYPE);
+ this.durability = durability;
+ this.rating = rating;
+ this.toughness = toughness;
+ this.potency = potency;
+ }
+
+ @Override
+ public List<String> getLocalizedInfo() {
+ List<String> info = Lists.newArrayList();
+
+ info.add(formatDurability(durability));
+ info.add(formatArmorRating(rating));
+ info.add(formatArmorToughness(toughness));
+ info.add(formatMagicPotency(potency));
+
+ return info;
+ }
+
+ public static String formatDurability(int durability) {
+ return formatNumber(LOC_Durability, COLOR_Durability, durability);
+ }
+
+ public static String formatDurability(int durability, int ref) {
+ return String.format("%s: %s%s%s/%s%s", Util.translate(LOC_Durability),
+ CustomFontColor.valueToColorCode((float) durability / (float) ref), Util.df.format(durability),
+ TextFormatting.GRAY.toString(), COLOR_Durability, Util.df.format(ref)) + TextFormatting.RESET;
+ }
+
+ public static String formatArmorRating(int percent) {
+ return formatNumber(LOC_ArmorRating, COLOR_ArmorRating, percent);
+ }
+
+ public static String formatArmorToughness(int percent) {
+ return formatNumber(LOC_ArmorToughness, COLOR_ArmorToughness, percent);
+ }
+
+ public static String formatMagicPotency(float potency2)
+ {
+ return formatNumber(LOC_MagicPotency, COLOR_MagicPotency, potency2);
+ }
+
+ @Override
+ public List<String> getLocalizedDesc() {
+ List<String> info = Lists.newArrayList();
+
+ info.add(Util.translate(LOC_DurabilityDesc));
+ info.add(Util.translate(LOC_ArmorRatingDesc));
+ info.add(Util.translate(LOC_ArmorToughnessDesc));
+ info.add(Util.translate(LOC_MagicPotencyDesc));
+
+ return info;
+ }
+
+ public class HelmMaterialStats extends ArmorMaterialStats {
+ public final static String TYPE = "helm";
+
+ public HelmMaterialStats(int durability, int rating, int toughness, float potency) {
+ super(durability, rating, toughness,potency, TYPE);
+ }
+
+ }
+
+ public class ChestMaterialStats extends ArmorMaterialStats {
+ public final static String TYPE = "chest";
+
+ public ChestMaterialStats(int durability, int rating, int toughness, float potency) {
+ super(durability, rating, toughness,potency, TYPE);
+ }
+
+ }
+
+ public class LegsMaterialStats extends ArmorMaterialStats {
+ public final static String TYPE = "legs";
+
+ public LegsMaterialStats(int durability, int rating, int toughness, float potency) {
+ super(durability, rating, toughness,potency, TYPE);
+ }
+
+ }
+
+ public class FeetMaterialStats extends ArmorMaterialStats {
+ public final static String TYPE = "feet";
+
+ public FeetMaterialStats(int durability, int rating, int toughness, float potency) {
+ super(durability, rating, toughness,potency, TYPE);
+ }
+
+ }
+
+ public class ClothMaterialStats extends ArmorMaterialStats {
+ public final static String TYPE = "cloth";
+
+ public ClothMaterialStats(int durability, int rating, int toughness, float potency) {
+ super(durability, rating, toughness,potency, TYPE);
+ }
+
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/core/materials/BootsMaterialStats.java b/src/main/java/lance5057/tDefense/core/materials/BootsMaterialStats.java
deleted file mode 100644
index 69d07bb..0000000
--- a/src/main/java/lance5057/tDefense/core/materials/BootsMaterialStats.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package lance5057.tDefense.core.materials;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import net.minecraft.util.text.TextFormatting;
-import slimeknights.tconstruct.library.Util;
-import slimeknights.tconstruct.library.client.CustomFontColor;
-import slimeknights.tconstruct.library.materials.AbstractMaterialStats;
-
-public class BootsMaterialStats extends AbstractMaterialStats
-{
- public final static String TYPE = "boots";
-
- public final static String LOC_Durability = "stat.boots.armor.durability.name";
- public final static String LOC_ArmorRating = "stat.boots.armor.rating.name";
- public final static String LOC_ArmorToughness = "stat.boots.armor.toughness.name";
-
- public final static String LOC_DurabilityDesc = "stat.boots.armor.durability.desc";
- public final static String LOC_ArmorRatingDesc = "stat.boots.armor.rating.desc";
- public final static String LOC_ArmorToughnessDesc = "stat.boots.armor.toughness.desc";
-
- public final static String COLOR_Durability = CustomFontColor.valueToColorCode(1f);
- public final static String COLOR_ArmorRating = CustomFontColor.encodeColor(215, 100, 100);
- public final static String COLOR_ArmorToughness = CustomFontColor.encodeColor(215, 100, 100);
-
- public final int durability; // usually between 1 and 1000
- public final int rating; // 1 - 20
- public final int toughness;
-
- public BootsMaterialStats(int durability, int rating, int toughness)
- {
- super(TYPE);
- this.durability = durability;
- this.rating = rating;
- this.toughness = toughness;
- }
-
- @Override
- public List<String> getLocalizedInfo()
- {
- List<String> info = Lists.newArrayList();
-
- info.add(formatDurability(durability));
- info.add(formatArmorRating(rating));
- info.add(formatArmorToughness(toughness));
-
- return info;
- }
-
- public static String formatDurability(int durability)
- {
- return formatNumber(LOC_Durability, COLOR_Durability, durability);
- }
-
- public static String formatDurability(int durability, int ref)
- {
- return String.format("%s: %s%s%s/%s%s",
- Util.translate(LOC_Durability),
- CustomFontColor.valueToColorCode((float) durability / (float) ref),
- Util.df.format(durability),
- TextFormatting.GRAY.toString(),
- COLOR_Durability,
- Util.df.format(ref)) + TextFormatting.RESET;
- }
-
- public static String formatArmorRating(int percent)
- {
- return formatNumber(LOC_ArmorRating, COLOR_ArmorRating, percent);
- }
-
- public static String formatArmorToughness(int percent)
- {
- return formatNumber(LOC_ArmorToughness, COLOR_ArmorToughness, percent);
- }
-
- @Override
- public List<String> getLocalizedDesc()
- {
- List<String> info = Lists.newArrayList();
-
- info.add(Util.translate(LOC_DurabilityDesc));
- info.add(Util.translate(LOC_ArmorRatingDesc));
- info.add(Util.translate(LOC_ArmorToughnessDesc));
-
- return info;
- }
-}
diff --git a/src/main/java/lance5057/tDefense/core/materials/ChestMaterialStats.java b/src/main/java/lance5057/tDefense/core/materials/ChestMaterialStats.java
deleted file mode 100644
index e1fe811..0000000
--- a/src/main/java/lance5057/tDefense/core/materials/ChestMaterialStats.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package lance5057.tDefense.core.materials;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import net.minecraft.util.text.TextFormatting;
-import slimeknights.tconstruct.library.Util;
-import slimeknights.tconstruct.library.client.CustomFontColor;
-import slimeknights.tconstruct.library.materials.AbstractMaterialStats;
-
-public class ChestMaterialStats extends AbstractMaterialStats
-{
- public final static String TYPE = "chest";
-
- public final static String LOC_Durability = "stat.chest.armor.durability.name";
- public final static String LOC_ArmorRating = "stat.chest.armor.rating.name";
- public final static String LOC_ArmorToughness = "stat.chest.armor.toughness.name";
-
- public final static String LOC_DurabilityDesc = "stat.chest.armor.durability.desc";
- public final static String LOC_ArmorRatingDesc = "stat.chest.armor.rating.desc";
- public final static String LOC_ArmorToughnessDesc = "stat.chest.armor.toughness.desc";
-
- public final static String COLOR_Durability = CustomFontColor.valueToColorCode(1f);
- public final static String COLOR_ArmorRating = CustomFontColor.encodeColor(215, 100, 100);
- public final static String COLOR_ArmorToughness = CustomFontColor.encodeColor(215, 100, 100);
-
- public final int durability; // usually between 1 and 1000
- public final int rating; // 1 - 20
- public final int toughness;
-
- public ChestMaterialStats(int durability, int rating, int toughness)
- {
- super(TYPE);
- this.durability = durability;
- this.rating = rating;
- this.toughness = toughness;
- }
-
- @Override
- public List<String> getLocalizedInfo()
- {
- List<String> info = Lists.newArrayList();
-
- info.add(formatDurability(durability));
- info.add(formatArmorRating(rating));
- info.add(formatArmorToughness(toughness));
-
- return info;
- }
-
- public static String formatDurability(int durability)
- {
- return formatNumber(LOC_Durability, COLOR_Durability, durability);
- }
-
- public static String formatDurability(int durability, int ref)
- {
- return String.format("%s: %s%s%s/%s%s",
- Util.translate(LOC_Durability),
- CustomFontColor.valueToColorCode((float) durability / (float) ref),
- Util.df.format(durability),
- TextFormatting.GRAY.toString(),
- COLOR_Durability,
- Util.df.format(ref)) + TextFormatting.RESET;
- }
-
- public static String formatArmorRating(int percent)
- {
- return formatNumber(LOC_ArmorRating, COLOR_ArmorRating, percent);
- }
-
- public static String formatArmorToughness(int percent)
- {
- return formatNumber(LOC_ArmorToughness, COLOR_ArmorToughness, percent);
- }
-
- @Override
- public List<String> getLocalizedDesc()
- {
- List<String> info = Lists.newArrayList();
-
- info.add(Util.translate(LOC_DurabilityDesc));
- info.add(Util.translate(LOC_ArmorRatingDesc));
- info.add(Util.translate(LOC_ArmorToughnessDesc));
-
- return info;
- }
-}
diff --git a/src/main/java/lance5057/tDefense/core/materials/ClothMaterialStats.java b/src/main/java/lance5057/tDefense/core/materials/ClothMaterialStats.java
deleted file mode 100644
index f3f953d..0000000
--- a/src/main/java/lance5057/tDefense/core/materials/ClothMaterialStats.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package lance5057.tDefense.core.materials;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import net.minecraft.util.text.TextFormatting;
-import slimeknights.tconstruct.library.Util;
-import slimeknights.tconstruct.library.client.CustomFontColor;
-import slimeknights.tconstruct.library.materials.AbstractMaterialStats;
-
-public class ClothMaterialStats extends AbstractMaterialStats
-{
- public final static String TYPE = "chest";
-
- public final static String LOC_Durability = "stat.cloth.durability.name";
- public final static String LOC_MagicPotency = "stat.cloth.potency.name";
-
- public final static String LOC_DurabilityDesc = "stat.cloth.durability.desc";
- public final static String LOC_MagicPotencyDesc = "stat.cloth.potency.desc";
-
- public final static String COLOR_Durability = CustomFontColor.valueToColorCode(1f);
- public final static String COLOR_MagicPotency = CustomFontColor.encodeColor(215, 100, 100);
-
- public final int durability; // usually between 1 and 1000
- public final float potency; // 1 - 100
-
- public ClothMaterialStats(int durability, float potency)
- {
- super(TYPE);
- this.durability = durability;
- this.potency = potency;
- }
-
- @Override
- public List<String> getLocalizedInfo()
- {
- List<String> info = Lists.newArrayList();
-
- info.add(formatDurability(durability));
- info.add(formatMagicPotency(potency));
-
- return info;
- }
-
- public static String formatDurability(int durability)
- {
- return formatNumber(LOC_Durability, COLOR_Durability, durability);
- }
-
- public static String formatDurability(int durability, int ref)
- {
- return String.format("%s: %s%s%s/%s%s",
- Util.translate(LOC_Durability),
- CustomFontColor.valueToColorCode((float) durability / (float) ref),
- Util.df.format(durability),
- TextFormatting.GRAY.toString(),
- COLOR_Durability,
- Util.df.format(ref)) + TextFormatting.RESET;
- }
-
- public static String formatMagicPotency(float potency2)
- {
- return formatNumber(LOC_MagicPotency, COLOR_MagicPotency, potency2);
- }
-
- @Override
- public List<String> getLocalizedDesc()
- {
- List<String> info = Lists.newArrayList();
-
- info.add(Util.translate(LOC_DurabilityDesc));
- info.add(Util.translate(LOC_MagicPotencyDesc));
-
- return info;
- }
-} \ No newline at end of file
diff --git a/src/main/java/lance5057/tDefense/core/materials/HelmMaterialStats.java b/src/main/java/lance5057/tDefense/core/materials/HelmMaterialStats.java
deleted file mode 100644
index c094aca..0000000
--- a/src/main/java/lance5057/tDefense/core/materials/HelmMaterialStats.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package lance5057.tDefense.core.materials;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import net.minecraft.util.text.TextFormatting;
-import slimeknights.tconstruct.library.Util;
-import slimeknights.tconstruct.library.client.CustomFontColor;
-import slimeknights.tconstruct.library.materials.AbstractMaterialStats;
-
-public class HelmMaterialStats extends AbstractMaterialStats
-{
- public final static String TYPE = "helm";
-
- public final static String LOC_Durability = "stat.helm.armor.durability.name";
- public final static String LOC_ArmorRating = "stat.helm.armor.rating.name";
- public final static String LOC_ArmorToughness = "stat.helm.armor.toughness.name";
-
- public final static String LOC_DurabilityDesc = "stat.helm.armor.durability.desc";
- public final static String LOC_ArmorRatingDesc = "stat.helm.armor.rating.desc";
- public final static String LOC_ArmorToughnessDesc = "stat.helm.armor.toughness.desc";
-
- public final static String COLOR_Durability = CustomFontColor.valueToColorCode(1f);
- public final static String COLOR_ArmorRating = CustomFontColor.encodeColor(215, 100, 100);
- public final static String COLOR_ArmorToughness = CustomFontColor.encodeColor(215, 100, 100);
-
- public final int durability; // usually between 1 and 1000
- public final int rating; // 1 - 20
- public final int toughness;
-
- public HelmMaterialStats(int durability, int rating, int toughness)
- {
- super(TYPE);
- this.durability = durability;
- this.rating = rating;
- this.toughness = toughness;
- }
-
- @Override
- public List<String> getLocalizedInfo()
- {
- List<String> info = Lists.newArrayList();
-
- info.add(formatDurability(durability));
- info.add(formatArmorRating(rating));
- info.add(formatArmorToughness(toughness));
-
- return info;
- }
-
- public static String formatDurability(int durability)
- {
- return formatNumber(LOC_Durability, COLOR_Durability, durability);
- }
-
- public static String formatDurability(int durability, int ref)
- {
- return String.format("%s: %s%s%s/%s%s",
- Util.translate(LOC_Durability),
- CustomFontColor.valueToColorCode((float) durability / (float) ref),
- Util.df.format(durability),
- TextFormatting.GRAY.toString(),
- COLOR_Durability,
- Util.df.format(ref)) + TextFormatting.RESET;
- }
-
- public static String formatArmorRating(int percent)
- {
- return formatNumber(LOC_ArmorRating, COLOR_ArmorRating, percent);
- }
-
- public static String formatArmorToughness(int percent)
- {
- return formatNumber(LOC_ArmorToughness, COLOR_ArmorToughness, percent);
- }
-
- @Override
- public List<String> getLocalizedDesc()
- {
- List<String> info = Lists.newArrayList();
-
- info.add(Util.translate(LOC_DurabilityDesc));
- info.add(Util.translate(LOC_ArmorRatingDesc));
- info.add(Util.translate(LOC_ArmorToughnessDesc));
-
- return info;
- }
-}
diff --git a/src/main/java/lance5057/tDefense/core/materials/LegsMaterialStats.java b/src/main/java/lance5057/tDefense/core/materials/LegsMaterialStats.java
deleted file mode 100644
index e59545e..0000000
--- a/src/main/java/lance5057/tDefense/core/materials/LegsMaterialStats.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package lance5057.tDefense.core.materials;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import net.minecraft.util.text.TextFormatting;
-import slimeknights.tconstruct.library.Util;
-import slimeknights.tconstruct.library.client.CustomFontColor;
-import slimeknights.tconstruct.library.materials.AbstractMaterialStats;
-
-public class LegsMaterialStats extends AbstractMaterialStats
-{
- public final static String TYPE = "legs";
-
- public final static String LOC_Durability = "stat.legs.armor.durability.name";
- public final static String LOC_ArmorRating = "stat.legs.armor.rating.name";
- public final static String LOC_ArmorToughness = "stat.legs.armor.toughness.name";
-
- public final static String LOC_DurabilityDesc = "stat.legs.armor.durability.desc";
- public final static String LOC_ArmorRatingDesc = "stat.legs.armor.rating.desc";
- public final static String LOC_ArmorToughnessDesc = "stat.legs.armor.toughness.desc";
-
- public final static String COLOR_Durability = CustomFontColor.valueToColorCode(1f);
- public final static String COLOR_ArmorRating = CustomFontColor.encodeColor(215, 100, 100);
- public final static String COLOR_ArmorToughness = CustomFontColor.encodeColor(215, 100, 100);
-
- public final int durability; // usually between 1 and 1000
- public final int rating; // 1 - 20
- public final int toughness;
-
- public LegsMaterialStats(int durability, int rating, int toughness)
- {
- super(TYPE);
- this.durability = durability;
- this.rating = rating;
- this.toughness = toughness;
- }
-
- @Override
- public List<String> getLocalizedInfo()
- {
- List<String> info = Lists.newArrayList();
-
- info.add(formatDurability(durability));
- info.add(formatArmorRating(rating));
- info.add(formatArmorToughness(toughness));
-
- return info;
- }
-
- public static String formatDurability(int durability)
- {
- return formatNumber(LOC_Durability, COLOR_Durability, durability);
- }
-
- public static String formatDurability(int durability, int ref)
- {
- return String.format("%s: %s%s%s/%s%s",
- Util.translate(LOC_Durability),
- CustomFontColor.valueToColorCode((float) durability / (float) ref),
- Util.df.format(durability),
- TextFormatting.GRAY.toString(),
- COLOR_Durability,
- Util.df.format(ref)) + TextFormatting.RESET;
- }
-
- public static String formatArmorRating(int percent)
- {
- return formatNumber(LOC_ArmorRating, COLOR_ArmorRating, percent);
- }
-
- public static String formatArmorToughness(int percent)
- {
- return formatNumber(LOC_ArmorToughness, COLOR_ArmorToughness, percent);
- }
-
- @Override
- public List<String> getLocalizedDesc()
- {
- List<String> info = Lists.newArrayList();
-
- info.add(Util.translate(LOC_DurabilityDesc));
- info.add(Util.translate(LOC_ArmorRatingDesc));
- info.add(Util.translate(LOC_ArmorToughnessDesc));
-
- return info;
- }
-}
diff --git a/src/main/java/lance5057/tDefense/core/materials/ShieldMaterialStats.java b/src/main/java/lance5057/tDefense/core/materials/ShieldMaterialStats.java
index 42831eb..bad520d 100644
--- a/src/main/java/lance5057/tDefense/core/materials/ShieldMaterialStats.java
+++ b/src/main/java/lance5057/tDefense/core/materials/ShieldMaterialStats.java
@@ -2,16 +2,12 @@ package lance5057.tDefense.core.materials;
import java.util.List;
-import net.minecraft.util.text.TextFormatting;
-
import com.google.common.collect.Lists;
-import slimeknights.tconstruct.library.TinkerRegistry;
+import net.minecraft.util.text.TextFormatting;
import slimeknights.tconstruct.library.Util;
import slimeknights.tconstruct.library.client.CustomFontColor;
import slimeknights.tconstruct.library.materials.AbstractMaterialStats;
-import slimeknights.tconstruct.library.materials.Material;
-import slimeknights.tconstruct.library.utils.HarvestLevels;
public class ShieldMaterialStats extends AbstractMaterialStats {
diff --git a/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java b/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java
index 4be694b..c444cba 100644
--- a/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java
+++ b/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java
@@ -55,188 +55,239 @@ import slimeknights.tconstruct.smeltery.block.BlockMolten;
import slimeknights.tconstruct.tools.TinkerMaterials;
@Mod.EventBusSubscriber(modid = Reference.MOD_ID)
-public class TDMaterials
-{
+public class TDMaterials {
// public static final List<Material> materials = Lists.newArrayList();
-
- String SHIELD = ShieldMaterialStats.TYPE;
- String HELM = HelmMaterialStats.TYPE;
- String CHEST = ChestMaterialStats.TYPE;
- String LEGS = LegsMaterialStats.TYPE;
- String BOOTS = BootsMaterialStats.TYPE;
- String BAUBLE = BaubleMaterialStats.TYPE;
-
- public static final Map<String, Material> materials = new THashMap<>();
- public static final Map<String, MaterialIntegration> materialIntegrations = new THashMap<>();
- public static final Collection<String> deferredMaterials = new THashSet<>();
-
- public static final Map<String, Integer> colors = new THashMap();
- public static final Map<String, FluidMolten> fluids = new THashMap();
-
- public static Material black;
- public static Material red;
- public static Material green;
- public static Material brown;
- public static Material blue;
- public static Material purple;
- public static Material cyan;
- public static Material lightgray;
- public static Material gray;
- public static Material pink;
- public static Material lime;
- public static Material yellow;
- public static Material lightblue;
- public static Material magenta;
- public static Material orange;
- public static Material white;
-
- public static FluidMolten fluidVile = fluids.put("vile", (FluidMolten) new FluidMolten("vile", 0x111111).setTemperature(0));
- public static FluidMolten fluidVibrant = fluids.put("vibrant", new FluidMolten("vibrant", 0x76ff00));
- public static FluidMolten fluidSlush = fluids.put("slush", (FluidMolten) new FluidMolten("slush", 0xbfefff).setTemperature(0));
- public static FluidMolten fluidQuartz = fluids.put("quartz", (FluidMolten) new FluidMolten("quartz", 0xdddddd).setTemperature(75));
- public static FluidMolten fluidChorusJuice = fluids.put("chorusjuice", new FluidMolten("chorusjuice", 0xd982ff));
- public static FluidMolten fluidDragonsBreath = fluids.put("dragonsbreath", new FluidMolten("dragonsbreath", 0x7f00b7));
+ ArmorMaterialStats ams = new ArmorMaterialStats(0, 0, 0, 0, "");
+
+ String SHIELD = ShieldMaterialStats.TYPE;
+ String HELM = ArmorMaterialStats.HelmMaterialStats.TYPE;
+ String CHEST = ArmorMaterialStats.ChestMaterialStats.TYPE;
+ String LEGS = ArmorMaterialStats.LegsMaterialStats.TYPE;
+ String BOOTS = ArmorMaterialStats.FeetMaterialStats.TYPE;
+ String BAUBLE = BaubleMaterialStats.TYPE;
+
+ public static final Map<String, Material> materials = new THashMap<>();
+ public static final Map<String, MaterialIntegration> materialIntegrations = new THashMap<>();
+ public static final Collection<String> deferredMaterials = new THashSet<>();
+
+ public static final Map<String, Integer> colors = new THashMap();
+ public static final Map<String, FluidMolten> fluids = new THashMap();
+
+ public static Material black;
+ public static Material red;
+ public static Material green;
+ public static Material brown;
+ public static Material blue;
+ public static Material purple;
+ public static Material cyan;
+ public static Material lightgray;
+ public static Material gray;
+ public static Material pink;
+ public static Material lime;
+ public static Material yellow;
+ public static Material lightblue;
+ public static Material magenta;
+ public static Material orange;
+ public static Material white;
+
+ public static FluidMolten fluidVile = fluids.put("vile",
+ (FluidMolten) new FluidMolten("vile", 0x111111).setTemperature(0));
+ public static FluidMolten fluidVibrant = fluids.put("vibrant", new FluidMolten("vibrant", 0x76ff00));
+ public static FluidMolten fluidSlush = fluids.put("slush",
+ (FluidMolten) new FluidMolten("slush", 0xbfefff).setTemperature(0));
+ public static FluidMolten fluidQuartz = fluids.put("quartz",
+ (FluidMolten) new FluidMolten("quartz", 0xdddddd).setTemperature(75));
+ public static FluidMolten fluidChorusJuice = fluids.put("chorusjuice", new FluidMolten("chorusjuice", 0xd982ff));
+ public static FluidMolten fluidDragonsBreath = fluids.put("dragonsbreath",
+ new FluidMolten("dragonsbreath", 0x7f00b7));
List<TDMatHelper> materials_master = new ArrayList<>();
// Base
List<TDMatHelper> materials_base = new ArrayList<>(Arrays.asList(
- new TDMatHelper("aeonsteel", 0xa470e0, fluids.put("aeonsteel", new FluidMolten("aeonsteel", 0xa470e0)), true).setHead(new HeadMaterialStats(500, 15.00f, 4.0f, HarvestLevels.COBALT))
- .setHandle(new HandleMaterialStats(1.1f, 0))
- .setExtra(new ExtraMaterialStats(50))
- .setShield(new ShieldMaterialStats(500 / 4, 33))
- .setBow(new BowMaterialStats(0.75f, 1.0f, 2.5f)),
- new TDMatHelper("queensgold", 0xdcff00, fluids.put("queensgold", new FluidMolten("queensgold", 0xdcff00)), true).setHead(new HeadMaterialStats(70, 3.00f, 3.00f, HarvestLevels.IRON))
- .setHandle(new HandleMaterialStats(1.05f, 35))
- .setExtra(new ExtraMaterialStats(20))
- .setShield(new ShieldMaterialStats(70 / 4, 33))
- .setBow(new BowMaterialStats(1.1f, 1.0f, 0.5f)),
- new TDMatHelper("dogbearium", 0x6d3300, fluids.put("dogbearium", new FluidMolten("dogbearium", 0x6d3300)), true).setHead(new HeadMaterialStats(150, 5.00f, 9.00f, HarvestLevels.DIAMOND))
- .setHandle(new HandleMaterialStats(0.85f, 75))
- .setExtra(new ExtraMaterialStats(75))
- .setShield(new ShieldMaterialStats(70 / 4, 33))
- .setBow(new BowMaterialStats(0.1f, 0.5f, 5.5f)),
- new TDMatHelper("sinisterium", 0x210000, fluids.put("sinisterium", new FluidMolten("sinisterium", 0x210000)), true).setHead(new HeadMaterialStats(224, 5.00f, 5.00f, HarvestLevels.DIAMOND))
- .setHandle(new HandleMaterialStats(0.75f, 99))
- .setExtra(new ExtraMaterialStats(99))
- .setShield(new ShieldMaterialStats(224 / 4, 33))
- .setBow(new BowMaterialStats(2.1f, 1.6f, 7.2f)),
- new TDMatHelper("nihilite", 0x000021, fluids.put("nihilite", new FluidMolten("nihilite", 0x000021)), true).setHead(new HeadMaterialStats(400, 9.7f, 7.1f, HarvestLevels.COBALT))
- .setHandle(new HandleMaterialStats(0.9f, 70))
- .setExtra(new ExtraMaterialStats(74))
- .setShield(new ShieldMaterialStats(400 / 4, 33))
- .setBow(new BowMaterialStats(0.9f, 1.7f, -1f)),
- new TDMatHelper("orichalcum", 0xffc700, fluids.put("orichalcum", new FluidMolten("orichalcum", 0xffc700)), true).setHead(new HeadMaterialStats(180, 5.3f, 6.23f, HarvestLevels.OBSIDIAN))
- .setHandle(new HandleMaterialStats(1.1f, 25))
- .setExtra(new ExtraMaterialStats(35))
- .setShield(new ShieldMaterialStats(180 / 4, 33))
- .setBow(new BowMaterialStats(1.9f, 1.9f, 2.3f)),
- new TDMatHelper("pandorium", 0x7f6a00, fluids.put("pandorium", new FluidMolten("pandorium", 0x7f6a00)), true).setHead(new HeadMaterialStats(999, 10.2f, 8.72f, HarvestLevels.OBSIDIAN))
- .setHandle(new HandleMaterialStats(0.4f, 999))
- .setExtra(new ExtraMaterialStats(99))
- .setShield(new ShieldMaterialStats(999 / 4, 33))
- .setBow(new BowMaterialStats(3f, 0.9f, 9f)),
- new TDMatHelper("rosegold", 0xff9b84, fluids.put("rosegold", new FluidMolten("rosegold", 0xff9b84)), true).setHead(new HeadMaterialStats(99, 4f, 1f, HarvestLevels.STONE))
- .setHandle(new HandleMaterialStats(1.5f, -90))
- .setExtra(new ExtraMaterialStats(-90))
- .setShield(new ShieldMaterialStats(99 / 4, 33))
- .setBow(new BowMaterialStats(0.1f, 0.1f, -2f)),
- new TDMatHelper("platinum", 0xe8e8e8, fluids.put("platinum", new FluidMolten("platinum", 0xe8e8e8)), true).setHead(new HeadMaterialStats(99, 3.7f, 4f, HarvestLevels.IRON))
- .setHandle(new HandleMaterialStats(1.5f, -90))
- .setExtra(new ExtraMaterialStats(-90))
- .setShield(new ShieldMaterialStats(99 / 4, 33))
- .setBow(new BowMaterialStats(0.1f, 0.1f, -2f)),
- new TDMatHelper("brass", 0xdbb332, fluids.put("brass", new FluidMolten("brass", 0xdbb332)), true).setHead(new HeadMaterialStats(380, 5f, 3f, HarvestLevels.IRON))
- .setHandle(new HandleMaterialStats(0.85f, 90))
- .setExtra(new ExtraMaterialStats(75))
- .setShield(new ShieldMaterialStats(380 / 4, 33))
- .setBow(new BowMaterialStats(0.1f, 0.5f, -1f)),
- new TDMatHelper("silver", 0x9e9e9e, new FluidMolten("silver", 0x9e9e9e), false),
- new TDMatHelper("gold", 0xfff428, TinkerFluids.gold, true).setIngot(Items.GOLD_INGOT)
- .setNugget(Items.GOLD_NUGGET)
- .setHead(new HeadMaterialStats(100, 1f, 1f, HarvestLevels.STONE))
- .setHandle(new HandleMaterialStats(0.25f, 10))
- .setExtra(new ExtraMaterialStats(25))
- .setShield(new ShieldMaterialStats(100 / 4, 33))
- .setBow(new BowMaterialStats(0.2f, 0.4f, -1f)),
- new TDMatHelper("valyriansteel", 0xe2d9e2, fluids.put("valyriansteel", new FluidMolten("valyriansteel", 0xe2d9e2)), true).setHead(new HeadMaterialStats(610, 7f, 7f, HarvestLevels.OBSIDIAN))
- .setHandle(new HandleMaterialStats(0.9f, 180))
- .setExtra(new ExtraMaterialStats(125))
- .setShield(new ShieldMaterialStats(610 / 4, 33))
- .setBow(new BowMaterialStats(1.6f, 1.5f, 3f)),
- new TDMatHelper("froststeel", 0xc6dcff, fluids.put("froststeel", new FluidMolten("froststeel", 0xc6dcff)), true).setHead(new HeadMaterialStats(610, 7f, 7f, HarvestLevels.OBSIDIAN))
- .setHandle(new HandleMaterialStats(1.1f, 110))
- .setExtra(new ExtraMaterialStats(125))
- .setShield(new ShieldMaterialStats(610 / 4, 33))
- .setBow(new BowMaterialStats(1.6f, 1.5f, 3f)),
- // new TDMatHelper("resonatingcrystal", 0xffffff,
- // fluids.put("resonatingcrystal", new FluidMolten("resonatingcrystal",
- // 0xffffff)), true),
- new TDMatHelper("pureardite", 0xff4300, fluids.put("pureardite", new FluidMolten("pureardite", 0xff4300)), true).setHead(new HeadMaterialStats(1200, 3.5f, 3.6f, HarvestLevels.COBALT))
- .setHandle(new HandleMaterialStats(1.4f, -200))
- .setExtra(new ExtraMaterialStats(450))
- .setShield(new ShieldMaterialStats(1200 / 4, 33))
- .setBow(new BowMaterialStats(0.45f, 0.8f, 1f)),
- new TDMatHelper("purecobalt", 0x547eff, fluids.put("purecobalt", new FluidMolten("purecobalt", 0x547eff)), true).setHead(new HeadMaterialStats(780, 13f, 4.1f, HarvestLevels.COBALT))
- .setHandle(new HandleMaterialStats(1.4f, 100))
- .setExtra(new ExtraMaterialStats(300))
- .setShield(new ShieldMaterialStats(780 / 4, 33))
- .setBow(new BowMaterialStats(0.3f, 1.3f, 3f)),
- new TDMatHelper("puremanyullyn", 0xd044ff, fluids.put("puremanyullyn", new FluidMolten("puremanyullyn", 0xd044ff)), true).setHead(new HeadMaterialStats(820, 7.02f, 9.1f, HarvestLevels.COBALT))
- .setHandle(new HandleMaterialStats(0.5f, 350))
- .setExtra(new ExtraMaterialStats(350))
- .setShield(new ShieldMaterialStats(820 / 4, 33))
- .setBow(new BowMaterialStats(0.65f, 1.2f, 4f)),
- new TDMatHelper("glass", 0xffffff, TinkerFluids.glass, true).setHead(new HeadMaterialStats(6, 4f, 7f, HarvestLevels.STONE))
- .setHandle(new HandleMaterialStats(0.1f, -45))
- .setExtra(new ExtraMaterialStats(-45))
- .setShield(new ShieldMaterialStats(6 / 4, 33))
- .setBow(new BowMaterialStats(0.1f, 0.1f, -2f)),
- new TDMatHelper("ice", 0xdcff00, false),
- new TDMatHelper("purifiedgold", 0xffe242, fluids.put("purifiedgold", new FluidMolten("purifiedgold", 0xffe242)), true),
- new TDMatHelper("purifiedsilver", 0xefefef, fluids.put("purifiedsilver", new FluidMolten("purifiedsilver", 0xefefef)), true)));
+ new TDMatHelper("aeonsteel", 0xa470e0, fluids.put("aeonsteel", new FluidMolten("aeonsteel", 0xa470e0)),
+ true).setHead(new HeadMaterialStats(500, 15.00f, 4.0f, HarvestLevels.COBALT))
+ .setHandle(new HandleMaterialStats(1.1f, 0)).setExtra(new ExtraMaterialStats(50))
+ .setShield(new ShieldMaterialStats(500 / 4, 85))
+ .setBow(new BowMaterialStats(0.75f, 1.0f, 2.5f))
+ .setHelm(ams.new HelmMaterialStats(500, 2, 2, 0f))
+ .setChest(ams.new ChestMaterialStats(500, 6, 3, 0f))
+ .setLegs(ams.new LegsMaterialStats(500, 5, 3, 0f))
+ .setBoots(ams.new FeetMaterialStats(500, 3, 2, 0f)),
+ new TDMatHelper("queensgold", 0xdcff00, fluids.put("queensgold", new FluidMolten("queensgold", 0xdcff00)),
+ true).setHead(new HeadMaterialStats(70, 3.00f, 3.00f, HarvestLevels.IRON))
+ .setHandle(new HandleMaterialStats(1.05f, -45)).setExtra(new ExtraMaterialStats(20))
+ .setShield(new ShieldMaterialStats(70 / 4, 57))
+ .setBow(new BowMaterialStats(1.1f, 1.0f, 0.5f))
+ .setHelm(ams.new HelmMaterialStats(70, 2, 1, 20f))
+ .setChest(ams.new ChestMaterialStats(70, 6, 2, 30f))
+ .setLegs(ams.new LegsMaterialStats(70, 5, 2, 20f))
+ .setBoots(ams.new FeetMaterialStats(70, 2, 1, 15f)),
+ new TDMatHelper("dogbearium", 0x6d3300, fluids.put("dogbearium", new FluidMolten("dogbearium", 0x6d3300)),
+ true).setHead(new HeadMaterialStats(150, 5.00f, 9.00f, HarvestLevels.DIAMOND))
+ .setHandle(new HandleMaterialStats(0.85f, 75)).setExtra(new ExtraMaterialStats(75))
+ .setShield(new ShieldMaterialStats(150 / 4, 75))
+ .setBow(new BowMaterialStats(0.1f, 0.5f, 5.5f))
+ .setHelm(ams.new HelmMaterialStats(150, 3, 3, -60f))
+ .setChest(ams.new ChestMaterialStats(150, 8, 4, -60f))
+ .setLegs(ams.new LegsMaterialStats(150, 6, 4, -60f))
+ .setBoots(ams.new FeetMaterialStats(150, 3, 3, -60f)),
+ new TDMatHelper("sinisterium", 0x210000,
+ fluids.put("sinisterium", new FluidMolten("sinisterium", 0x210000)), true)
+ .setHead(new HeadMaterialStats(224, 5.00f, 5.00f, HarvestLevels.DIAMOND))
+ .setHandle(new HandleMaterialStats(0.75f, 99)).setExtra(new ExtraMaterialStats(99))
+ .setShield(new ShieldMaterialStats(224 / 4, 55))
+ .setBow(new BowMaterialStats(2.1f, 1.6f, 7.2f))
+ .setHelm(ams.new HelmMaterialStats(224, 2, 0, 9.5f))
+ .setChest(ams.new ChestMaterialStats(224, 6, 0, 10.5f))
+ .setLegs(ams.new LegsMaterialStats(224, 5, 0, 10.0f))
+ .setBoots(ams.new FeetMaterialStats(224, 2, 0, 9.5f)),
+ new TDMatHelper("nihilite", 0x000021, fluids.put("nihilite", new FluidMolten("nihilite", 0x000021)), true)
+ .setHead(new HeadMaterialStats(400, 9.7f, 7.1f, HarvestLevels.COBALT))
+ .setHandle(new HandleMaterialStats(0.9f, 70)).setExtra(new ExtraMaterialStats(74))
+ .setShield(new ShieldMaterialStats(400 / 4, 95)).setBow(new BowMaterialStats(0.9f, 1.7f, -1f))
+ .setHelm(ams.new HelmMaterialStats(400, 2, 0, 19))
+ .setChest(ams.new ChestMaterialStats(400, 5, 0, 15))
+ .setLegs(ams.new LegsMaterialStats(400, 4, 0, 15))
+ .setBoots(ams.new FeetMaterialStats(400, 2, 0, 19)),
+ new TDMatHelper("orichalcum", 0xffc700, fluids.put("orichalcum", new FluidMolten("orichalcum", 0xffc700)),
+ true).setHead(new HeadMaterialStats(180, 5.3f, 6.23f, HarvestLevels.OBSIDIAN))
+ .setHandle(new HandleMaterialStats(1.1f, 25)).setExtra(new ExtraMaterialStats(35))
+ .setShield(new ShieldMaterialStats(180 / 4, 70))
+ .setBow(new BowMaterialStats(1.9f, 1.9f, 2.3f))
+ .setHelm(ams.new HelmMaterialStats(180, 2, 2, 20.5f))
+ .setChest(ams.new ChestMaterialStats(180, 6, 3, 20.5f))
+ .setLegs(ams.new LegsMaterialStats(180, 5, 3, 20.5f))
+ .setBoots(ams.new FeetMaterialStats(180, 2, 3, 20.5f)),
+ new TDMatHelper("pandorium", 0x7f6a00, fluids.put("pandorium", new FluidMolten("pandorium", 0x7f6a00)),
+ true).setHead(new HeadMaterialStats(999, 10.2f, 8.72f, HarvestLevels.OBSIDIAN))
+ .setHandle(new HandleMaterialStats(0.4f, 999)).setExtra(new ExtraMaterialStats(99))
+ .setShield(new ShieldMaterialStats(999 / 4, 100)).setBow(new BowMaterialStats(3f, 0.9f, 9f))
+ .setHelm(ams.new HelmMaterialStats(999, 3, 3, -70.0f))
+ .setChest(ams.new ChestMaterialStats(999, 8, 4, -70.0f))
+ .setLegs(ams.new LegsMaterialStats(999, 6, 4, -70.0f))
+ .setBoots(ams.new FeetMaterialStats(999, 3, 3, -70.0f)),
+ new TDMatHelper("rosegold", 0xff9b84, fluids.put("rosegold", new FluidMolten("rosegold", 0xff9b84)), true)
+ .setHead(new HeadMaterialStats(99, 4f, 1f, HarvestLevels.STONE))
+ .setHandle(new HandleMaterialStats(1.5f, -90)).setExtra(new ExtraMaterialStats(-90))
+ .setShield(new ShieldMaterialStats(99 / 4, 24)).setBow(new BowMaterialStats(0.1f, 0.1f, -2f))
+ .setHelm(ams.new HelmMaterialStats(99, 1, 0, 23.0f))
+ .setChest(ams.new ChestMaterialStats(99, 4, 0, 23.0f))
+ .setLegs(ams.new LegsMaterialStats(99, 3, 0, 23.0f))
+ .setBoots(ams.new FeetMaterialStats(99, 1, 0, 23.0f)),
+ new TDMatHelper("platinum", 0xe8e8e8, fluids.put("platinum", new FluidMolten("platinum", 0xe8e8e8)), true)
+ .setHead(new HeadMaterialStats(99, 3.7f, 4f, HarvestLevels.IRON))
+ .setHandle(new HandleMaterialStats(1.5f, -90)).setExtra(new ExtraMaterialStats(-90))
+ .setShield(new ShieldMaterialStats(99 / 4, 14)).setBow(new BowMaterialStats(0.1f, 0.1f, -2f))
+ .setHelm(ams.new HelmMaterialStats(99, 1, 1, 19.0f))
+ .setChest(ams.new ChestMaterialStats(99, 4, 1, 19.0f))
+ .setLegs(ams.new LegsMaterialStats(99, 3, 1, 19.0f))
+ .setBoots(ams.new FeetMaterialStats(99, 1, 1, 19.0f)),
+ new TDMatHelper("brass", 0xdbb332, fluids.put("brass", new FluidMolten("brass", 0xdbb332)), true)
+ .setHead(new HeadMaterialStats(380, 5f, 3f, HarvestLevels.IRON))
+ .setHandle(new HandleMaterialStats(0.85f, 90)).setExtra(new ExtraMaterialStats(75))
+ .setShield(new ShieldMaterialStats(380 / 4, 50)).setBow(new BowMaterialStats(0.1f, 0.5f, -1f))
+ .setHelm(ams.new HelmMaterialStats(380, 2, 1, 4.5f))
+ .setChest(ams.new ChestMaterialStats(380, 3, 2, 4.5f))
+ .setLegs(ams.new LegsMaterialStats(380, 2, 2, 4.5f))
+ .setBoots(ams.new FeetMaterialStats(380, 2, 2, 4.5f)),
+ new TDMatHelper("silver", 0x9e9e9e, new FluidMolten("silver", 0x9e9e9e), false),
+ new TDMatHelper("gold", 0xfff428, TinkerFluids.gold, true).setIngot(Items.GOLD_INGOT)
+ .setNugget(Items.GOLD_NUGGET).setHead(new HeadMaterialStats(100, 1f, 1f, HarvestLevels.STONE))
+ .setHandle(new HandleMaterialStats(0.25f, 10)).setExtra(new ExtraMaterialStats(25))
+ .setShield(new ShieldMaterialStats(100 / 4, 14)).setBow(new BowMaterialStats(0.2f, 0.4f, -1f))
+ .setHelm(ams.new HelmMaterialStats(100, 1, 0, 33f))
+ .setChest(ams.new ChestMaterialStats(100, 4, 0, 33f))
+ .setLegs(ams.new LegsMaterialStats(100, 3, 0, 33f))
+ .setBoots(ams.new FeetMaterialStats(100, 1, 0, 33f)),
+ new TDMatHelper("valyriansteel", 0xe2d9e2,
+ fluids.put("valyriansteel", new FluidMolten("valyriansteel", 0xe2d9e2)), true)
+ .setHead(new HeadMaterialStats(610, 7f, 7f, HarvestLevels.OBSIDIAN))
+ .setHandle(new HandleMaterialStats(0.9f, 180)).setExtra(new ExtraMaterialStats(125))
+ .setShield(new ShieldMaterialStats(610 / 4, 85))
+ .setBow(new BowMaterialStats(1.6f, 1.5f, 3f))
+ .setHelm(ams.new HelmMaterialStats(610, 3, 3, 0))
+ .setChest(ams.new ChestMaterialStats(610, 7, 4, 0))
+ .setLegs(ams.new LegsMaterialStats(610, 6, 2, 0))
+ .setBoots(ams.new FeetMaterialStats(610, 3, 3, 0)),
+ new TDMatHelper("froststeel", 0xc6dcff, fluids.put("froststeel", new FluidMolten("froststeel", 0xc6dcff)),
+ true).setHead(new HeadMaterialStats(610, 7f, 7f, HarvestLevels.OBSIDIAN))
+ .setHandle(new HandleMaterialStats(1.1f, 110)).setExtra(new ExtraMaterialStats(125))
+ .setShield(new ShieldMaterialStats(610 / 4, 85))
+ .setBow(new BowMaterialStats(1.6f, 1.5f, 3f))
+ .setHelm(ams.new HelmMaterialStats(610, 2, 2, 0))
+ .setChest(ams.new ChestMaterialStats(610, 6, 3, 0))
+ .setLegs(ams.new LegsMaterialStats(610, 5, 2, 0))
+ .setBoots(ams.new FeetMaterialStats(610, 3, 1, 0)),
+ new TDMatHelper("pureardite", 0xff4300, fluids.put("pureardite", new FluidMolten("pureardite", 0xff4300)),
+ true).setHead(new HeadMaterialStats(1200, 3.5f, 3.6f, HarvestLevels.COBALT))
+ .setHandle(new HandleMaterialStats(1.4f, -200)).setExtra(new ExtraMaterialStats(450))
+ .setShield(new ShieldMaterialStats(1200 / 4, 33))
+ .setBow(new BowMaterialStats(0.45f, 0.8f, 1f)),
+ new TDMatHelper("purecobalt", 0x547eff, fluids.put("purecobalt", new FluidMolten("purecobalt", 0x547eff)),
+ true).setHead(new HeadMaterialStats(780, 13f, 4.1f, HarvestLevels.COBALT))
+ .setHandle(new HandleMaterialStats(1.4f, 100)).setExtra(new ExtraMaterialStats(300))
+ .setShield(new ShieldMaterialStats(780 / 4, 33))
+ .setBow(new BowMaterialStats(0.3f, 1.3f, 3f)),
+ new TDMatHelper("puremanyullyn", 0xd044ff,
+ fluids.put("puremanyullyn", new FluidMolten("puremanyullyn", 0xd044ff)), true)
+ .setHead(new HeadMaterialStats(820, 7.02f, 9.1f, HarvestLevels.COBALT))
+ .setHandle(new HandleMaterialStats(0.5f, 350)).setExtra(new ExtraMaterialStats(350))
+ .setShield(new ShieldMaterialStats(820 / 4, 33))
+ .setBow(new BowMaterialStats(0.65f, 1.2f, 4f)),
+ new TDMatHelper("glass", 0xffffff, TinkerFluids.glass, true)
+ .setHead(new HeadMaterialStats(6, 4f, 7f, HarvestLevels.STONE))
+ .setHandle(new HandleMaterialStats(0.1f, -45)).setExtra(new ExtraMaterialStats(-45))
+ .setShield(new ShieldMaterialStats(6 / 4, 33)).setBow(new BowMaterialStats(0.1f, 0.1f, -2f)),
+ new TDMatHelper("ice", 0xdcff00, false),
+ new TDMatHelper("purifiedgold", 0xffe242,
+ fluids.put("purifiedgold", new FluidMolten("purifiedgold", 0xffe242)), true),
+ new TDMatHelper("purifiedsilver", 0xefefef,
+ fluids.put("purifiedsilver", new FluidMolten("purifiedsilver", 0xefefef)), true)));
// Jokes
- List<TDMatHelper> materials_joke = new ArrayList<>(Arrays.asList(new TDMatHelper("cheese", 0xffe900, fluids.put("cheese", new FluidMolten("cheese", 0xffe900)), true),
- new TDMatHelper("bread", 0x89732a),
- new TDMatHelper("melon", 0xff77a4)));
+ List<TDMatHelper> materials_joke = new ArrayList<>(Arrays.asList(
+ new TDMatHelper("cheese", 0xffe900, fluids.put("cheese", new FluidMolten("cheese", 0xffe900)), true),
+ new TDMatHelper("bread", 0x89732a), new TDMatHelper("melon", 0xff77a4)));
// Holiday
- List<TDMatHelper> materials_xmas = new ArrayList<>(Arrays.asList(new TDMatHelper("redcandy", 0xff0000).setNugget(TinkersDefense.holiday.item_redmintcane),
- new TDMatHelper("greencandy", 0x00ff00).setNugget(TinkersDefense.holiday.item_greenmintcane)));
+ List<TDMatHelper> materials_xmas = new ArrayList<>(
+ Arrays.asList(new TDMatHelper("redcandy", 0xff0000).setNugget(TinkersDefense.holiday.item_redmintcane),
+ new TDMatHelper("greencandy", 0x00ff00).setNugget(TinkersDefense.holiday.item_greenmintcane)));
// Gems
List<TDMatHelper> materials_gems = new ArrayList<>(Arrays.asList(new TDMatHelper("sapphire", 0x6e00ff),
- new TDMatHelper("ruby", 0xff0061, true, true),
- new TDMatHelper("emerald", 0x16cc4f, true, true).setGem(Items.EMERALD),
- new TDMatHelper("diamond", 0x96ecf2, true, true).setGem(Items.DIAMOND),
- new TDMatHelper("starsapphire", 0x6e00ff, true, true),
- new TDMatHelper("starruby", 0xff0061, true, true),
- new TDMatHelper("citrine", 0xffe877, true, true),
- new TDMatHelper("ghasttear", 0xe8fbff, true, true),
- new TDMatHelper("quartz", 0xede8e8, true, true),
- new TDMatHelper("glowstonecrystal", 0xfff956, true, true),
- new TDMatHelper("enderpearl", 0x2bad3a, true, true),
- new TDMatHelper("amethyst", 0xb436e2, true, true),
- new TDMatHelper("lapis", 0x4349bc, true, true).setGem(new ItemStack(Items.DYE, 1, 4)),
- new TDMatHelper("topaz", 0xffc551, true, true),
- new TDMatHelper("garnet", 0x9e1c1c, true, true),
- new TDMatHelper("opal", 0xe2e2e2, true, true),
- new TDMatHelper("tanzanite", 0x8860e5, true, true),
- new TDMatHelper("amber", 0xdba827, true, true)));
+ new TDMatHelper("ruby", 0xff0061, true, true),
+ new TDMatHelper("emerald", 0x16cc4f, true, true).setGem(Items.EMERALD),
+ new TDMatHelper("diamond", 0x96ecf2, true, true).setGem(Items.DIAMOND),
+ new TDMatHelper("starsapphire", 0x6e00ff, true, true), new TDMatHelper("starruby", 0xff0061, true, true),
+ new TDMatHelper("citrine", 0xffe877, true, true), new TDMatHelper("ghasttear", 0xe8fbff, true, true),
+ new TDMatHelper("quartz", 0xede8e8, true, true), new TDMatHelper("glowstonecrystal", 0xfff956, true, true),
+ new TDMatHelper("enderpearl", 0x2bad3a, true, true), new TDMatHelper("amethyst", 0xb436e2, true, true),
+ new TDMatHelper("lapis", 0x4349bc, true, true).setGem(new ItemStack(Items.DYE, 1, 4)),
+ new TDMatHelper("topaz", 0xffc551, true, true), new TDMatHelper("garnet", 0x9e1c1c, true, true),
+ new TDMatHelper("opal", 0xe2e2e2, true, true), new TDMatHelper("tanzanite", 0x8860e5, true, true),
+ new TDMatHelper("amber", 0xdba827, true, true)));
// Cornucopia
- List<TDMatHelper> materials_cornucopia = new ArrayList<>(Arrays.asList(new TDMatHelper("gallite", 0x198c09, fluids.put("gallite", new FluidMolten("gallite", 0x198c09)), true),
- new TDMatHelper("sundrop", 0xfff987, fluids.put("sundrop", new FluidMolten("sundrop", 0xfff987)), true),
- new TDMatHelper("voidite", 0x450059, fluids.put("voidite", new FluidMolten("voidite", 0x450059)), true),
- new TDMatHelper("solarium", 0xffff31, fluids.put("solarium", new FluidMolten("solarium", 0xffff31)), true),
- new TDMatHelper("dragonsteel", 0x55914d, fluids.put("dragonsteel", new FluidMolten("dragonsteel", 0x55914d)), true),
- new TDMatHelper("blacksteel", 0x383838, fluids.put("blacksteel", new FluidMolten("blacksteel", 0x383838)), true),
- new TDMatHelper("abyssalium", 0x000633, fluids.put("abyssalium", new FluidMolten("abyssalium", 0x000633)), true),
- new TDMatHelper("depthsilver", 0x646782, fluids.put("depthsilver", new FluidMolten("depthsilver", 0x646782)), true),
- new TDMatHelper("moonsilver", 0x777777, fluids.put("moonsilver", new FluidMolten("moonsilver", 0x777777)), true),
- new TDMatHelper("novagold", 0xffc300, fluids.put("novagold", new FluidMolten("novagold", 0xffc300)), true)));
+ List<TDMatHelper> materials_cornucopia = new ArrayList<>(Arrays.asList(
+ new TDMatHelper("gallite", 0x198c09, fluids.put("gallite", new FluidMolten("gallite", 0x198c09)), true),
+ new TDMatHelper("sundrop", 0xfff987, fluids.put("sundrop", new FluidMolten("sundrop", 0xfff987)), true),
+ new TDMatHelper("voidite", 0x450059, fluids.put("voidite", new FluidMolten("voidite", 0x450059)), true),
+ new TDMatHelper("solarium", 0xffff31, fluids.put("solarium", new FluidMolten("solarium", 0xffff31)), true),
+ new TDMatHelper("dragonsteel", 0x55914d,
+ fluids.put("dragonsteel", new FluidMolten("dragonsteel", 0x55914d)), true),
+ new TDMatHelper("blacksteel", 0x383838, fluids.put("blacksteel", new FluidMolten("blacksteel", 0x383838)),
+ true),
+ new TDMatHelper("abyssalium", 0x000633, fluids.put("abyssalium", new FluidMolten("abyssalium", 0x000633)),
+ true),
+ new TDMatHelper("depthsilver", 0x646782,
+ fluids.put("depthsilver", new FluidMolten("depthsilver", 0x646782)), true),
+ new TDMatHelper("moonsilver", 0x777777, fluids.put("moonsilver", new FluidMolten("moonsilver", 0x777777)),
+ true),
+ new TDMatHelper("novagold", 0xffc300, fluids.put("novagold", new FluidMolten("novagold", 0xffc300)),
+ true)));
// // Blood Magic
// List<String> materials_bm = new ArrayList<>(
// Arrays.asList("blankslate", "reinforcedslate", "imbued", "demonic",
@@ -251,11 +302,11 @@ public class TDMaterials
// List<String> materials_pam = new
// ArrayList<>(Arrays.asList("hardenedleather"));
- public static TDOreDictItem ingot;
- public static TDOreDictItem dust;
- public static TDOreDictItem nugget;
- public static TDOreDictItem grain;
- public static TDOreDictItem gem;
+ public static TDOreDictItem ingot;
+ public static TDOreDictItem dust;
+ public static TDOreDictItem nugget;
+ public static TDOreDictItem grain;
+ public static TDOreDictItem gem;
// public static final AbstractTrait axelover = new TraitAxeLover();
// public static final AbstractTrait dulling = new TraitDulling();
@@ -263,46 +314,39 @@ public class TDMaterials
// public static final AbstractTrait barbed = new TraitBarbed();
// public static final AbstractTrait dogtoy = new TraitDogToy();
- static ArrayList<Item> itemList = new ArrayList<Item>();
- static ArrayList<Block> blockList = new ArrayList<Block>();
+ static ArrayList<Item> itemList = new ArrayList<Item>();
+ static ArrayList<Block> blockList = new ArrayList<Block>();
- private static Material mat(String name, int color)
- {
+ private static Material mat(String name, int color) {
Material mat = new Material(name, color);
// materials.add(mat);
return mat;
}
- List<String> getMatNames(List<TDMatHelper> mats)
- {
+ List<String> getMatNames(List<TDMatHelper> mats) {
List<String> r = new ArrayList<String>();
- for (TDMatHelper m : mats)
- {
+ for (TDMatHelper m : mats) {
r.add(m.name);
}
return r;
}
- List<Integer> getMatColors(List<TDMatHelper> mats)
- {
+ List<Integer> getMatColors(List<TDMatHelper> mats) {
List<Integer> r = new ArrayList<Integer>();
- for (TDMatHelper m : mats)
- {
+ for (TDMatHelper m : mats) {
r.add(m.color);
}
return r;
}
- List<FluidMolten> getMatFluids(List<TDMatHelper> mats)
- {
+ List<FluidMolten> getMatFluids(List<TDMatHelper> mats) {
List<FluidMolten> r = new ArrayList<FluidMolten>();
- for (TDMatHelper m : mats)
- {
+ for (TDMatHelper m : mats) {
r.add(m.fluid);
}
@@ -310,8 +354,7 @@ public class TDMaterials
}
@Subscribe
- public void preInit(FMLPreInitializationEvent event)
- {
+ public void preInit(FMLPreInitializationEvent event) {
if (TinkersDefense.config.materials.enableBaseMaterials)
this.materials_master.addAll(materials_base);
@@ -337,8 +380,7 @@ public class TDMaterials
List<TDMatHelper> gemMaster = new ArrayList<TDMatHelper>();
List<TDMatHelper> ingotMaster = new ArrayList<TDMatHelper>();
- for (TDMatHelper i : materials_master)
- {
+ for (TDMatHelper i : materials_master) {
if (i.isGem)
gemMaster.add(i);
else
@@ -351,229 +393,225 @@ public class TDMaterials
registerClothMaterials();
Material.UNKNOWN.addStats(new ShieldMaterialStats(35, 33));
- Material.UNKNOWN.addStats(new HelmMaterialStats(35, 1, 0));
- Material.UNKNOWN.addStats(new ChestMaterialStats(35, 1, 0));
- Material.UNKNOWN.addStats(new LegsMaterialStats(35, 1, 0));
- Material.UNKNOWN.addStats(new BootsMaterialStats(35, 1, 0));
- Material.UNKNOWN.addStats(new ClothMaterialStats(35, 0));
+ Material.UNKNOWN.addStats(ams.new HelmMaterialStats(35, 1, 0, 0));
+ Material.UNKNOWN.addStats(ams.new ChestMaterialStats(35, 1, 0, 0));
+ Material.UNKNOWN.addStats(ams.new LegsMaterialStats(35, 1, 0, 0));
+ Material.UNKNOWN.addStats(ams.new FeetMaterialStats(35, 1, 0, 0));
+ Material.UNKNOWN.addStats(ams.new ClothMaterialStats(35, 0, 0, 0));
Material.UNKNOWN.addStats(new BaubleMaterialStats(35));
- TinkerRegistry.addMaterialStats(this.white, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.black, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.blue, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.brown, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.cyan, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.gray, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.green, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.lightblue, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.lightgray, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.lime, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.magenta, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.orange, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.pink, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.purple, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.red, new ClothMaterialStats(100, 10));
- TinkerRegistry.addMaterialStats(this.yellow, new ClothMaterialStats(100, 10));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.wood, new ShieldMaterialStats(35, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.wood, new HelmMaterialStats(35, 2, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.wood, new ChestMaterialStats(35, 5, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.wood, new LegsMaterialStats(35, 3, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.wood, new BootsMaterialStats(35, 1, 0));
+ TinkerRegistry.addMaterialStats(this.white, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.black, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.blue, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.brown, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.cyan, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.gray, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.green, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.lightblue, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.lightgray, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.lime, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.magenta, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.orange, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.pink, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.purple, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.red, ams.new ClothMaterialStats(100, 10, 0, 25));
+ TinkerRegistry.addMaterialStats(this.yellow, ams.new ClothMaterialStats(100, 10, 0, 25));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.wood, new ShieldMaterialStats(35, 25));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.wood, ams.new HelmMaterialStats(35, 1, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.wood, ams.new ChestMaterialStats(35, 3, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.wood, ams.new LegsMaterialStats(35, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.wood, ams.new FeetMaterialStats(35, 1, 0, 0));
// TinkerMaterials.wood.addTrait(axelover, SHIELD);
- TinkerRegistry.addMaterialStats(TinkerMaterials.stone, new ShieldMaterialStats(120, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.stone, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.stone, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.stone, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.stone, new BootsMaterialStats(35, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.stone, new ShieldMaterialStats(120, 30));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.stone, ams.new HelmMaterialStats(120, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.stone, ams.new ChestMaterialStats(120, 4, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.stone, ams.new LegsMaterialStats(120, 3, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.stone, ams.new FeetMaterialStats(120, 2, 0, 0));
// TinkerRegistry.addMaterialTrait(TinkerMaterials.stone, dulling,
// SHIELD);
// TinkerMaterials.stone.addTrait(dulling, SHIELD);
- TinkerRegistry.addMaterialStats(TinkerMaterials.flint, new ShieldMaterialStats(150, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.flint, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.flint, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.flint, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.flint, new BootsMaterialStats(35, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.flint, new ShieldMaterialStats(150, 30));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.flint, ams.new HelmMaterialStats(150, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.flint, ams.new ChestMaterialStats(150, 4, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.flint, ams.new LegsMaterialStats(150, 3, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.flint, ams.new FeetMaterialStats(150, 2, 0, 0));
// TinkerRegistry.addMaterialTrait(TinkerMaterials.flint, firestarter,
// SHIELD);
- TinkerRegistry.addMaterialStats(TinkerMaterials.cactus, new ShieldMaterialStats(210, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.cactus, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.cactus, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.cactus, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.cactus, new BootsMaterialStats(35, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.cactus, new ShieldMaterialStats(210, 25));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.cactus, ams.new HelmMaterialStats(210, 1, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.cactus, ams.new ChestMaterialStats(210, 3, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.cactus, ams.new LegsMaterialStats(210, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.cactus, ams.new FeetMaterialStats(210, 1, 0, 0));
// TinkerRegistry.addMaterialTrait(TinkerMaterials.cactus, barbed,
// SHIELD);
- TinkerRegistry.addMaterialStats(TinkerMaterials.bone, new ShieldMaterialStats(200, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.bone, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.bone, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.bone, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.bone, new BootsMaterialStats(35, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.bone, new ShieldMaterialStats(200, 40));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.bone, ams.new HelmMaterialStats(200, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.bone, ams.new ChestMaterialStats(200, 4, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.bone, ams.new LegsMaterialStats(200, 4, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.bone, ams.new FeetMaterialStats(200, 2, 0, 0));
// TinkerRegistry.addMaterialTrait(TinkerMaterials.bone, dogtoy,
// SHIELD);
- TinkerRegistry.addMaterialStats(TinkerMaterials.obsidian, new ShieldMaterialStats(139, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.obsidian, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.obsidian, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.obsidian, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.obsidian, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.prismarine, new ShieldMaterialStats(430, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.prismarine, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.prismarine, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.prismarine, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.prismarine, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.endstone, new ShieldMaterialStats(420, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.endstone, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.endstone, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.endstone, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.endstone, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.paper, new ShieldMaterialStats(12, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.paper, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.paper, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.paper, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.paper, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.sponge, new ShieldMaterialStats(550, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.sponge, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.sponge, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.sponge, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.sponge, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.firewood, new ShieldMaterialStats(550, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.firewood, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.firewood, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.firewood, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.firewood, new BootsMaterialStats(35, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.obsidian, new ShieldMaterialStats(139, 50));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.obsidian, ams.new HelmMaterialStats(139, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.obsidian, ams.new ChestMaterialStats(139, 6, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.obsidian, ams.new LegsMaterialStats(139, 5, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.obsidian, ams.new FeetMaterialStats(139, 2, 0, 0));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.prismarine, new ShieldMaterialStats(430, 45));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.prismarine, ams.new HelmMaterialStats(430, 2, 0, 2.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.prismarine, ams.new ChestMaterialStats(430, 5, 0, 3.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.prismarine, ams.new LegsMaterialStats(430, 5, 0, 3.0f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.prismarine, ams.new FeetMaterialStats(430, 2, 0, 2.5f));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.endstone, new ShieldMaterialStats(420, 50));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.endstone, ams.new HelmMaterialStats(420, 3, 1, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.endstone, ams.new ChestMaterialStats(420, 6, 1, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.endstone, ams.new LegsMaterialStats(420, 5, 1, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.endstone, ams.new FeetMaterialStats(420, 3, 1, 0));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.paper, new ShieldMaterialStats(12, 10));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.paper, ams.new HelmMaterialStats(12, 1, 0, 4));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.paper, ams.new ChestMaterialStats(12, 2, 0, 5.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.paper, ams.new LegsMaterialStats(12, 1, 0, 5));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.paper, ams.new FeetMaterialStats(12, 1, 0, 4));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.sponge, new ShieldMaterialStats(550, 20));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.sponge, ams.new HelmMaterialStats(550, 1, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.sponge, ams.new ChestMaterialStats(550, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.sponge, ams.new LegsMaterialStats(550, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.sponge, ams.new FeetMaterialStats(550, 1, 0, 0));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.firewood, new ShieldMaterialStats(550, 25));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.firewood, ams.new HelmMaterialStats(550, 1, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.firewood, ams.new ChestMaterialStats(550, 3, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.firewood, ams.new LegsMaterialStats(550, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.firewood, ams.new FeetMaterialStats(550, 1, 0, 0));
// Slime
- TinkerRegistry.addMaterialStats(TinkerMaterials.slime, new ShieldMaterialStats(1000, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.slime, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.slime, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.slime, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.slime, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.blueslime, new ShieldMaterialStats(780, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.blueslime, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.blueslime, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.blueslime, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.blueslime, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.knightslime, new ShieldMaterialStats(850, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.knightslime, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.knightslime, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.knightslime, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.knightslime, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.magmaslime, new ShieldMaterialStats(600, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.magmaslime, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.magmaslime, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.magmaslime, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.magmaslime, new BootsMaterialStats(35, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.slime, new ShieldMaterialStats(1000, 5));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.slime, ams.new HelmMaterialStats(1000, 1, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.slime, ams.new ChestMaterialStats(1000, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.slime, ams.new LegsMaterialStats(1000, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.slime, ams.new FeetMaterialStats(1000, 1, 0, 0));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.blueslime, new ShieldMaterialStats(780, 7));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.blueslime, ams.new HelmMaterialStats(780, 1, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.blueslime, ams.new ChestMaterialStats(780, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.blueslime, ams.new LegsMaterialStats(780, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.blueslime, ams.new FeetMaterialStats(780, 1, 0, 0));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.knightslime, new ShieldMaterialStats(850, 27));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.knightslime, ams.new HelmMaterialStats(850, 2, 1, 1.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.knightslime, ams.new ChestMaterialStats(850, 6, 1, 2.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.knightslime, ams.new LegsMaterialStats(850, 5, 1, 2.0f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.knightslime, ams.new FeetMaterialStats(850, 2, 1, 1.5f));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.magmaslime, new ShieldMaterialStats(600, 6));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.magmaslime, ams.new HelmMaterialStats(600, 1, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.magmaslime, ams.new ChestMaterialStats(600, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.magmaslime, ams.new LegsMaterialStats(600, 2, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.magmaslime, ams.new FeetMaterialStats(600, 1, 0, 0));
// Nether
- TinkerRegistry.addMaterialStats(TinkerMaterials.netherrack, new ShieldMaterialStats(270, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.netherrack, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.netherrack, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.netherrack, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.netherrack, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.cobalt, new ShieldMaterialStats(780, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.cobalt, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.cobalt, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.cobalt, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.cobalt, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.ardite, new ShieldMaterialStats(990, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.ardite, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.ardite, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.ardite, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.ardite, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.manyullyn, new ShieldMaterialStats(820, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.manyullyn, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.manyullyn, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.manyullyn, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.manyullyn, new BootsMaterialStats(35, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.netherrack, new ShieldMaterialStats(270, 20));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.netherrack, ams.new HelmMaterialStats(270, 1, 0, -12));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.netherrack, ams.new ChestMaterialStats(270, 3, 0, -12));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.netherrack, ams.new LegsMaterialStats(270, 2, 0, -12));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.netherrack, ams.new FeetMaterialStats(270, 1, 0, -12));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.cobalt, new ShieldMaterialStats(780, 55));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.cobalt, ams.new HelmMaterialStats(780, 3, 0, 5));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.cobalt, ams.new ChestMaterialStats(780, 7, 0, 5));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.cobalt, ams.new LegsMaterialStats(780, 5, 0, 5));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.cobalt, ams.new FeetMaterialStats(780, 3, 0, 5));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.ardite, new ShieldMaterialStats(990, 75));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.ardite, ams.new HelmMaterialStats(990, 3, 3, -100));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.ardite, ams.new ChestMaterialStats(990, 8, 4, -100));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.ardite, ams.new LegsMaterialStats(990, 6, 4, -100));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.ardite, ams.new FeetMaterialStats(990, 3, 3, -100));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.manyullyn, new ShieldMaterialStats(820, 60));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.manyullyn, ams.new HelmMaterialStats(820, 3, 2, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.manyullyn, ams.new ChestMaterialStats(820, 8, 2, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.manyullyn, ams.new LegsMaterialStats(820, 6, 2, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.manyullyn, ams.new FeetMaterialStats(820, 3, 2, 0));
// Metals
- TinkerRegistry.addMaterialStats(TinkerMaterials.iron, new ShieldMaterialStats(204, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.iron, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.iron, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.iron, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.iron, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.pigiron, new ShieldMaterialStats(380, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.pigiron, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.pigiron, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.pigiron, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.pigiron, new BootsMaterialStats(35, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.iron, new ShieldMaterialStats(204, 50));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.iron, ams.new HelmMaterialStats(204, 2, 0, -4));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.iron, ams.new ChestMaterialStats(204, 6, 0, -5));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.iron, ams.new LegsMaterialStats(204, 5, 0, -4));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.iron, ams.new FeetMaterialStats(204, 2, 0, -3));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.pigiron, new ShieldMaterialStats(380, 52));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.pigiron, ams.new HelmMaterialStats(380, 2, 0, 0.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.pigiron, ams.new ChestMaterialStats(380, 6, 0, 1.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.pigiron, ams.new LegsMaterialStats(380, 5, 0, 1));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.pigiron, ams.new FeetMaterialStats(380, 2, 0, 0.5f));
// Mod Integration
- TinkerRegistry.addMaterialStats(TinkerMaterials.copper, new ShieldMaterialStats(210, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.copper, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.copper, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.copper, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.copper, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.bronze, new ShieldMaterialStats(430, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.bronze, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.bronze, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.bronze, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.bronze, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.lead, new ShieldMaterialStats(334, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.lead, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.lead, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.lead, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.lead, new BootsMaterialStats(35, 0, 0));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.copper, new ShieldMaterialStats(210, 34));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.copper, ams.new HelmMaterialStats(210, 1, 0, 3));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.copper, ams.new ChestMaterialStats(210, 4, 0, 3));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.copper, ams.new LegsMaterialStats(210, 3, 0, 3));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.copper, ams.new FeetMaterialStats(210, 1, 0, 3));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.bronze, new ShieldMaterialStats(430, 50));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.bronze, ams.new HelmMaterialStats(430, 2, 0, 0.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.bronze, ams.new ChestMaterialStats(430, 6, 0, 0.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.bronze, ams.new LegsMaterialStats(430, 5, 0, 0.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.bronze, ams.new FeetMaterialStats(430, 2, 0, 0.5f));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.lead, new ShieldMaterialStats(334, 42));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.lead, ams.new HelmMaterialStats(334, 1, 0, -20));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.lead, ams.new ChestMaterialStats(334, 5, 0, -20));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.lead, ams.new LegsMaterialStats(334, 4, 0, -20));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.lead, ams.new FeetMaterialStats(334, 1, 0, -20));
TinkerRegistry.addMaterialStats(TinkerMaterials.silver, new ShieldMaterialStats(250, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.silver, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.silver, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.silver, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.silver, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.electrum, new ShieldMaterialStats(50, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.electrum, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.electrum, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.electrum, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.electrum, new BootsMaterialStats(35, 0, 0));
-
- TinkerRegistry.addMaterialStats(TinkerMaterials.steel, new ShieldMaterialStats(540, 33));
- TinkerRegistry.addMaterialStats(TinkerMaterials.steel, new HelmMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.steel, new ChestMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.steel, new LegsMaterialStats(35, 0, 0));
- TinkerRegistry.addMaterialStats(TinkerMaterials.steel, new BootsMaterialStats(35, 0, 0));
-
- for (String s : fluids.keySet())
- {
+ TinkerRegistry.addMaterialStats(TinkerMaterials.silver, ams.new HelmMaterialStats(250, 1, 0, 1.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.silver, ams.new ChestMaterialStats(250, 3, 0, 1.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.silver, ams.new LegsMaterialStats(250, 2, 0, 1.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.silver, ams.new FeetMaterialStats(250, 1, 0, 1.5f));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.electrum, new ShieldMaterialStats(50, 22));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.electrum, ams.new HelmMaterialStats(50, 1, 0, 2.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.electrum, ams.new ChestMaterialStats(50, 3, 0, 2.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.electrum, ams.new LegsMaterialStats(50, 2, 0, 2.5f));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.electrum, ams.new FeetMaterialStats(50, 1, 0, 2.5f));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.steel, new ShieldMaterialStats(540, 55));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.steel, ams.new HelmMaterialStats(540, 3, 1, -12));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.steel, ams.new ChestMaterialStats(540, 7, 1, -12));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.steel, ams.new LegsMaterialStats(540, 6, 1, -12));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.steel, ams.new FeetMaterialStats(540, 3, 1, -12));
+
+ for (String s : fluids.keySet()) {
createFluid(s, fluids.get(s));
FluidRegistry.registerFluid(fluids.get(s));
FluidRegistry.addBucketForFluid(fluids.get(s));
}
- for (TDMatHelper m : materials_master)
- {
+ for (TDMatHelper m : materials_master) {
Material test = TinkerRegistry.getMaterial(m.name);
- if (m.createMat && test.getIdentifier() == "unknown" && !TinkersDefense.config.materials.isBlacklisted(m.name))
+ if (m.createMat && test.getIdentifier() == "unknown"
+ && !TinkersDefense.config.materials.isBlacklisted(m.name))
createMaterial(m);
}
// TAIGA TEST
// Collection<Material> mats = TinkerRegistry.getAllMaterials();
- for (Material m : TinkerRegistry.getAllMaterials())
- {
- if (!m.hasStats(SHIELD))
- {
- if (m.hasStats(MaterialTypes.HEAD))
- {
+ for (Material m : TinkerRegistry.getAllMaterials()) {
+ if (!m.hasStats(SHIELD)) {
+ if (m.hasStats(MaterialTypes.HEAD)) {
int dur = ((HeadMaterialStats) m.getStats(MaterialTypes.HEAD)).durability;
m.addStats(new ShieldMaterialStats(dur, 33));
}
@@ -582,41 +620,33 @@ public class TDMaterials
}
- void createMaterial(TDMatHelper tdmat)
- {
+ void createMaterial(TDMatHelper tdmat) {
Material mat = new Material(tdmat.name, tdmat.color);
- if (tdmat.isGem)
- {
- if (tdmat.gem == null)
- {
+ if (tdmat.isGem) {
+ if (tdmat.gem == null) {
mat.addItem("gem" + tdmat.name.substring(0, 1).toUpperCase() + tdmat.name.substring(1));
mat.addItem(gem.getItembyName(tdmat.name), 1, Material.VALUE_Ingot);
} else
mat.addItem(tdmat.gem, 1, Material.VALUE_Ingot);
- } else
- {
- if (tdmat.ingot == null)
- {
+ } else {
+ if (tdmat.ingot == null) {
mat.addItem("ingot" + tdmat.name.substring(0, 1).toUpperCase() + tdmat.name.substring(1));
mat.addItem(ingot.getItembyName(tdmat.name), 1, Material.VALUE_Ingot);
} else
mat.addItem(tdmat.ingot, 1, Material.VALUE_Ingot);
}
- if (tdmat.nugget == null)
- {
+ if (tdmat.nugget == null) {
mat.addItem("nugget" + tdmat.name.substring(0, 1).toUpperCase() + tdmat.name.substring(1));
mat.addItem(nugget.getItembyName(tdmat.name), 1, Material.VALUE_Nugget);
} else
mat.addItem(tdmat.nugget, 1, Material.VALUE_Nugget);
- if (tdmat.dust == null)
- {
+ if (tdmat.dust == null) {
mat.addItem("dust" + tdmat.name.substring(0, 1).toUpperCase() + tdmat.name.substring(1));
mat.addItem(nugget.getItembyName(tdmat.name), 1, Material.VALUE_Ingot);
} else
mat.addItem(tdmat.nugget, 1, Material.VALUE_Ingot);
- if (tdmat.grain == null)
- {
+ if (tdmat.grain == null) {
mat.addItem("grain" + tdmat.name.substring(0, 1).toUpperCase() + tdmat.name.substring(1));
mat.addItem(nugget.getItembyName(tdmat.name), 1, Material.VALUE_Ingot / 4);
} else
@@ -652,8 +682,7 @@ public class TDMaterials
TinkerRegistry.integrate(new MaterialIntegration(mat).toolforge()).preInit();
}
- void setStats(Material m, TDMatHelper tdm)
- {
+ void setStats(Material m, TDMatHelper tdm) {
if (tdm.head != null)
TinkerRegistry.addMaterialStats(m, tdm.head);
else
@@ -680,10 +709,21 @@ public class TDMaterials
if (tdm.shield != null)
TinkerRegistry.addMaterialStats(m, tdm.shield);
+
+ if (tdm.helm != null)
+ TinkerRegistry.addMaterialStats(m, tdm.helm);
+
+ if (tdm.chest != null)
+ TinkerRegistry.addMaterialStats(m, tdm.chest);
+
+ if (tdm.legs != null)
+ TinkerRegistry.addMaterialStats(m, tdm.legs);
+
+ if (tdm.boots != null)
+ TinkerRegistry.addMaterialStats(m, tdm.boots);
}
- public void registerItems(final RegistryEvent.Register<Item> event)
- {
+ public void registerItems(final RegistryEvent.Register<Item> event) {
final IForgeRegistry registry = event.getRegistry();
registry.register(ingot);
@@ -694,18 +734,27 @@ public class TDMaterials
}
@Subscribe
- public void init(FMLInitializationEvent event)
- {
+ public void init(FMLInitializationEvent event) {
for (int i = 0; i < ingot.mats.size(); i++)
- OreDictionary.registerOre("ingot" + ingot.mats.get(i).substring(0, 1).toUpperCase() + ingot.mats.get(i).substring(1), new ItemStack(ingot, 1, i));
+ OreDictionary.registerOre(
+ "ingot" + ingot.mats.get(i).substring(0, 1).toUpperCase() + ingot.mats.get(i).substring(1),
+ new ItemStack(ingot, 1, i));
for (int i = 0; i < nugget.mats.size(); i++)
- OreDictionary.registerOre("nugget" + nugget.mats.get(i).substring(0, 1).toUpperCase() + nugget.mats.get(i).substring(1), new ItemStack(nugget, 1, i));
+ OreDictionary.registerOre(
+ "nugget" + nugget.mats.get(i).substring(0, 1).toUpperCase() + nugget.mats.get(i).substring(1),
+ new ItemStack(nugget, 1, i));
for (int i = 0; i < dust.mats.size(); i++)
- OreDictionary.registerOre("dust" + dust.mats.get(i).substring(0, 1).toUpperCase() + dust.mats.get(i).substring(1), new ItemStack(dust, 1, i));
+ OreDictionary.registerOre(
+ "dust" + dust.mats.get(i).substring(0, 1).toUpperCase() + dust.mats.get(i).substring(1),
+ new ItemStack(dust, 1, i));
for (int i = 0; i < grain.mats.size(); i++)
- OreDictionary.registerOre("grain" + grain.mats.get(i).substring(0, 1).toUpperCase() + grain.mats.get(i).substring(1), new ItemStack(grain, 1, i));
+ OreDictionary.registerOre(
+ "grain" + grain.mats.get(i).substring(0, 1).toUpperCase() + grain.mats.get(i).substring(1),
+ new ItemStack(grain, 1, i));
for (int i = 0; i < gem.mats.size(); i++)
- OreDictionary.registerOre("gem" + gem.mats.get(i).substring(0, 1).toUpperCase() + gem.mats.get(i).substring(1), new ItemStack(gem, 1, i));
+ OreDictionary.registerOre(
+ "gem" + gem.mats.get(i).substring(0, 1).toUpperCase() + gem.mats.get(i).substring(1),
+ new ItemStack(gem, 1, i));
TinkerRegistry.registerMelting(Items.CHORUS_FRUIT, fluids.get("chorusjuice"), Material.VALUE_Nugget);
TinkerRegistry.registerMelting(Items.DRAGON_BREATH, fluids.get("dragonsbreath"), Material.VALUE_Ingot);
@@ -717,109 +766,112 @@ public class TDMaterials
TinkerRegistry.registerMelting(Blocks.QUARTZ_BLOCK, fluids.get("quartz"), Material.VALUE_Ingot * 4);
TinkerRegistry.registerMelting(Items.QUARTZ, fluids.get("quartz"), Material.VALUE_Ingot);
- TinkerRegistry.registerTableCasting(new ItemStack(Items.QUARTZ, 1, 0), ItemStack.EMPTY, (Fluid) fluids.get("quartz"), Material.VALUE_Ingot);
-
- TinkerRegistry.registerBasinCasting(new ItemStack(Blocks.QUARTZ_BLOCK, 1, 0), ItemStack.EMPTY, (Fluid) fluids.get("quartz"), Material.VALUE_Ingot * 4);
- TinkerRegistry.registerBasinCasting(new ItemStack(Blocks.ICE, 1, 0), ItemStack.EMPTY, (Fluid) fluids.get("slush"), Material.VALUE_Ingot);
-
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("aeonsteel"), 4), new FluidStack(fluids.get("chorusjuice"), 1), new FluidStack(TinkerFluids.cobalt, 3));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("queensgold"), 2), new FluidStack(TinkerFluids.gold, 1), new FluidStack(TinkerFluids.knightslime, 1));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("dogbearium"), 4), new FluidStack(TinkerFluids.ardite, 1), new FluidStack(fluids.get("dragonsbreath"), 3));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("sinisterium"), 6), new FluidStack(TinkerFluids.blood, 1), new FluidStack(fluids.get("vile"), 2), new FluidStack(TinkerFluids.iron, 4));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("nihilite"), 3), new FluidStack(TinkerFluids.cobalt, 1), new FluidStack(fluids.get("vile"), 2));
+ TinkerRegistry.registerTableCasting(new ItemStack(Items.QUARTZ, 1, 0), ItemStack.EMPTY,
+ (Fluid) fluids.get("quartz"), Material.VALUE_Ingot);
+
+ TinkerRegistry.registerBasinCasting(new ItemStack(Blocks.QUARTZ_BLOCK, 1, 0), ItemStack.EMPTY,
+ (Fluid) fluids.get("quartz"), Material.VALUE_Ingot * 4);
+ TinkerRegistry.registerBasinCasting(new ItemStack(Blocks.ICE, 1, 0), ItemStack.EMPTY,
+ (Fluid) fluids.get("slush"), Material.VALUE_Ingot);
+
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("aeonsteel"), 4),
+ new FluidStack(fluids.get("chorusjuice"), 1), new FluidStack(TinkerFluids.cobalt, 3));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("queensgold"), 2), new FluidStack(TinkerFluids.gold, 1),
+ new FluidStack(TinkerFluids.knightslime, 1));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("dogbearium"), 4),
+ new FluidStack(TinkerFluids.ardite, 1), new FluidStack(fluids.get("dragonsbreath"), 3));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("sinisterium"), 6),
+ new FluidStack(TinkerFluids.blood, 1), new FluidStack(fluids.get("vile"), 2),
+ new FluidStack(TinkerFluids.iron, 4));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("nihilite"), 3), new FluidStack(TinkerFluids.cobalt, 1),
+ new FluidStack(fluids.get("vile"), 2));
TinkerRegistry.registerAlloy(new FluidStack(fluids.get("orichalcum"), 6),
- new FluidStack(TinkerFluids.bronze, 4),
- new FluidStack(fluids.get("vibrant"), 2),
- new FluidStack(TinkerFluids.gold, 1));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("pandorium"), 3), new FluidStack(TinkerFluids.ardite, 1), new FluidStack(fluids.get("vibrant"), 2));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("rosegold"), 4), new FluidStack(TinkerFluids.gold, 1), new FluidStack(TinkerFluids.copper, 3));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("brass"), 3), new FluidStack(TinkerFluids.copper, 2), new FluidStack(TinkerFluids.zinc, 2));
+ new FluidStack(TinkerFluids.bronze, 4), new FluidStack(fluids.get("vibrant"), 2),
+ new FluidStack(TinkerFluids.gold, 1));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("pandorium"), 3), new FluidStack(TinkerFluids.ardite, 1),
+ new FluidStack(fluids.get("vibrant"), 2));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("rosegold"), 4), new FluidStack(TinkerFluids.gold, 1),
+ new FluidStack(TinkerFluids.copper, 3));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("brass"), 3), new FluidStack(TinkerFluids.copper, 2),
+ new FluidStack(TinkerFluids.zinc, 2));
TinkerRegistry.registerAlloy(new FluidStack(fluids.get("valyriansteel"), 4),
- new FluidStack(TinkerFluids.steel, 2),
- new FluidStack(TinkerFluids.obsidian, 2),
- new FluidStack(fluids.get("dragonsbreath"), 1));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("froststeel"), 4),
- new FluidStack(TinkerFluids.steel, 2),
- new FluidStack(TinkerFluids.cobalt, 2),
- new FluidStack(fluids.get("slush"), 1));
+ new FluidStack(TinkerFluids.steel, 2), new FluidStack(TinkerFluids.obsidian, 2),
+ new FluidStack(fluids.get("dragonsbreath"), 1));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("froststeel"), 4), new FluidStack(TinkerFluids.steel, 2),
+ new FluidStack(TinkerFluids.cobalt, 2), new FluidStack(fluids.get("slush"), 1));
TinkerRegistry.registerAlloy(new FluidStack(fluids.get("pureardite"), 1),
- new FluidStack(TinkerFluids.ardite, 1),
- new FluidStack(fluids.get("dragonsbreath"), 2),
- new FluidStack(TinkerFluids.blood, 2),
- new FluidStack(fluids.get("purifiedgold"), 2));
+ new FluidStack(TinkerFluids.ardite, 1), new FluidStack(fluids.get("dragonsbreath"), 2),
+ new FluidStack(TinkerFluids.blood, 2), new FluidStack(fluids.get("purifiedgold"), 2));
TinkerRegistry.registerAlloy(new FluidStack(fluids.get("purecobalt"), 1),
- new FluidStack(TinkerFluids.cobalt, 1),
- new FluidStack(fluids.get("dragonsbreath"), 2),
- new FluidStack(fluids.get("slush"), 2),
- new FluidStack(fluids.get("purifiedsilver"), 2));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("puremanyullyn"), 2), new FluidStack(fluids.get("pureardite"), 1), new FluidStack(fluids.get("purecobalt"), 1));
+ new FluidStack(TinkerFluids.cobalt, 1), new FluidStack(fluids.get("dragonsbreath"), 2),
+ new FluidStack(fluids.get("slush"), 2), new FluidStack(fluids.get("purifiedsilver"), 2));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("puremanyullyn"), 2),
+ new FluidStack(fluids.get("pureardite"), 1), new FluidStack(fluids.get("purecobalt"), 1));
TinkerRegistry.registerAlloy(new FluidStack(fluids.get("purifiedgold"), 1),
- new FluidStack(TinkerFluids.gold, 1),
- new FluidStack(fluids.get("quartz"), 8),
- new FluidStack(TinkerFluids.glass, 2),
- new FluidStack(TinkerFluids.purpleSlime, 2));
+ new FluidStack(TinkerFluids.gold, 1), new FluidStack(fluids.get("quartz"), 8),
+ new FluidStack(TinkerFluids.glass, 2), new FluidStack(TinkerFluids.purpleSlime, 2));
TinkerRegistry.registerAlloy(new FluidStack(fluids.get("purifiedsilver"), 1),
- new FluidStack(TinkerFluids.silver, 1),
- new FluidStack(fluids.get("quartz"), 8),
- new FluidStack(TinkerFluids.glass, 2),
- new FluidStack(TinkerFluids.purpleSlime, 2));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("solarium"), 1), new FluidStack(TinkerFluids.steel, 1), new FluidStack(fluids.get("sundrop"), 1));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("dragonsteel"), 1), new FluidStack(TinkerFluids.steel, 1), new FluidStack(fluids.get("gallite"), 1));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("blacksteel"), 1), new FluidStack(TinkerFluids.steel, 1), new FluidStack(fluids.get("voidite"), 1));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("abyssalium"), 1), new FluidStack(fluids.get("voidite"), 1), new FluidStack(fluids.get("sundrop"), 1));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("depthsilver"), 1), new FluidStack(TinkerFluids.silver, 1), new FluidStack(fluids.get("abyssalium"), 1));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("moonsilver"), 1), new FluidStack(TinkerFluids.silver, 1), new FluidStack(fluids.get("voidite"), 1));
- TinkerRegistry.registerAlloy(new FluidStack(fluids.get("novagold"), 1), new FluidStack(TinkerFluids.gold, 1), new FluidStack(fluids.get("sundrop"), 1));
+ new FluidStack(TinkerFluids.silver, 1), new FluidStack(fluids.get("quartz"), 8),
+ new FluidStack(TinkerFluids.glass, 2), new FluidStack(TinkerFluids.purpleSlime, 2));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("solarium"), 1), new FluidStack(TinkerFluids.steel, 1),
+ new FluidStack(fluids.get("sundrop"), 1));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("dragonsteel"), 1),
+ new FluidStack(TinkerFluids.steel, 1), new FluidStack(fluids.get("gallite"), 1));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("blacksteel"), 1), new FluidStack(TinkerFluids.steel, 1),
+ new FluidStack(fluids.get("voidite"), 1));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("abyssalium"), 1),
+ new FluidStack(fluids.get("voidite"), 1), new FluidStack(fluids.get("sundrop"), 1));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("depthsilver"), 1),
+ new FluidStack(TinkerFluids.silver, 1), new FluidStack(fluids.get("abyssalium"), 1));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("moonsilver"), 1),
+ new FluidStack(TinkerFluids.silver, 1), new FluidStack(fluids.get("voidite"), 1));
+ TinkerRegistry.registerAlloy(new FluidStack(fluids.get("novagold"), 1), new FluidStack(TinkerFluids.gold, 1),
+ new FluidStack(fluids.get("sundrop"), 1));
}
@Subscribe
- public void postInit(FMLPostInitializationEvent event)
- {
+ public void postInit(FMLPostInitializationEvent event) {
}
@SideOnly(Side.CLIENT)
@SubscribeEvent
- public static void registerModels(ModelRegistryEvent event)
- {
- for (int i = 0; i < dust.mats.size(); i++)
- {
- ModelLoader.setCustomModelResourceLocation(dust, i, new ModelResourceLocation(Reference.MOD_ID + ":dust", "inventory"));
+ public static void registerModels(ModelRegistryEvent event) {
+ for (int i = 0; i < dust.mats.size(); i++) {
+ ModelLoader.setCustomModelResourceLocation(dust, i,
+ new ModelResourceLocation(Reference.MOD_ID + ":dust", "inventory"));
}
- for (int i = 0; i < ingot.mats.size(); i++)
- {
- ModelLoader.setCustomModelResourceLocation(ingot, i, new ModelResourceLocation(Reference.MOD_ID + ":ingot", "inventory"));
+ for (int i = 0; i < ingot.mats.size(); i++) {
+ ModelLoader.setCustomModelResourceLocation(ingot, i,
+ new ModelResourceLocation(Reference.MOD_ID + ":ingot", "inventory"));
}
- for (int i = 0; i < gem.mats.size(); i++)
- {
- ModelLoader.setCustomModelResourceLocation(gem, i, new ModelResourceLocation(Reference.MOD_ID + ":gem", "inventory"));
+ for (int i = 0; i < gem.mats.size(); i++) {
+ ModelLoader.setCustomModelResourceLocation(gem, i,
+ new ModelResourceLocation(Reference.MOD_ID + ":gem", "inventory"));
}
- for (int i = 0; i < nugget.mats.size(); i++)
- {
- ModelLoader.setCustomModelResourceLocation(nugget, i, new ModelResourceLocation(Reference.MOD_ID + ":nugget", "inventory"));
+ for (int i = 0; i < nugget.mats.size(); i++) {
+ ModelLoader.setCustomModelResourceLocation(nugget, i,
+ new ModelResourceLocation(Reference.MOD_ID + ":nugget", "inventory"));
}
- for (int i = 0; i < grain.mats.size(); i++)
- {
- ModelLoader.setCustomModelResourceLocation(grain, i, new ModelResourceLocation(Reference.MOD_ID + ":grain", "inventory"));
+ for (int i = 0; i < grain.mats.size(); i++) {
+ ModelLoader.setCustomModelResourceLocation(grain, i,
+ new ModelResourceLocation(Reference.MOD_ID + ":grain", "inventory"));
}
}
@SubscribeEvent
- public static void registerBlocks(final RegistryEvent.Register<Block> event)
- {
- for (Block i : blockList)
- {
+ public static void registerBlocks(final RegistryEvent.Register<Block> event) {
+ for (Block i : blockList) {
event.getRegistry().register(i);
}
}
- static void createFluid(String name, FluidMolten fluid)
- {
+ static void createFluid(String name, FluidMolten fluid) {
FluidRegistry.registerFluid(fluid);
BlockMolten block = new BlockMolten(fluid);
@@ -835,8 +887,7 @@ public class TDMaterials
FluidRegistry.addBucketForFluid(fluid);
}
- private void registerClothMaterials()
- {
+ private void registerClothMaterials() {
black = new Material("blackCloth", 0x191616);
red = new Material("redCloth", 0x963430);
green = new Material("greeCloth", 0x35461B);
@@ -854,7 +905,7 @@ public class TDMaterials
orange = new Material("orangeCloth", 0xDB7D3E);
white = new Material("whiteCloth", 0xDDDDDD);
- //Material.UNKNOWN.addStats(new MaterialCloth(100));
+ // Material.UNKNOWN.addStats(new MaterialCloth(100));
black.addItem(new ItemStack(Blocks.WOOL, 1, 15), 1, Material.VALUE_Ingot);
red.addItem(new ItemStack(Blocks.WOOL, 1, 14), 1, Material.VALUE_Ingot);
green.addItem(new ItemStack(Blocks.WOOL, 1, 13), 1, Material.VALUE_Ingot);
@@ -889,23 +940,23 @@ public class TDMaterials
orange.setRepresentativeItem(new ItemStack(Blocks.WOOL, 1, 1));
white.setRepresentativeItem(new ItemStack(Blocks.WOOL, 1, 0));
-// TinkerRegistry.addMaterial(black);
-// TinkerRegistry.addMaterial(red);
-// TinkerRegistry.addMaterial(green);
-// TinkerRegistry.addMaterial(brown);
-// TinkerRegistry.addMaterial(blue);
-// TinkerRegistry.addMaterial(purple);
-// TinkerRegistry.addMaterial(cyan);
-// TinkerRegistry.addMaterial(lightgray);
-// TinkerRegistry.addMaterial(gray);
-// TinkerRegistry.addMaterial(pink);
-// TinkerRegistry.addMaterial(lime);
-// TinkerRegistry.addMaterial(yellow);
-// TinkerRegistry.addMaterial(lightblue);
-// TinkerRegistry.addMaterial(magenta);
-// TinkerRegistry.addMaterial(orange);
-// TinkerRegistry.addMaterial(white);
-
+ // TinkerRegistry.addMaterial(black);
+ // TinkerRegistry.addMaterial(red);
+ // TinkerRegistry.addMaterial(green);
+ // TinkerRegistry.addMaterial(brown);
+ // TinkerRegistry.addMaterial(blue);
+ // TinkerRegistry.addMaterial(purple);
+ // TinkerRegistry.addMaterial(cyan);
+ // TinkerRegistry.addMaterial(lightgray);
+ // TinkerRegistry.addMaterial(gray);
+ // TinkerRegistry.addMaterial(pink);
+ // TinkerRegistry.addMaterial(lime);
+ // TinkerRegistry.addMaterial(yellow);
+ // TinkerRegistry.addMaterial(lightblue);
+ // TinkerRegistry.addMaterial(magenta);
+ // TinkerRegistry.addMaterial(orange);
+ // TinkerRegistry.addMaterial(white);
+
materials.put("white", white);
materials.put("orange", orange);
materials.put("magenta", magenta);
@@ -922,7 +973,7 @@ public class TDMaterials
materials.put("green", green);
materials.put("red", red);
materials.put("black", black);
-
+
TinkerRegistry.integrate(new MaterialIntegration(white).toolforge()).preInit();
TinkerRegistry.integrate(new MaterialIntegration(orange).toolforge()).preInit();
TinkerRegistry.integrate(new MaterialIntegration(magenta).toolforge()).preInit();
@@ -939,38 +990,34 @@ public class TDMaterials
TinkerRegistry.integrate(new MaterialIntegration(green).toolforge()).preInit();
TinkerRegistry.integrate(new MaterialIntegration(red).toolforge()).preInit();
TinkerRegistry.integrate(new MaterialIntegration(black).toolforge()).preInit();
-
-// TinkerRegistry.addMaterialStats(black, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(red, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(green, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(brown, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(blue, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(purple, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(cyan, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(lightgray, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(gray, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(pink, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(lime, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(yellow, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(lightblue, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(magenta, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(orange, new MaterialCloth(100));
-// TinkerRegistry.addMaterialStats(white, new MaterialCloth(100));
+
+ // TinkerRegistry.addMaterialStats(black, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(red, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(green, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(brown, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(blue, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(purple, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(cyan, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(lightgray, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(gray, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(pink, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(lime, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(yellow, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(lightblue, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(magenta, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(orange, new MaterialCloth(100));
+ // TinkerRegistry.addMaterialStats(white, new MaterialCloth(100));
}
// PlusTIC to the rescue
- public static void integrate(Map<String, Material> materials, Map<String, MaterialIntegration> materialIntegrations, Collection<String> excludedMaterials)
- {
- materials.forEach((k, v) ->
- {
- if (!materialIntegrations.containsKey(k) && !excludedMaterials.contains(k))
- {
+ public static void integrate(Map<String, Material> materials, Map<String, MaterialIntegration> materialIntegrations,
+ Collection<String> excludedMaterials) {
+ materials.forEach((k, v) -> {
+ if (!materialIntegrations.containsKey(k) && !excludedMaterials.contains(k)) {
MaterialIntegration mi;
- if (v.getFluid() != null && v.getFluid() != TinkerFluids.emerald)
- {
+ if (v.getFluid() != null && v.getFluid() != TinkerFluids.emerald) {
mi = new MaterialIntegration(v, v.getFluid(), StringUtils.capitalize(k)).toolforge();
- } else
- {
+ } else {
mi = new MaterialIntegration(v);
}
mi.integrate();
diff --git a/src/main/java/lance5057/tDefense/core/materials/traits/TraitAxeLover.java b/src/main/java/lance5057/tDefense/core/materials/traits/TraitAxeLover.java
index 17d1811..1bc3c31 100644
--- a/src/main/java/lance5057/tDefense/core/materials/traits/TraitAxeLover.java
+++ b/src/main/java/lance5057/tDefense/core/materials/traits/TraitAxeLover.java
@@ -2,12 +2,10 @@ package lance5057.tDefense.core.materials.traits;
import java.util.Optional;
-import lance5057.tDefense.util.TDToolHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.InventoryHelper;
import net.minecraft.item.ItemAxe;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumHand;
@@ -16,7 +14,6 @@ import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import slimeknights.mantle.util.RecipeMatch.Match;
import slimeknights.tconstruct.library.traits.AbstractTrait;
-import slimeknights.tconstruct.library.utils.ToolHelper;
import slimeknights.tconstruct.tools.tools.Hatchet;
import slimeknights.tconstruct.tools.tools.LumberAxe;
import slimeknights.tconstruct.tools.tools.Mattock;
diff --git a/src/main/java/lance5057/tDefense/core/materials/traits/TraitDogToy.java b/src/main/java/lance5057/tDefense/core/materials/traits/TraitDogToy.java
index 81b608d..8cad49c 100644
--- a/src/main/java/lance5057/tDefense/core/materials/traits/TraitDogToy.java
+++ b/src/main/java/lance5057/tDefense/core/materials/traits/TraitDogToy.java
@@ -4,7 +4,6 @@ import java.util.Optional;
import net.minecraft.block.BlockFence;
import net.minecraft.block.state.IBlockState;
-import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IEntityLivingData;
diff --git a/src/main/java/lance5057/tDefense/core/materials/traits/TraitFirestarter.java b/src/main/java/lance5057/tDefense/core/materials/traits/TraitFirestarter.java
index 90bc373..ba30a9b 100644
--- a/src/main/java/lance5057/tDefense/core/materials/traits/TraitFirestarter.java
+++ b/src/main/java/lance5057/tDefense/core/materials/traits/TraitFirestarter.java
@@ -12,13 +12,11 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
-import net.minecraft.util.math.Vec3i;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import slimeknights.mantle.util.RecipeMatch.Match;
import slimeknights.tconstruct.library.tools.ToolCore;
import slimeknights.tconstruct.library.traits.AbstractTrait;
-import slimeknights.tconstruct.library.utils.ToolHelper;
public class TraitFirestarter extends AbstractTrait {
diff --git a/src/main/java/lance5057/tDefense/core/renderers/BaubleRenderer.java b/src/main/java/lance5057/tDefense/core/renderers/BaubleRenderer.java
index 7f69ff3..2d0ce84 100644
--- a/src/main/java/lance5057/tDefense/core/renderers/BaubleRenderer.java
+++ b/src/main/java/lance5057/tDefense/core/renderers/BaubleRenderer.java
@@ -1,21 +1,7 @@
package lance5057.tDefense.core.renderers;
-import lance5057.tDefense.core.tools.bases.Shield;
-import lance5057.tDefense.core.tools.basic.Zweihander;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.GlStateManager;
-import net.minecraft.client.renderer.OpenGlHelper;
-import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
import net.minecraft.client.renderer.entity.layers.LayerRenderer;
-import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.EntityEquipmentSlot;
-import net.minecraft.item.ItemShield;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.ItemSword;
-import net.minecraft.util.EnumHand;
-import slimeknights.tconstruct.library.tools.ToolCore;
-import slimeknights.tconstruct.tools.melee.item.Cleaver;
public class BaubleRenderer implements LayerRenderer<EntityPlayer> {
diff --git a/src/main/java/lance5057/tDefense/core/tools/TDToolEvents.java b/src/main/java/lance5057/tDefense/core/tools/TDToolEvents.java
index 30876a0..c677926 100644
--- a/src/main/java/lance5057/tDefense/core/tools/TDToolEvents.java
+++ b/src/main/java/lance5057/tDefense/core/tools/TDToolEvents.java
@@ -1,13 +1,8 @@
package lance5057.tDefense.core.tools;
-import lance5057.tDefense.Reference;
-import lance5057.tDefense.core.tools.armor.straps.ItemStraps;
-import lance5057.tDefense.core.tools.armor.straps.ItemStrapsInv;
import lance5057.tDefense.core.tools.bases.Shield;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.event.AttachCapabilitiesEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersHood.java b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersHood.java
index 8a7db4e..bd5258e 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersHood.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersHood.java
@@ -1,73 +1,77 @@
package lance5057.tDefense.core.tools.armor.cloth;
-import lance5057.tDefense.Reference;
-import lance5057.tDefense.core.materials.ClothMaterialStats;
-import lance5057.tDefense.core.materials.HelmMaterialStats;
+import java.util.List;
+
+import lance5057.tDefense.core.materials.ArmorMaterialStats.ClothMaterialStats;
+import lance5057.tDefense.core.materials.ArmorMaterialStats.HelmMaterialStats;
import lance5057.tDefense.core.parts.TDParts;
import lance5057.tDefense.core.tools.armor.renderers.cloth.ModelTinkersHood;
import lance5057.tDefense.core.tools.bases.ArmorCore;
+import lance5057.tDefense.util.ArmorNBT;
import net.minecraft.client.model.ModelBiped;
-import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
+import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
-import slimeknights.tconstruct.library.tools.ToolCore;
-public class TinkersHood extends ArmorCore
-{
+public class TinkersHood extends ArmorCore {
int induceDamage = 0;
- public TinkersHood()
- {
- super(new PartMaterialType(TDParts.cloth, ClothMaterialStats.TYPE), new PartMaterialType(TDParts.cloth, ClothMaterialStats.TYPE), PartMaterialType.extra(TDParts.rivets));
+ public TinkersHood() {
+ super(new PartMaterialType(TDParts.cloth, ClothMaterialStats.TYPE),
+ new PartMaterialType(TDParts.cloth, ClothMaterialStats.TYPE), PartMaterialType.extra(TDParts.rivets));
setUnlocalizedName("tinkerhood");
}
@Override
- public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5)
- {
+ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) {
super.onUpdate(stack, world, entity, par4, par5);
}
@Override
- public float damagePotential()
- {
+ public float damagePotential() {
// TODO Auto-generated method stub
return 0;
}
@Override
- public double attackSpeed()
- {
+ public double attackSpeed() {
// TODO Auto-generated method stub
return 0;
}
@SideOnly(Side.CLIENT)
@Override
- public String getArmorTexture(ItemStack stack, int layer)
- {
+ public String getArmorTexture(ItemStack stack, int layer) {
String s = "";
- switch(layer)
- {
- case 0: s = "textures/armor/hood/_hood_cloth.png"; break;
- case 1: s = "textures/armor/hood/_hood_trim.png"; break;
- case 2: s = "textures/armor/hood/_hood_metal.png"; break;
+ switch (layer) {
+ case 0:
+ s = "textures/armor/hood/_hood_cloth.png";
+ break;
+ case 1:
+ s = "textures/armor/hood/_hood_trim.png";
+ break;
+ case 2:
+ s = "textures/armor/hood/_hood_metal.png";
+ break;
}
return s;
}
@SideOnly(Side.CLIENT)
@Override
- public ModelBiped getArmorModel(ItemStack stack)
- {
+ public ModelBiped getArmorModel(ItemStack stack) {
return new ModelTinkersHood(stack);
}
+ @Override
+ public NBTTagCompound buildTag(List<Material> materials) {
+ ArmorNBT data = buildDefaultArmorTag(materials, HelmMaterialStats.TYPE);
+ return data.get();
+ }
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersRobe.java b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersRobe.java
index e7ae1d9..806349e 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersRobe.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersRobe.java
@@ -1,15 +1,21 @@
package lance5057.tDefense.core.tools.armor.cloth;
-import lance5057.tDefense.core.materials.ClothMaterialStats;
+import java.util.List;
+
+import lance5057.tDefense.core.materials.ArmorMaterialStats.ClothMaterialStats;
+import lance5057.tDefense.core.materials.ArmorMaterialStats.LegsMaterialStats;
import lance5057.tDefense.core.parts.TDParts;
import lance5057.tDefense.core.tools.armor.renderers.cloth.ModelTinkersRobe;
import lance5057.tDefense.core.tools.bases.ArmorCore;
+import lance5057.tDefense.util.ArmorNBT;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
+import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
public class TinkersRobe extends ArmorCore
@@ -65,5 +71,9 @@ public class TinkersRobe extends ArmorCore
return new ModelTinkersRobe(stack);
}
-
+ @Override
+ public NBTTagCompound buildTag(List<Material> materials) {
+ ArmorNBT data = buildDefaultArmorTag(materials, LegsMaterialStats.TYPE);
+ return data.get();
+ }
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShawl.java b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShawl.java
index e51ab21..72d425f 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShawl.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShawl.java
@@ -1,17 +1,21 @@
package lance5057.tDefense.core.tools.armor.cloth;
-import lance5057.tDefense.core.materials.ClothMaterialStats;
-import lance5057.tDefense.core.materials.HelmMaterialStats;
+import java.util.List;
+
+import lance5057.tDefense.core.materials.ArmorMaterialStats.ChestMaterialStats;
+import lance5057.tDefense.core.materials.ArmorMaterialStats.ClothMaterialStats;
import lance5057.tDefense.core.parts.TDParts;
-import lance5057.tDefense.core.tools.armor.renderers.cloth.ModelTinkersRobe;
import lance5057.tDefense.core.tools.armor.renderers.cloth.ModelTinkersShawl;
import lance5057.tDefense.core.tools.bases.ArmorCore;
+import lance5057.tDefense.util.ArmorNBT;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
+import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
public class TinkersShawl extends ArmorCore
@@ -72,4 +76,9 @@ public class TinkersShawl extends ArmorCore
return new ModelTinkersShawl(stack);
}
+ @Override
+ public NBTTagCompound buildTag(List<Material> materials) {
+ ArmorNBT data = buildDefaultArmorTag(materials, ChestMaterialStats.TYPE);
+ return data.get();
+ }
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShoes.java b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShoes.java
index 6d2e956..c5a8cea 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShoes.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShoes.java
@@ -1,17 +1,21 @@
package lance5057.tDefense.core.tools.armor.cloth;
-import lance5057.tDefense.core.materials.ClothMaterialStats;
-import lance5057.tDefense.core.materials.HelmMaterialStats;
+import java.util.List;
+
+import lance5057.tDefense.core.materials.ArmorMaterialStats.ClothMaterialStats;
+import lance5057.tDefense.core.materials.ArmorMaterialStats.FeetMaterialStats;
import lance5057.tDefense.core.parts.TDParts;
-import lance5057.tDefense.core.tools.armor.renderers.cloth.ModelTinkersShawl;
import lance5057.tDefense.core.tools.armor.renderers.cloth.ModelTinkersShoes;
import lance5057.tDefense.core.tools.bases.ArmorCore;
+import lance5057.tDefense.util.ArmorNBT;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
+import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
import slimeknights.tconstruct.tools.TinkerTools;
@@ -70,5 +74,9 @@ public class TinkersShoes extends ArmorCore
return new ModelTinkersShoes(stack);
}
-
+ @Override
+ public NBTTagCompound buildTag(List<Material> materials) {
+ ArmorNBT data = buildDefaultArmorTag(materials, FeetMaterialStats.TYPE);
+ return data.get();
+ }
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersBreastplate.java b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersBreastplate.java
index 6b5d20b..212d53c 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersBreastplate.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersBreastplate.java
@@ -1,13 +1,18 @@
package lance5057.tDefense.core.tools.armor.heavy;
-import lance5057.tDefense.core.materials.ChestMaterialStats;
+import java.util.List;
+
+import lance5057.tDefense.core.materials.ArmorMaterialStats.ChestMaterialStats;
import lance5057.tDefense.core.parts.TDParts;
import lance5057.tDefense.core.tools.armor.renderers.heavy.ModelTinkersBreastplate;
import lance5057.tDefense.core.tools.bases.ArmorCore;
+import lance5057.tDefense.util.ArmorNBT;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
+import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
import slimeknights.tconstruct.tools.TinkerTools;
@@ -43,4 +48,10 @@ public class TinkersBreastplate extends ArmorCore
{
return new ModelTinkersBreastplate(stack);
}
+
+ @Override
+ public NBTTagCompound buildTag(List<Material> materials) {
+ ArmorNBT data = buildDefaultArmorTag(materials, ChestMaterialStats.TYPE);
+ return data.get();
+ }
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersGrieves.java b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersGrieves.java
index 29900c1..c74ee9e 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersGrieves.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersGrieves.java
@@ -1,14 +1,19 @@
package lance5057.tDefense.core.tools.armor.heavy;
-import lance5057.tDefense.core.materials.ClothMaterialStats;
-import lance5057.tDefense.core.materials.LegsMaterialStats;
+import java.util.List;
+
+import lance5057.tDefense.core.materials.ArmorMaterialStats.ClothMaterialStats;
+import lance5057.tDefense.core.materials.ArmorMaterialStats.LegsMaterialStats;
import lance5057.tDefense.core.parts.TDParts;
import lance5057.tDefense.core.tools.armor.renderers.heavy.ModelTinkersGrieves;
import lance5057.tDefense.core.tools.bases.ArmorCore;
+import lance5057.tDefense.util.ArmorNBT;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
+import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
public class TinkersGrieves extends ArmorCore
@@ -43,4 +48,10 @@ public class TinkersGrieves extends ArmorCore
{
return new ModelTinkersGrieves(stack);
}
+
+ @Override
+ public NBTTagCompound buildTag(List<Material> materials) {
+ ArmorNBT data = buildDefaultArmorTag(materials, LegsMaterialStats.TYPE);
+ return data.get();
+ }
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersHelm.java b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersHelm.java
index 4b5d6f1..87b143b 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersHelm.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersHelm.java
@@ -1,13 +1,18 @@
package lance5057.tDefense.core.tools.armor.heavy;
-import lance5057.tDefense.core.materials.HelmMaterialStats;
+import java.util.List;
+
+import lance5057.tDefense.core.materials.ArmorMaterialStats.HelmMaterialStats;
import lance5057.tDefense.core.parts.TDParts;
import lance5057.tDefense.core.tools.armor.renderers.heavy.ModelTinkersHelm;
import lance5057.tDefense.core.tools.bases.ArmorCore;
+import lance5057.tDefense.util.ArmorNBT;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
+import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
import slimeknights.tconstruct.tools.TinkerTools;
@@ -43,4 +48,10 @@ public class TinkersHelm extends ArmorCore
{
return new ModelTinkersHelm(stack);
}
+
+ @Override
+ public NBTTagCompound buildTag(List<Material> materials) {
+ ArmorNBT data = buildDefaultArmorTag(materials, HelmMaterialStats.TYPE);
+ return data.get();
+ }
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersSabatons.java b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersSabatons.java
index 8ef9f2d..ec5b5ba 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersSabatons.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersSabatons.java
@@ -1,22 +1,27 @@
package lance5057.tDefense.core.tools.armor.heavy;
-import lance5057.tDefense.core.materials.BootsMaterialStats;
-import lance5057.tDefense.core.materials.ClothMaterialStats;
+import java.util.List;
+
+import lance5057.tDefense.core.materials.ArmorMaterialStats.ClothMaterialStats;
+import lance5057.tDefense.core.materials.ArmorMaterialStats.FeetMaterialStats;
import lance5057.tDefense.core.parts.TDParts;
import lance5057.tDefense.core.tools.armor.renderers.heavy.ModelTinkersSabatons;
import lance5057.tDefense.core.tools.bases.ArmorCore;
+import lance5057.tDefense.util.ArmorNBT;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
+import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
public class TinkersSabatons extends ArmorCore
{
public TinkersSabatons()
{
- super(new PartMaterialType(TDParts.armorPlate, BootsMaterialStats.TYPE),
- new PartMaterialType(TDParts.armorPlate, BootsMaterialStats.TYPE),
+ super(new PartMaterialType(TDParts.armorPlate, FeetMaterialStats.TYPE),
+ new PartMaterialType(TDParts.armorPlate, FeetMaterialStats.TYPE),
PartMaterialType.handle(TDParts.filigree),
new PartMaterialType(TDParts.cloth, ClothMaterialStats.TYPE));
setUnlocalizedName("tinkerssabatons");
@@ -43,4 +48,10 @@ public class TinkersSabatons extends ArmorCore
{
return new ModelTinkersSabatons(stack);
}
+
+ @Override
+ public NBTTagCompound buildTag(List<Material> materials) {
+ ArmorNBT data = buildDefaultArmorTag(materials, FeetMaterialStats.TYPE);
+ return data.get();
+ }
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersBoots.java b/src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersBoots.java
index 5a433ab..0c1778b 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersBoots.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersBoots.java
@@ -1,21 +1,26 @@
package lance5057.tDefense.core.tools.armor.light;
-import lance5057.tDefense.core.materials.BootsMaterialStats;
-import lance5057.tDefense.core.materials.ClothMaterialStats;
+import java.util.List;
+
+import lance5057.tDefense.core.materials.ArmorMaterialStats.ClothMaterialStats;
+import lance5057.tDefense.core.materials.ArmorMaterialStats.FeetMaterialStats;
import lance5057.tDefense.core.parts.TDParts;
import lance5057.tDefense.core.tools.armor.renderers.light.ModelTinkersBoots;
import lance5057.tDefense.core.tools.bases.ArmorCore;
+import lance5057.tDefense.util.ArmorNBT;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
+import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
public class TinkersBoots extends ArmorCore
{
public TinkersBoots()
{
- super(new PartMaterialType(TDParts.chainmail, BootsMaterialStats.TYPE),
+ super(new PartMaterialType(TDParts.chainmail, FeetMaterialStats.TYPE),
new PartMaterialType(TDParts.cloth, ClothMaterialStats.TYPE),
PartMaterialType.handle(TDParts.rivets));
setUnlocalizedName("tinkersboots");
@@ -41,4 +46,10 @@ public class TinkersBoots extends ArmorCore
{
return new ModelTinkersBoots(stack);
}
+
+ @Override
+ public NBTTagCompound buildTag(List<Material> materials) {
+ ArmorNBT data = buildDefaultArmorTag(materials, FeetMaterialStats.TYPE);
+ return data.get();
+ }
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/ArmorRenderer.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/ArmorRenderer.java
index bcd2de7..558cad2 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/ArmorRenderer.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/ArmorRenderer.java
@@ -1,5 +1,6 @@
package lance5057.tDefense.core.tools.armor.renderers;
+import java.awt.image.BufferedImage;
import java.util.List;
import org.lwjgl.opengl.GL11;
@@ -7,7 +8,9 @@ import org.lwjgl.opengl.GL11;
import lance5057.tDefense.Reference;
import lance5057.tDefense.core.tools.armor.renderers.shaders.ArmorShader;
import lance5057.tDefense.core.tools.bases.ArmorCore;
+import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.renderer.texture.DynamicTexture;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityArmorStand;
@@ -18,58 +21,66 @@ import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
-public class ArmorRenderer extends ModelBiped
-{
+public class ArmorRenderer extends ModelBiped {
// public String[] partNames;
- public ItemStack stack;
- public String defaultFolder;
+ public ItemStack stack;
+ public String defaultFolder;
+ DynamicTexture texture;
// public List<ModelRenderer> boxes = new ArrayList<ModelRenderer>();
public NBTTagCompound defaultTags = new NBTTagCompound();
- public ArmorRenderer(float a, float b, int c, int d, ItemStack stack)
- {
+ public ArmorRenderer(float a, float b, int c, int d, ItemStack stack) {
super(a, b, c, d);
-
+
this.stack = stack;
+
+ initTexture();
}
- @Override
- public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
- {
- GL11.glPushMatrix();
+ public void initTexture() {
+ BufferedImage buffImg = new BufferedImage(this.textureWidth, this.textureHeight, BufferedImage.TYPE_INT_ARGB);
- for (int i = 0; i < TinkerUtil.getMaterialsFromTagList(TagUtil.getBaseMaterialsTagList(stack)).size(); i++)
- {
- GL11.glPushMatrix();
-
- EntityLivingBase e = (EntityLivingBase) entity;
+ for (int i = 0; i < TinkerUtil.getMaterialsFromTagList(TagUtil.getBaseMaterialsTagList(stack)).size(); i++) {
String s = stack.getItem().getRegistryName().getResourceDomain();
List<Material> mats = TinkerUtil.getMaterialsFromTagList(TagUtil.getBaseMaterialsTagList(stack));
String o = mats.get(i).renderInfo.getTextureSuffix();
- ArmorShader.selectRenderer(mats.get(i).renderInfo, new ResourceLocation(Reference.MOD_ID, ((ArmorCore) stack.getItem()).getArmorTexture(stack, i)));
+ ArmorShader.selectRenderer(buffImg, mats.get(i).renderInfo,
+ new ResourceLocation(Reference.MOD_ID, ((ArmorCore) stack.getItem()).getArmorTexture(stack, i)));
+ }
+
+ texture = new DynamicTexture(buffImg);
+ }
- super.render(entity, f, f1, f2, f3, f4, f5);
+ @Override
+ public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
+ GL11.glPushMatrix();
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glPopMatrix();
+ EntityLivingBase e = (EntityLivingBase) entity;
+ if (texture != null) {
+ Minecraft.getMinecraft().getTextureManager()
+ .bindTexture(Minecraft.getMinecraft().getTextureManager().getDynamicTextureLocation("tdarmor", texture));
+ }
+ else
+ {
+ initTexture();
}
+ super.render(entity, f, f1, f2, f3, f4, f5);
+
GL11.glPopMatrix();
GL11.glColor3d(1.0, 1.0, 1.0);
}
- //Mojang plz
+ // Mojang plz
@Override
- public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entityIn)
- {
- if (entityIn instanceof EntityArmorStand)
- {
+ public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw,
+ float headPitch, float scaleFactor, Entity entityIn) {
+ if (entityIn instanceof EntityArmorStand) {
EntityArmorStand entityarmorstand = (EntityArmorStand) entityIn;
this.bipedHead.rotateAngleX = 0.017453292F * entityarmorstand.getHeadRotation().getX();
this.bipedHead.rotateAngleY = 0.017453292F * entityarmorstand.getHeadRotation().getY();
@@ -94,6 +105,7 @@ public class ArmorRenderer extends ModelBiped
this.bipedRightLeg.setRotationPoint(-1.9F, 11.0F, 0.0F);
copyModelAngles(this.bipedHead, this.bipedHeadwear);
} else
- super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entityIn);
+ super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor,
+ entityIn);
}
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersHood.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersHood.java
index f9c55b1..54b2c6d 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersHood.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersHood.java
@@ -1,9 +1,7 @@
package lance5057.tDefense.core.tools.armor.renderers.cloth;
import lance5057.tDefense.core.tools.armor.renderers.ArmorRenderer;
-import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
/**
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersRobe.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersRobe.java
index 3157a09..e5f179a 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersRobe.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersRobe.java
@@ -1,9 +1,7 @@
package lance5057.tDefense.core.tools.armor.renderers.cloth;
import lance5057.tDefense.core.tools.armor.renderers.ArmorRenderer;
-import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
/**
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShawl.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShawl.java
index 67ca62e..1dc721f 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShawl.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShawl.java
@@ -1,9 +1,7 @@
package lance5057.tDefense.core.tools.armor.renderers.cloth;
import lance5057.tDefense.core.tools.armor.renderers.ArmorRenderer;
-import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
/**
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShoes.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShoes.java
index e5f6682..2f4a230 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShoes.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShoes.java
@@ -2,7 +2,6 @@ package lance5057.tDefense.core.tools.armor.renderers.cloth;
import lance5057.tDefense.core.tools.armor.renderers.ArmorRenderer;
import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
/**
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersBreastplate.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersBreastplate.java
index b59a189..4b3c5a6 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersBreastplate.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersBreastplate.java
@@ -2,7 +2,6 @@ package lance5057.tDefense.core.tools.armor.renderers.heavy;
import lance5057.tDefense.core.tools.armor.renderers.ArmorRenderer;
import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
/**
@@ -21,14 +20,14 @@ public class ModelTinkersBreastplate extends ArmorRenderer {
public ModelRenderer Pauldron2R;
public ModelTinkersBreastplate(ItemStack stack) {
- super(0.25f, 0, 96, 64, stack);
+ super(0.25f, 0, 128, 64, stack);
this.textureWidth = 128;
this.textureHeight = 64;
-// this.ArmL = new ModelRenderer(this, 92, 12);
-// this.ArmL.setRotationPoint(0.0F, 0.0F, 0.0F);
-// this.ArmL.addBox(-1.0F, -2.3F, -3.0F, 5, 6, 6, 0.0F);
-// this.bipedLeftArm.addChild(ArmL);
+ this.ArmL = new ModelRenderer(this, 92, 12);
+ this.ArmL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.ArmL.addBox(-1.0F, -2.3F, -3.0F, 5, 6, 6, 0.0F);
+ this.bipedLeftArm.addChild(ArmL);
this.PauldronR = new ModelRenderer(this, 88, 0);
this.PauldronR.mirror = true;
@@ -42,11 +41,11 @@ public class ModelTinkersBreastplate extends ArmorRenderer {
this.Plackart.addBox(-4.0F, 5.0F, -3.0F, 8, 7, 6, 0.3F);
this.bipedBody.addChild(Plackart);
-// this.ArmR = new ModelRenderer(this, 92, 12);
-// this.ArmR.mirror = true;
-// this.ArmR.setRotationPoint(0.0F, 0.0F, 0.0F);
-// this.ArmR.addBox(-4.0F, -2.3F, -3.0F, 5, 6, 6, 0.0F);
-// this.bipedRightArm.addChild(ArmR);
+ this.ArmR = new ModelRenderer(this, 92, 12);
+ this.ArmR.mirror = true;
+ this.ArmR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.ArmR.addBox(-4.0F, -2.3F, -3.0F, 5, 6, 6, 0.0F);
+ this.bipedRightArm.addChild(ArmR);
this.BackPlate = new ModelRenderer(this, 64, 24);
this.BackPlate.setRotationPoint(0.0F, 0.0F, 0.0F);
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersGrieves.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersGrieves.java
index e78670f..b14db14 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersGrieves.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersGrieves.java
@@ -2,7 +2,6 @@ package lance5057.tDefense.core.tools.armor.renderers.heavy;
import lance5057.tDefense.core.tools.armor.renderers.ArmorRenderer;
import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
/**
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersHelm.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersHelm.java
index 69808fd..937bcc4 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersHelm.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersHelm.java
@@ -2,7 +2,6 @@ package lance5057.tDefense.core.tools.armor.renderers.heavy;
import lance5057.tDefense.core.tools.armor.renderers.ArmorRenderer;
import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
/**
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersSabatons.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersSabatons.java
index 87092a8..0ec9aaa 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersSabatons.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersSabatons.java
@@ -2,7 +2,6 @@ package lance5057.tDefense.core.tools.armor.renderers.heavy;
import lance5057.tDefense.core.tools.armor.renderers.ArmorRenderer;
import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
/**
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersBoots.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersBoots.java
index 5b292f2..8412491 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersBoots.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersBoots.java
@@ -1,7 +1,6 @@
package lance5057.tDefense.core.tools.armor.renderers.light;
import lance5057.tDefense.core.tools.armor.renderers.ArmorRenderer;
-import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/shaders/ArmorShader.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/shaders/ArmorShader.java
index de1e004..5a1e803 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/renderers/shaders/ArmorShader.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/shaders/ArmorShader.java
@@ -1,67 +1,183 @@
package lance5057.tDefense.core.tools.armor.renderers.shaders;
-import org.lwjgl.opengl.GL11;
+import static org.lwjgl.opengl.GL11.GL_BLEND;
+import static org.lwjgl.opengl.GL11.GL_ONE_MINUS_SRC_ALPHA;
+import static org.lwjgl.opengl.GL11.GL_QUADS;
+import static org.lwjgl.opengl.GL11.GL_SRC_ALPHA;
+import static org.lwjgl.opengl.GL11.glBegin;
+import static org.lwjgl.opengl.GL11.glBlendFunc;
+import static org.lwjgl.opengl.GL11.glColor3d;
+import static org.lwjgl.opengl.GL11.glColor4f;
+import static org.lwjgl.opengl.GL11.glEnable;
+import static org.lwjgl.opengl.GL11.glEnd;
+import static org.lwjgl.opengl.GL11.glTexCoord2f;
+
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.imageio.ImageIO;
import lance5057.tDefense.util.Color16Util;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.resources.IResourceManager;
import net.minecraft.util.ResourceLocation;
import slimeknights.tconstruct.library.client.MaterialRenderInfo;
+import slimeknights.tconstruct.library.client.texture.TextureColoredTexture;
-public class ArmorShader
-{
- public static void colorize(ResourceLocation r1, int color)
- {
- Minecraft.getMinecraft().getTextureManager().bindTexture(r1);
+public class ArmorShader {
- String hex = Integer.toHexString(color);
- int[] colors;
- if(hex.length() == 8)
- colors = Color16Util.hexToRGB(hex.substring(2));
- else
- colors = Color16Util.hexToRGB(hex);
- GL11.glColor3d((float) colors[0] / 255, (float) colors[1] / 255, (float) colors[2] / 255);
+ public static BufferedImage colorize(ResourceLocation r1, int color) {
+ IResourceManager manager = Minecraft.getMinecraft().getResourceManager();
+ try {
+ BufferedImage buff = ImageIO.read(manager.getResource(r1).getInputStream());
+ BufferedImage tint = new BufferedImage(buff.getWidth(), buff.getHeight(), BufferedImage.TYPE_INT_ARGB);
+
+ Graphics2D graphics = tint.createGraphics();
+
+ graphics.setPaint(new Color(color));
+ graphics.fillRect(0, 0, tint.getWidth(), tint.getHeight());
+ graphics.dispose();
+
+ return multiply(buff, tint);
+
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return null;
}
- public static void metalTexture(ResourceLocation r1, ResourceLocation r2, int color)
- {
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ public static void metalTexture(ResourceLocation r1, ResourceLocation r2, int color) {
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
Minecraft.getMinecraft().getTextureManager().bindTexture(r1);
int[] colors = Color16Util.hexToRGB(Integer.toHexString(color));
-// GL11.glColor3d((float) colors[0] / 255, (float) colors[1] / 255, (float) colors[2] / 255);
-
+ // glColor3d((float) colors[0] / 255, (float) colors[1] / 255, (float)
+ // colors[2] / 255);
+
Minecraft.getMinecraft().getTextureManager().bindTexture(r1);
- GL11.glColor4f((float) colors[0] / 255, (float) colors[1] / 255, (float) colors[2] / 255, 1.0f);
- GL11.glBegin(GL11.GL_QUADS);
- GL11.glTexCoord2f(0.0f, 0.0f);
- GL11.glTexCoord2f(1.0f, 0.0f);
- GL11.glTexCoord2f(1.0f, 1.0f);
- GL11.glTexCoord2f(0.0f, 1.0f);
- GL11.glEnd();
-
+ glColor4f((float) colors[0] / 255, (float) colors[1] / 255, (float) colors[2] / 255, 1.0f);
+ glBegin(GL_QUADS);
+ glTexCoord2f(0.0f, 0.0f);
+ glTexCoord2f(1.0f, 0.0f);
+ glTexCoord2f(1.0f, 1.0f);
+ glTexCoord2f(0.0f, 1.0f);
+ glEnd();
+
Minecraft.getMinecraft().getTextureManager().bindTexture(r2);
- GL11.glColor4f((float) colors[0] / 255, (float) colors[1] / 255, (float) colors[2] / 255, 1.0f);
- GL11.glBegin(GL11.GL_QUADS);
- GL11.glTexCoord2f(0.0f, 0.0f);
- GL11.glTexCoord2f(1.0f, 0.0f);
- GL11.glTexCoord2f(1.0f, 1.0f);
- GL11.glTexCoord2f(0.0f, 1.0f);
- GL11.glEnd();
+ glColor4f((float) colors[0] / 255, (float) colors[1] / 255, (float) colors[2] / 255, 1.0f);
+ glBegin(GL_QUADS);
+ glTexCoord2f(0.0f, 0.0f);
+ glTexCoord2f(1.0f, 0.0f);
+ glTexCoord2f(1.0f, 1.0f);
+ glTexCoord2f(0.0f, 1.0f);
+ glEnd();
+ }
+
+ public static BufferedImage blockTexture(TextureColoredTexture sprite) {
+
+ List<ResourceLocation> l = (List<ResourceLocation>) sprite.getDependencies();
+ String s = l.get(1).toString();
+
+ IResourceManager manager = Minecraft.getMinecraft().getResourceManager();
+ if (s.contains("minecraft:")) {
+ s = s.substring(s.indexOf(":") + 1);
+ s = "textures/" + s + ".png";
+ } else {
+ s = l.get(1).getResourceDomain() + ":textures/" + l.get(1).getResourcePath() + ".png";
+ }
+ try {
+ BufferedImage buff = ImageIO.read(manager.getResource(l.get(0)).getInputStream());
+ BufferedImage buff2 = ImageIO.read(manager.getResource(new ResourceLocation(s)).getInputStream());
+
+ return multiply(buff, buff2);
+ } catch (IOException e) {
+ Logger.getAnonymousLogger().log(Level.SEVERE, "Somethings Fucky - TinkersDefense:ArmorShader - Line 107");
+ }
+ return null;
+
}
- public static void selectRenderer(MaterialRenderInfo info, ResourceLocation r1)
- {
- if(info instanceof MaterialRenderInfo.MetalTextured)
- metalTexture(r1,r1, ((MaterialRenderInfo.MetalTextured) info).color);
- else if(info instanceof MaterialRenderInfo.Metal)
- colorize(r1, ((MaterialRenderInfo.Metal) info).color);
- else if(info instanceof MaterialRenderInfo.MultiColor)
- colorize(r1, ((MaterialRenderInfo.MultiColor) info).getVertexColor());
- else if(info instanceof MaterialRenderInfo.InverseMultiColor)
- colorize(r1, ((MaterialRenderInfo.InverseMultiColor) info).getVertexColor());
+ public static void selectRenderer(BufferedImage b, MaterialRenderInfo info, ResourceLocation r1) {
+
+ Graphics g = b.getGraphics();
+
+ if (info instanceof MaterialRenderInfo.MetalTextured)
+ metalTexture(r1, r1, ((MaterialRenderInfo.MetalTextured) info).color);
+ else if (info instanceof MaterialRenderInfo.Metal)
+ g.drawImage(colorize(r1, ((MaterialRenderInfo.Metal) info).color), 0, 0, null);
+ else if (info instanceof MaterialRenderInfo.MultiColor)
+ g.drawImage(colorize(r1, ((MaterialRenderInfo.MultiColor) info).getVertexColor()), 0, 0, null);
+ else if (info instanceof MaterialRenderInfo.InverseMultiColor)
+ g.drawImage(colorize(r1, ((MaterialRenderInfo.InverseMultiColor) info).getVertexColor()), 0, 0, null);
+ else if (info instanceof MaterialRenderInfo.BlockTexture)
+ g.drawImage(
+ blockTexture((TextureColoredTexture) ((MaterialRenderInfo.BlockTexture) info).getTexture(r1, "")),
+ 0, 0, null);
else
- colorize(r1, ((MaterialRenderInfo.Default) info).color);
-
+ g.drawImage(colorize(r1, ((MaterialRenderInfo.Default) info).color), 0, 0, null);
+
+ g.dispose();
+
+ }
+
+ public static BufferedImage multiply(BufferedImage buff, BufferedImage buff2) {
+ BufferedImage buffImg = new BufferedImage(buff.getWidth(), buff.getHeight(), BufferedImage.TYPE_INT_ARGB);
+
+ for (int i = 0; i < buff.getWidth(); i++)
+ for (int j = 0; j < buff.getHeight(); j++) {
+ Color c1 = new Color(buff.getRGB(i, j), true);
+ int x = i % buff2.getWidth();
+ int y = j % buff2.getHeight();
+ Color c2 = new Color(buff2.getRGB(x, y), true);
+ float r, g, b, a;
+ Color out;
+
+ // multiply here
+ r = (((float) c1.getRed()) / 255) * (((float) c2.getRed()) / 255);
+ g = (((float) c1.getGreen()) / 255) * (((float) c2.getGreen()) / 255);
+ b = (((float) c1.getBlue()) / 255) * (((float) c2.getBlue()) / 255);
+
+ // transparency always comes from the first buffer
+ int a2 = c1.getAlpha();
+ a = ((float) c1.getAlpha()) / 255;
+
+ out = new Color(r, g, b, a);
+ buffImg.setRGB(i, j, out.getRGB());
+ }
+
+ return buffImg;
+ }
+
+ public static BufferedImage Invert(BufferedImage buff) {
+ BufferedImage buffImg = new BufferedImage(buff.getWidth(), buff.getHeight(), BufferedImage.TYPE_INT_ARGB);
+
+ for (int i = 0; i < buff.getWidth(); i++)
+ for (int j = 0; j < buff.getHeight(); j++) {
+ Color c1 = new Color(buff.getRGB(i, j), true);
+ float r, g, b, a;
+ Color out;
+
+ // invert here
+ r = Math.abs((((float) c1.getRed()) / 255) - 1.0f);
+ g = Math.abs((((float) c1.getGreen()) / 255) - 1.0f);
+ b = Math.abs((((float) c1.getBlue()) / 255) - 1.0f);
+
+ // transparency always comes from the first buffer
+ int a2 = c1.getAlpha();
+ a = ((float) c1.getAlpha()) / 255;
+
+ out = new Color(r, g, b, a);
+ buffImg.setRGB(i, j, out.getRGB());
+ }
+
+ return buffImg;
}
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStraps.java b/src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStraps.java
index d784530..e7e003f 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStraps.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStraps.java
@@ -3,7 +3,6 @@ package lance5057.tDefense.core.tools.armor.straps;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import baubles.api.IBauble;
import lance5057.tDefense.TinkersDefense;
import lance5057.tDefense.core.tools.bases.ArmorCore;
import net.minecraft.client.model.ModelBiped;
@@ -25,6 +24,7 @@ import net.minecraftforge.common.ISpecialArmor;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ICapabilityProvider;
import net.minecraftforge.common.capabilities.ICapabilitySerializable;
+import net.minecraftforge.common.util.EnumHelper;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.items.CapabilityItemHandler;
@@ -33,10 +33,18 @@ import net.minecraftforge.items.ItemStackHandler;
public class ItemStraps extends ItemArmor implements ISpecialArmor
{
+ public static ArmorMaterial ARMOR = EnumHelper.addArmorMaterial("NAME", "blank", 0, new int[] {0, 0, 0, 0}, 0, null, 0);
+
public EntityEquipmentSlot equipSlot;
+
+ @SideOnly(Side.CLIENT)
+ private ModelBiped model;
+
+ private ItemStack stack;
+
public ItemStraps(EntityEquipmentSlot slot)
{
- super(ArmorMaterial.LEATHER, 0, slot);
+ super(ARMOR, 0, slot);
// ItemStacks that store an NBT Tag Compound are limited to stack size
// of 1
setMaxStackSize(1);
@@ -66,7 +74,12 @@ public class ItemStraps extends ItemArmor implements ISpecialArmor
ItemStack in = itemStack.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null).getStackInSlot(0);
if(in.getItem() instanceof ArmorCore)
{
- return ((ArmorCore)in.getItem()).getArmorModel(in);
+ if(model == null || stack == null || !stack.equals(in))
+ {
+ model = ((ArmorCore)in.getItem()).getArmorModel(in);
+ stack = in;
+ }
+ return model;
}
return null;
}
@@ -78,39 +91,33 @@ public class ItemStraps extends ItemArmor implements ISpecialArmor
return new InvProvider();
}
- public static class InvProvider implements ICapabilitySerializable
- {
+ private static class InvProvider implements ICapabilitySerializable<NBTBase> {
private final IItemHandler inv = new ItemStackHandler(1);
@Override
- public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing)
- {
+ public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing) {
return capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY;
}
@Override
- public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing)
- {
- if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
+ public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing) {
+ if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(inv);
- else
- return null;
+ else return null;
}
@Override
- public NBTBase serializeNBT()
- {
+ public NBTBase serializeNBT() {
return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.writeNBT(inv, null);
}
@Override
- public void deserializeNBT(NBTBase nbt)
- {
+ public void deserializeNBT(NBTBase nbt) {
CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.readNBT(inv, null, nbt);
}
}
-
+
// Without this method, your inventory will NOT work!!!
@Override
public int getMaxItemUseDuration(ItemStack stack)
@@ -146,7 +153,8 @@ public class ItemStraps extends ItemArmor implements ISpecialArmor
ItemStack in = armor.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null).getStackInSlot(0);
if(in.getItem() instanceof ArmorCore)
{
- return ((ArmorCore)in.getItem()).getArmorDisplay();
+ int i = ((ArmorCore)in.getItem()).getArmorDisplay(in);
+ return i;
}
return 0;
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStrapsInv.java b/src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStrapsInv.java
index 3880e6f..8929e93 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStrapsInv.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStrapsInv.java
@@ -7,15 +7,15 @@ import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandlerModifiable;
import net.minecraftforge.items.ItemStackHandler;
-public class ItemStrapsInv extends ItemStackHandler
+public class ItemStrapsInv implements IItemHandlerModifiable
{
private ItemStack invItem = ItemStack.EMPTY;
public static final int INVSIZE = 1;
private final String name = "ArmorHolder";
- private final ItemStackHandler inventory;
-
+ private final IItemHandlerModifiable inventory;
+
public ItemStrapsInv(ItemStack stack)
{
invItem = stack;
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsContainer.java b/src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsContainer.java
index 9e672d0..dda3b5f 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsContainer.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsContainer.java
@@ -2,51 +2,27 @@ package lance5057.tDefense.core.tools.armor.straps;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.ClickType;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumHand;
import net.minecraftforge.items.SlotItemHandler;
public class StrapsContainer extends Container
{
- /** The Item Inventory for this Container, only needed if you want to reference isUseableByPlayer */
public final ItemStrapsInv inventory;
- /** Using these will make transferStackInSlot easier to understand and implement
- * INV_START is the index of the first slot in the Player's Inventory, so our
- * InventoryItem's number of slots (e.g. 5 slots is array indices 0-4, so start at 5)
- * Notice how we don't have to remember how many slots we made? We can just use
- * InventoryItem.INV_SIZE and if we ever change it, the Container updates automatically. */
private static final int INV_START = ItemStrapsInv.INVSIZE, INV_END = INV_START+26,
HOTBAR_START = INV_END+1, HOTBAR_END = HOTBAR_START+8;
-
- // If you're planning to add armor slots, put those first like this:
- // ARMOR_START = InventoryItem.INV_SIZE, ARMOR_END = ARMOR_START+3,
- // INV_START = ARMOR_END+1, and then carry on like above.
+
public StrapsContainer(EntityPlayer par1Player, InventoryPlayer inventoryPlayer, ItemStrapsInv inventoryItem)
{
this.inventory = inventoryItem;
int i;
-
- // ITEM INVENTORY - you'll need to adjust the slot locations to match your texture file
- // I have them set vertically in columns of 4 to the right of the player model
+
this.addSlotToContainer(new SlotItemHandler(this.inventory, 0, 80, 8+23));
- // If you want, you can add ARMOR SLOTS here as well, but you need to
- // make a public version of SlotArmor. I won't be doing that in this tutorial.
- /*
- for (i = 0; i < 4; ++i)
- {
- // These are the standard positions for survival inventory layout
- this.addSlotToContainer(new SlotArmor(this.player, inventoryPlayer, inventoryPlayer.getSizeInventory() - 1 - i, 8, 8 + i * 18, i));
- }
- */
-
- // PLAYER INVENTORY - uses default locations for standard inventory texture file
for (i = 0; i < 3; ++i)
{
for (int j = 0; j < 9; ++j)
@@ -55,7 +31,6 @@ public class StrapsContainer extends Container
}
}
- // PLAYER ACTION BAR - uses default locations for standard action bar texture file
for (i = 0; i < 9; ++i)
{
this.addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142));
@@ -68,9 +43,6 @@ public class StrapsContainer extends Container
return true;
}
- /**
- * 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 index)
{
ItemStack itemstack = ItemStack.EMPTY;
@@ -81,10 +53,8 @@ public class StrapsContainer extends Container
ItemStack itemstack1 = slot.getStack();
itemstack = itemstack1.copy();
- // If item is in our custom Inventory or armor slot
if (index < INV_START)
{
- // try to place in player inventory / action bar
if (!this.mergeItemStack(itemstack1, INV_START, HOTBAR_END+1, true))
{
return ItemStack.EMPTY;
@@ -92,72 +62,15 @@ public class StrapsContainer extends Container
slot.onSlotChange(itemstack1, itemstack);
}
- // Item is in inventory / hotbar, try to place in custom inventory or armor slots
else
{
- /*
- If your inventory only stores certain instances of Items,
- you can implement shift-clicking to your inventory like this:
-
- // Check that the item is the right type
- if (itemstack1.getItem() instanceof ItemCustom)
- {
- // Try to merge into your custom inventory slots
- // We use 'InventoryItem.INV_SIZE' instead of INV_START just in case
- // you also add armor or other custom slots
- if (!this.mergeItemStack(itemstack1, 0, InventoryItem.INV_SIZE, false))
- {
- return null;
- }
- }
- // If you added armor slots, check them here as well:
- // Item being shift-clicked is armor - try to put in armor slot
- if (itemstack1.getItem() instanceof ItemArmor)
- {
- int type = ((ItemArmor) itemstack1.getItem()).armorType;
- if (!this.mergeItemStack(itemstack1, ARMOR_START + type, ARMOR_START + type + 1, false))
- {
- return null;
- }
- }
- Otherwise, you have basically 2 choices:
- 1. shift-clicking between player inventory and custom inventory
- 2. shift-clicking between action bar and inventory
-
- Be sure to choose only ONE of the following implementations!!!
- */
- /**
- * Implementation number 1: Shift-click into your custom inventory
- */
if (index >= INV_START)
{
- // place in custom inventory
if (!this.mergeItemStack(itemstack1, 0, INV_START, false))
{
return ItemStack.EMPTY;
}
}
-
-// /**
-// * Implementation number 2: Shift-click items between action bar and inventory
-// */
-// // item is in player's inventory, but not in action bar
-// if (index >= INV_START && index < HOTBAR_START)
-// {
-// // place in action bar
-// if (!this.mergeItemStack(itemstack1, HOTBAR_START, HOTBAR_END+1, false))
-// {
-// return ItemStack.EMPTY;
-// }
-// }
-// // item in action bar - place in player inventory
-// else if (index >= HOTBAR_START && index < HOTBAR_END+1)
-// {
-// if (!this.mergeItemStack(itemstack1, INV_START, INV_END+1, false))
-// {
-// return ItemStack.EMPTY;
-// }
-// }
}
if (itemstack1.getItemDamage() == 0)
diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsGui.java b/src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsGui.java
index 292e037..97423dc 100644
--- a/src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsGui.java
+++ b/src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsGui.java
@@ -1,112 +1,54 @@
package lance5057.tDefense.core.tools.armor.straps;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
+import java.util.List;
import lance5057.tDefense.Reference;
import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.client.renderer.OpenGlHelper;
+import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderHelper;
-import net.minecraft.client.renderer.entity.RenderManager;
-import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.client.resources.I18n;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.text.translation.I18n;
+import net.minecraftforge.items.SlotItemHandler;
-public class StrapsGui extends GuiContainer
-{
- /** x and y size of the inventory window in pixels. Defined as float, passed as int
- * These are used for drawing the player model. */
- private float xSize_lo;
- private float ySize_lo;
+public class StrapsGui extends GuiContainer {
- /** ResourceLocation takes 2 parameters: ModId, path to texture at the location:
- * "src/minecraft/assets/modid/"
- *
- * I have provided a sample texture file that works with this tutorial. Download it
- * from Forge_Tutorials/textures/gui/
- */
- private static final ResourceLocation iconLocation = new ResourceLocation(Reference.MOD_ID, "textures/gui/straps_helm.png");
-
- /** The inventory to render on screen */
- private final ItemStrapsInv inventory;
+ private static final ResourceLocation texture = new ResourceLocation(Reference.MOD_ID,
+ "textures/gui/straps_helm.png");
- public StrapsGui(StrapsContainer containerItem)
- {
+ public StrapsGui(StrapsContainer containerItem) {
super(containerItem);
- this.inventory = containerItem.inventory;
}
/**
* Draws the screen and all the components in it.
*/
- public void drawScreen(int par1, int par2, float par3)
- {
- super.drawScreen(par1, par2, par3);
- this.xSize_lo = (float)par1;
- this.ySize_lo = (float)par2;
+ public void drawScreen(int mouseX, int mouseY, float partialTicks) {
+ this.drawDefaultBackground();
+ super.drawScreen(mouseX, mouseY, partialTicks);
+ this.renderHoveredToolTip(mouseX, mouseY);
}
- /**
- * Draw the foreground layer for the GuiContainer (everything in front of the items)
- */
- protected void drawGuiContainerForegroundLayer(int par1, int par2)
- {
-// String s = this.inventory.isInvNameLocalized() ? this.inventory.getName() : I18n.getString(this.inventory.getName());
-// this.fontRendererObj.drawString(s, this.xSize / 2 - this.fontRendererObj.getStringWidth(s) / 2, 0, 4210752);
-// this.fontRendererObj.drawString(I18n.getString("container.inventory"), 26, this.ySize - 96 + 4, 4210752);
+ @Override
+ protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) {
+ String s = I18n.format("straps");
+ fontRenderer.drawString(s, xSize / 2 - fontRenderer.getStringWidth(s) / 2, 6, 4210752);
+ fontRenderer.drawString(I18n.format("container.inventory"), 8, 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(iconLocation);
- 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;
- //drawPlayerModel(k + 51, l + 75, 30, (float)(k + 51) - this.xSize_lo, (float)(l + 75 - 50) - this.ySize_lo, this.mc.player);
+ @Override
+ protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) {
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ mc.getTextureManager().bindTexture(texture);
+ int k = (width - xSize) / 2;
+ int l = (height - ySize) / 2;
+ drawTexturedModalRect(k, l, 0, 0, xSize, ySize);
+
+ List<Slot> slotList = inventorySlots.inventorySlots;
+ for (Slot slot : slotList)
+ if (slot instanceof SlotItemHandler) {
+ SlotItemHandler slotf = (SlotItemHandler) slot;
+ }
}
-
-// /**
-// * This renders the player model in standard inventory position (in later versions of Minecraft / Forge, you can
-// * simply call GuiInventory.drawEntityOnScreen directly instead of copying this code)
-// */
-// public static void drawPlayerModel(int x, int y, int scale, float yaw, float pitch, EntityLivingBase entity) {
-// GL11.glEnable(GL11.GL_COLOR_MATERIAL);
-// GL11.glPushMatrix();
-// GL11.glTranslatef(x, y, 50.0F);
-// GL11.glScalef(-scale, scale, scale);
-// GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
-// float f2 = entity.renderYawOffset;
-// float f3 = entity.rotationYaw;
-// float f4 = entity.rotationPitch;
-// float f5 = entity.prevRotationYawHead;
-// float f6 = entity.rotationYawHead;
-// 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(pitch / 40.0F)) * 20.0F, 1.0F, 0.0F, 0.0F);
-// entity.renderYawOffset = (float) Math.atan(yaw / 40.0F) * 20.0F;
-// entity.rotationYaw = (float) Math.atan(yaw / 40.0F) * 40.0F;
-// entity.rotationPitch = -((float) Math.atan(pitch / 40.0F)) * 20.0F;
-// entity.rotationYawHead = entity.rotationYaw;
-// entity.prevRotationYawHead = entity.rotationYaw;
-// GL11.glTranslated(0.0F, entity.getYOffset(), 0.0F);
-// RenderManager.instance.playerViewY = 180.0F;
-// RenderManager.instance.renderEntityWithPosYaw(entity, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F);
-// entity.renderYawOffset = f2;
-// entity.rotationYaw = f3;
-// entity.rotationPitch = f4;
-// entity.prevRotationYawHead = f5;
-// entity.rotationYawHead = f6;
-// GL11.glPopMatrix();
-// RenderHelper.disableStandardItemLighting();
-// GL11.glDisable(GL12.GL_RESCALE_NORMAL);
-// OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit);
-// GL11.glDisable(GL11.GL_TEXTURE_2D);
-// OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit);
-// }
} \ No newline at end of file
diff --git a/src/main/java/lance5057/tDefense/core/tools/bases/ArmorCore.java b/src/main/java/lance5057/tDefense/core/tools/bases/ArmorCore.java
index 0c4ef87..e697e0c 100644
--- a/src/main/java/lance5057/tDefense/core/tools/bases/ArmorCore.java
+++ b/src/main/java/lance5057/tDefense/core/tools/bases/ArmorCore.java
@@ -4,93 +4,78 @@ import java.util.ArrayList;
import java.util.List;
import lance5057.tDefense.Reference;
-import net.minecraft.client.Minecraft;
+import lance5057.tDefense.core.materials.ArmorMaterialStats;
+import lance5057.tDefense.util.ArmorNBT;
import net.minecraft.client.model.ModelBiped;
-import net.minecraft.client.renderer.ItemModelMesher;
-import net.minecraft.client.renderer.block.model.BakedQuad;
-import net.minecraft.client.renderer.block.model.IBakedModel;
-import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
-import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.EnumFacing;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-import slimeknights.tconstruct.library.client.model.MaterialModel;
-import slimeknights.tconstruct.library.client.model.ModelHelper;
-import slimeknights.tconstruct.library.client.model.ToolModel;
+import slimeknights.tconstruct.library.materials.ExtraMaterialStats;
+import slimeknights.tconstruct.library.materials.HandleMaterialStats;
+import slimeknights.tconstruct.library.materials.Material;
+import slimeknights.tconstruct.library.materials.MaterialTypes;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
import slimeknights.tconstruct.library.tools.ToolCore;
-import slimeknights.tconstruct.library.tools.ToolNBT;
+import slimeknights.tconstruct.library.utils.TagUtil;
-public abstract class ArmorCore extends ToolCore
-{
- public ArmorCore(PartMaterialType... requiredComponents)
- {
+public abstract class ArmorCore extends ToolCore {
+ public ArmorCore(PartMaterialType... requiredComponents) {
super(requiredComponents);
}
- protected String getHarvestType()
- {
+ protected String getHarvestType() {
return null;
}
@Override
- public float damagePotential()
- {
+ public float damagePotential() {
return 0.0f;
}
@Override
- public double attackSpeed()
- {
+ public double attackSpeed() {
return 0;
}
@Override
- public NBTTagCompound buildTag(List<slimeknights.tconstruct.library.materials.Material> materials)
- {
- ToolNBT data = buildDefaultTag(materials);
- return data.get();
- }
+ public abstract NBTTagCompound buildTag(List<slimeknights.tconstruct.library.materials.Material> materials);
- public int getArmorDisplay()
- {
- return 0;
+ public int getArmorDisplay(ItemStack stack) {
+ return TagUtil.getToolStats(stack).get().getInteger("ArmorRating");
}
@SideOnly(Side.CLIENT)
- public abstract String getArmorTexture(ItemStack stack,int layer);
+ public abstract String getArmorTexture(ItemStack stack, int layer);
@SideOnly(Side.CLIENT)
public abstract ModelBiped getArmorModel(ItemStack stack);
- public List<TextureAtlasSprite> sprites;
+ public ArmorNBT buildDefaultArmorTag(List<Material> materials, String type) {
+ ArmorNBT data = new ArmorNBT();
- @SideOnly(Side.CLIENT)
- public void initTextures(ItemStack stack, EntityLivingBase entity)
- {
- sprites = new ArrayList<TextureAtlasSprite>();
-
- TextureAtlasSprite s = ((ToolCore)stack.getItem()).getMaterialForPartForGuiRendering(0).renderInfo.getTexture(new ResourceLocation(Reference.MOD_ID), "hood_cloth");
-
-// ItemModelMesher mesher = Minecraft.getMinecraft().getRenderItem().getItemModelMesher();
-// List<BakedQuad> list = new ArrayList<BakedQuad>();
-//
-// IBakedModel m = Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(stack, entity.world, entity);
- //Minecraft.getMinecraft().getRenderItem().renderItem(stack, ItemCameraTransforms.TransformType.NONE);
- //= ModelHelper.getBakedModelForItem(stack, entity.world, entity);
-
-// list.addAll(m.getQuads(null, null, 0));
-//
-// for (BakedQuad quad : list)
-// {
-// ResourceLocation loc1 = new ResourceLocation(quad.getSprite().getIconName());
-//
-// sprites.add(Minecraft.getMinecraft().getTextureMapBlocks().getAtlasSprite(loc1.toString()));
-// }
+ if (materials.size() >= 2) {
+ HandleMaterialStats handle = materials.get(0).getStatsOrUnknown(MaterialTypes.HANDLE);
+ ArmorMaterialStats head = materials.get(1).getStatsOrUnknown(type);
+ // start with head
+ data.head(head);
+
+ // add in accessoires if present
+ if (materials.size() >= 3) {
+ ExtraMaterialStats binding = materials.get(2).getStatsOrUnknown(MaterialTypes.EXTRA);
+ data.extra(binding);
+ }
+
+ // calculate handle impact
+ data.handle(handle);
+ }
+
+ // 3 free modifiers
+ data.modifiers = 5;
+
+ return data;
}
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/bases/BaubleTool.java b/src/main/java/lance5057/tDefense/core/tools/bases/BaubleTool.java
index d421dea..a074bba 100644
--- a/src/main/java/lance5057/tDefense/core/tools/bases/BaubleTool.java
+++ b/src/main/java/lance5057/tDefense/core/tools/bases/BaubleTool.java
@@ -2,41 +2,17 @@ package lance5057.tDefense.core.tools.bases;
import java.util.List;
-import javax.annotation.Nullable;
-
-import baubles.api.BaubleType;
import baubles.api.IBauble;
import baubles.api.render.IRenderBauble;
-import lance5057.tDefense.core.materials.ShieldMaterialStats;
-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.IProjectile;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.projectile.EntityArrow;
-import net.minecraft.item.EnumAction;
-import net.minecraft.item.IItemPropertyGetter;
-import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.ActionResult;
-import net.minecraft.util.DamageSource;
-import net.minecraft.util.EnumActionResult;
-import net.minecraft.util.EnumFacing;
-import net.minecraft.util.EnumHand;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
-import net.minecraftforge.fml.common.Optional;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-import slimeknights.tconstruct.library.client.model.ToolModelLoader;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
import slimeknights.tconstruct.library.tools.ToolCore;
import slimeknights.tconstruct.library.tools.ToolNBT;
-import slimeknights.tconstruct.tools.TinkerTools;
//@Optional.InterfaceList({@Optional.Interface(modid = "battlegear2", iface = "mods.battlegear2.api.ISheathed"), @Optional.Interface(modid = "battlegear2", iface = "mods.battlegear2.api.shield.IArrowCatcher"), @Optional.Interface(modid = "battlegear2", iface = "mods.battlegear2.api.shield.IArrowDisplay"), @Optional.Interface(modid = "battlegear2", iface = "mods.battlegear2.api.shield.IShield")})
public abstract class BaubleTool extends ToolCore implements IBauble, IRenderBauble
diff --git a/src/main/java/lance5057/tDefense/core/tools/bases/Shield.java b/src/main/java/lance5057/tDefense/core/tools/bases/Shield.java
index 5daae67..6d0a587 100644
--- a/src/main/java/lance5057/tDefense/core/tools/bases/Shield.java
+++ b/src/main/java/lance5057/tDefense/core/tools/bases/Shield.java
@@ -4,8 +4,6 @@ import java.util.List;
import javax.annotation.Nullable;
-import lance5057.tDefense.core.materials.ShieldMaterialStats;
-import lance5057.tDefense.core.parts.TDParts;
import net.minecraft.block.BlockDispenser;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.entity.Entity;
diff --git a/src/main/java/lance5057/tDefense/core/tools/basic/HeaterShield.java b/src/main/java/lance5057/tDefense/core/tools/basic/HeaterShield.java
index 610b817..f70dca9 100644
--- a/src/main/java/lance5057/tDefense/core/tools/basic/HeaterShield.java
+++ b/src/main/java/lance5057/tDefense/core/tools/basic/HeaterShield.java
@@ -4,7 +4,6 @@ import lance5057.tDefense.core.materials.ShieldMaterialStats;
import lance5057.tDefense.core.parts.TDParts;
import lance5057.tDefense.core.tools.bases.Shield;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
-import slimeknights.tconstruct.library.tools.IToolPart;
import slimeknights.tconstruct.tools.TinkerTools;
public class HeaterShield extends Shield
diff --git a/src/main/java/lance5057/tDefense/core/tools/basic/RoundShield.java b/src/main/java/lance5057/tDefense/core/tools/basic/RoundShield.java
index f7103eb..ff4388a 100644
--- a/src/main/java/lance5057/tDefense/core/tools/basic/RoundShield.java
+++ b/src/main/java/lance5057/tDefense/core/tools/basic/RoundShield.java
@@ -1,13 +1,8 @@
package lance5057.tDefense.core.tools.basic;
-import lance5057.tDefense.TinkersDefense;
import lance5057.tDefense.core.materials.ShieldMaterialStats;
import lance5057.tDefense.core.parts.TDParts;
import lance5057.tDefense.core.tools.bases.Shield;
-import net.minecraft.entity.Entity;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
import slimeknights.tconstruct.tools.TinkerTools;
diff --git a/src/main/java/lance5057/tDefense/core/tools/basic/TowerShield.java b/src/main/java/lance5057/tDefense/core/tools/basic/TowerShield.java
index 31f6c25..ebaf791 100644
--- a/src/main/java/lance5057/tDefense/core/tools/basic/TowerShield.java
+++ b/src/main/java/lance5057/tDefense/core/tools/basic/TowerShield.java
@@ -4,7 +4,6 @@ import lance5057.tDefense.core.materials.ShieldMaterialStats;
import lance5057.tDefense.core.parts.TDParts;
import lance5057.tDefense.core.tools.bases.Shield;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
-import slimeknights.tconstruct.library.tools.IToolPart;
import slimeknights.tconstruct.tools.TinkerTools;
public class TowerShield extends Shield
diff --git a/src/main/java/lance5057/tDefense/core/tools/baubles/Amulet.java b/src/main/java/lance5057/tDefense/core/tools/baubles/Amulet.java
index 77c90c4..22e1baf 100644
--- a/src/main/java/lance5057/tDefense/core/tools/baubles/Amulet.java
+++ b/src/main/java/lance5057/tDefense/core/tools/baubles/Amulet.java
@@ -6,7 +6,6 @@ import lance5057.tDefense.core.tools.bases.BaubleTool;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
-import slimeknights.tconstruct.tools.TinkerTools;
public class Amulet extends BaubleTool
{
diff --git a/src/main/java/lance5057/tDefense/core/tools/baubles/Ring.java b/src/main/java/lance5057/tDefense/core/tools/baubles/Ring.java
index 08ffa69..224cd09 100644
--- a/src/main/java/lance5057/tDefense/core/tools/baubles/Ring.java
+++ b/src/main/java/lance5057/tDefense/core/tools/baubles/Ring.java
@@ -6,7 +6,6 @@ import lance5057.tDefense.core.tools.bases.BaubleTool;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import slimeknights.tconstruct.library.tinkering.PartMaterialType;
-import slimeknights.tconstruct.tools.TinkerTools;
public class Ring extends BaubleTool
{
diff --git a/src/main/java/lance5057/tDefense/holiday/HolidayBase.java b/src/main/java/lance5057/tDefense/holiday/HolidayBase.java
index 909ee44..80cb4e0 100644
--- a/src/main/java/lance5057/tDefense/holiday/HolidayBase.java
+++ b/src/main/java/lance5057/tDefense/holiday/HolidayBase.java
@@ -2,27 +2,16 @@ package lance5057.tDefense.holiday;
import java.util.Calendar;
-import com.mojang.authlib.GameProfile;
-
import lance5057.tDefense.Reference;
-import lance5057.tDefense.TinkersDefense;
import lance5057.tDefense.util.ModuleBase;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
-import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemFood;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTUtil;
-import net.minecraft.world.storage.loot.LootEntry;
import net.minecraft.world.storage.loot.LootEntryItem;
import net.minecraft.world.storage.loot.LootTable;
-import net.minecraft.world.storage.loot.RandomValueRange;
import net.minecraft.world.storage.loot.conditions.LootCondition;
import net.minecraft.world.storage.loot.conditions.RandomChance;
import net.minecraft.world.storage.loot.functions.LootFunction;
-import net.minecraft.world.storage.loot.functions.SetMetadata;
-import net.minecraft.world.storage.loot.functions.SetNBT;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.common.MinecraftForge;
diff --git a/src/main/java/lance5057/tDefense/holiday/HolidayClientProxy.java b/src/main/java/lance5057/tDefense/holiday/HolidayClientProxy.java
index 0d785d5..aa23cab 100644
--- a/src/main/java/lance5057/tDefense/holiday/HolidayClientProxy.java
+++ b/src/main/java/lance5057/tDefense/holiday/HolidayClientProxy.java
@@ -1,10 +1,7 @@
package lance5057.tDefense.holiday;
-import slimeknights.tconstruct.library.client.renderer.RenderTinkerSlime;
-import slimeknights.tconstruct.world.entity.EntityBlueSlime;
import lance5057.tDefense.holiday.xmas.gumdropslime.GumDropSlime;
import lance5057.tDefense.holiday.xmas.gumdropslime.GumDropSlimeRenderer;
-import net.minecraft.client.model.ModelSlime;
import net.minecraftforge.fml.client.registry.RenderingRegistry;
public class HolidayClientProxy {
diff --git a/src/main/java/lance5057/tDefense/holiday/xmas/XmasBase.java b/src/main/java/lance5057/tDefense/holiday/xmas/XmasBase.java
index c166f96..5ce4017 100644
--- a/src/main/java/lance5057/tDefense/holiday/xmas/XmasBase.java
+++ b/src/main/java/lance5057/tDefense/holiday/xmas/XmasBase.java
@@ -1,11 +1,9 @@
package lance5057.tDefense.holiday.xmas;
-import slimeknights.tconstruct.world.entity.EntityBlueSlime;
import lance5057.tDefense.TinkersDefense;
import lance5057.tDefense.holiday.xmas.gumdropslime.GumDropSlime;
import lance5057.tDefense.util.ItemsBase;
import lance5057.tDefense.util.ModuleBase;
-import net.minecraft.world.storage.loot.LootTableList;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
diff --git a/src/main/java/lance5057/tDefense/holiday/xmas/XmasItems.java b/src/main/java/lance5057/tDefense/holiday/xmas/XmasItems.java
index 0129df0..0df5a97 100644
--- a/src/main/java/lance5057/tDefense/holiday/xmas/XmasItems.java
+++ b/src/main/java/lance5057/tDefense/holiday/xmas/XmasItems.java
@@ -1,11 +1,8 @@
package lance5057.tDefense.holiday.xmas;
-import lance5057.tDefense.util.Color16Util;
import lance5057.tDefense.util.ItemsBase;
import lance5057.tDefense.util.MetaItem;
import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
diff --git a/src/main/java/lance5057/tDefense/holiday/xmas/gumdropslime/GumDropSlime.java b/src/main/java/lance5057/tDefense/holiday/xmas/gumdropslime/GumDropSlime.java
index 942b0ff..1f8bca9 100644
--- a/src/main/java/lance5057/tDefense/holiday/xmas/gumdropslime/GumDropSlime.java
+++ b/src/main/java/lance5057/tDefense/holiday/xmas/gumdropslime/GumDropSlime.java
@@ -1,9 +1,7 @@
package lance5057.tDefense.holiday.xmas.gumdropslime;
-import slimeknights.tconstruct.library.Util;
-import slimeknights.tconstruct.world.entity.EntityBlueSlime;
-import net.minecraft.entity.monster.EntitySlime;
import net.minecraft.world.World;
+import slimeknights.tconstruct.world.entity.EntityBlueSlime;
public class GumDropSlime extends EntityBlueSlime
{
diff --git a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
index 5771f6e..acd77d6 100644
--- a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
+++ b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
@@ -15,7 +15,6 @@ import lance5057.tDefense.core.parts.TDParts;
import lance5057.tDefense.core.renderers.BaubleRenderer;
import lance5057.tDefense.core.renderers.SheatheModel;
import lance5057.tDefense.core.tools.TDTools;
-import lance5057.tDefense.core.tools.bases.ArmorCore;
import lance5057.tDefense.renderers.deserializers.AlphaColorTextureDeserializer;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
@@ -36,7 +35,6 @@ import net.minecraftforge.fluids.Fluid;
import slimeknights.tconstruct.common.ModelRegisterUtil;
import slimeknights.tconstruct.library.TinkerRegistry;
import slimeknights.tconstruct.library.TinkerRegistryClient;
-import slimeknights.tconstruct.library.client.CustomTextureCreator;
import slimeknights.tconstruct.library.client.ToolBuildGuiInfo;
import slimeknights.tconstruct.library.client.material.MaterialRenderInfoLoader;
import slimeknights.tconstruct.library.materials.Material;
diff --git a/src/main/java/lance5057/tDefense/renderers/info/TDMaterialRenderInfo.java b/src/main/java/lance5057/tDefense/renderers/info/TDMaterialRenderInfo.java
index a22d514..1973839 100644
--- a/src/main/java/lance5057/tDefense/renderers/info/TDMaterialRenderInfo.java
+++ b/src/main/java/lance5057/tDefense/renderers/info/TDMaterialRenderInfo.java
@@ -4,9 +4,6 @@ import lance5057.tDefense.renderers.AlphaColorTexture;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.ResourceLocation;
import slimeknights.tconstruct.library.client.MaterialRenderInfo;
-import slimeknights.tconstruct.library.client.MaterialRenderInfo.AbstractMaterialRenderInfo;
-import slimeknights.tconstruct.library.client.texture.SimpleColoredTexture;
-import slimeknights.tconstruct.library.client.texture.TinkerTexture;
public interface TDMaterialRenderInfo {
diff --git a/src/main/java/lance5057/tDefense/util/ArmorNBT.java b/src/main/java/lance5057/tDefense/util/ArmorNBT.java
new file mode 100644
index 0000000..28455ff
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/util/ArmorNBT.java
@@ -0,0 +1,144 @@
+package lance5057.tDefense.util;
+
+import lance5057.tDefense.core.materials.ArmorMaterialStats;
+import net.minecraft.nbt.NBTTagCompound;
+import slimeknights.tconstruct.library.materials.ExtraMaterialStats;
+import slimeknights.tconstruct.library.materials.HandleMaterialStats;
+import slimeknights.tconstruct.library.utils.Tags;
+
+public class ArmorNBT {
+
+ public int durability;
+ public int armorRating;
+ public int armorToughness;
+ public int modifiers; // free modifiers
+
+ private final NBTTagCompound parent;
+
+ public ArmorNBT() {
+ durability = 0;
+ armorRating = 0;
+ armorToughness = 0;
+ modifiers = 5;
+ parent = new NBTTagCompound();
+ }
+
+ public ArmorNBT(NBTTagCompound tag) {
+ read(tag);
+ parent = tag;
+ }
+
+ /** Initialize the stats with the heads. CALL THIS FIRST */
+ public ArmorNBT head(ArmorMaterialStats... heads) {
+ durability = 0;
+ armorRating = 0;
+ armorToughness = 0;
+
+ // average all stats
+ for(ArmorMaterialStats head : heads) {
+ if(head != null) {
+ durability += head.durability;
+ armorRating += head.rating;
+ armorToughness += head.toughness;
+ }
+ }
+
+ durability = Math.max(1, durability / heads.length);
+ armorRating /= (float) heads.length;
+ armorToughness /= (float) heads.length;
+
+ return this;
+ }
+
+ /** Add stats from the accessoires. Call this second! */
+ public ArmorNBT extra(ExtraMaterialStats... extras) {
+ int dur = 0;
+ for(ExtraMaterialStats extra : extras) {
+ if(extra != null) {
+ dur += extra.extraDurability;
+ }
+ }
+ this.durability += Math.round((float) dur / (float) extras.length);
+
+ return this;
+ }
+
+ /** Calculate in handles. call this last! */
+ public ArmorNBT handle(HandleMaterialStats... handles) {
+ // (Average Head Durability + Average Extra Durability) * Average Handle Modifier + Average Handle Durability
+
+ int dur = 0;
+ float modifier = 0f;
+ for(HandleMaterialStats handle : handles) {
+ if(handle != null) {
+ dur += handle.durability;
+ modifier += handle.modifier;
+ }
+ }
+
+ modifier /= (float) handles.length;
+ this.durability = Math.round((float) this.durability * modifier);
+
+ // add in handle durability change
+ this.durability += Math.round((float) dur / (float) handles.length);
+
+ this.durability = Math.max(1, this.durability);
+
+ return this;
+ }
+
+ public void read(NBTTagCompound tag) {
+ durability = tag.getInteger(Tags.DURABILITY);
+ armorRating = tag.getInteger("ArmorRating");
+ armorToughness = tag.getInteger("ArmorToughness");
+ modifiers = tag.getInteger(Tags.FREE_MODIFIERS);
+ }
+
+ public void write(NBTTagCompound tag) {
+ tag.setInteger(Tags.DURABILITY, durability);
+ tag.setInteger("ArmorRating", armorRating);
+ tag.setInteger("ArmorToughness", armorToughness);
+ tag.setInteger(Tags.FREE_MODIFIERS, modifiers);
+ }
+
+ public NBTTagCompound get() {
+ NBTTagCompound tag = parent.copy();
+ write(tag);
+
+ return tag;
+ }
+
+ // AUtogenerated equals and hashcode
+ @Override
+ public boolean equals(Object o) {
+ if(this == o) {
+ return true;
+ }
+ if(o == null || getClass() != o.getClass()) {
+ return false;
+ }
+
+ ArmorNBT toolNBT = (ArmorNBT) o;
+
+ if(durability != toolNBT.durability) {
+ return false;
+ }
+ if(Float.compare(toolNBT.armorRating, armorRating) != 0) {
+ return false;
+ }
+ if(Float.compare(toolNBT.armorToughness, armorToughness) != 0) {
+ return false;
+ }
+ return modifiers == toolNBT.modifiers;
+
+ }
+
+ @Override
+ public int hashCode() {
+ int result = durability;
+ result = 31 * result + (armorRating != +0.0f ? Float.floatToIntBits(armorRating) : 0);
+ result = 31 * result + (armorToughness != +0.0f ? Float.floatToIntBits(armorToughness) : 0);
+ result = 31 * result + modifiers;
+ return result;
+ }
+} \ No newline at end of file
diff --git a/src/main/java/lance5057/tDefense/util/BlocksBase.java b/src/main/java/lance5057/tDefense/util/BlocksBase.java
index d33f459..d6b576a 100644
--- a/src/main/java/lance5057/tDefense/util/BlocksBase.java
+++ b/src/main/java/lance5057/tDefense/util/BlocksBase.java
@@ -5,15 +5,12 @@ import java.util.ArrayList;
import lance5057.tDefense.Reference;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
-import net.minecraftforge.fml.common.registry.GameRegistry;
public abstract class BlocksBase {
protected static ArrayList<Block> blockList = new ArrayList<Block>();
diff --git a/src/main/java/lance5057/tDefense/util/ItemsBase.java b/src/main/java/lance5057/tDefense/util/ItemsBase.java
index aa45463..3e1064b 100644
--- a/src/main/java/lance5057/tDefense/util/ItemsBase.java
+++ b/src/main/java/lance5057/tDefense/util/ItemsBase.java
@@ -3,7 +3,6 @@ package lance5057.tDefense.util;
import java.util.ArrayList;
import lance5057.tDefense.Reference;
-import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraftforge.event.RegistryEvent;
@@ -11,7 +10,6 @@ import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
-import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.registries.IForgeRegistry;
public abstract class ItemsBase {
diff --git a/src/main/java/lance5057/tDefense/util/MetaItem.java b/src/main/java/lance5057/tDefense/util/MetaItem.java
index 07b7c8e..1064da6 100644
--- a/src/main/java/lance5057/tDefense/util/MetaItem.java
+++ b/src/main/java/lance5057/tDefense/util/MetaItem.java
@@ -1,7 +1,5 @@
package lance5057.tDefense.util;
-import java.util.List;
-
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
diff --git a/src/main/java/lance5057/tDefense/util/ModuleBase.java b/src/main/java/lance5057/tDefense/util/ModuleBase.java
index f03ef9c..b17d76a 100644
--- a/src/main/java/lance5057/tDefense/util/ModuleBase.java
+++ b/src/main/java/lance5057/tDefense/util/ModuleBase.java
@@ -1,7 +1,5 @@
package lance5057.tDefense.util;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
diff --git a/src/main/java/lance5057/tDefense/util/RegEvents.java b/src/main/java/lance5057/tDefense/util/RegEvents.java
index 9d40e1c..35df69e 100644
--- a/src/main/java/lance5057/tDefense/util/RegEvents.java
+++ b/src/main/java/lance5057/tDefense/util/RegEvents.java
@@ -1,13 +1,5 @@
package lance5057.tDefense.util;
-import lance5057.tDefense.Reference;
-import lance5057.tDefense.TinkersDefense;
-import net.minecraft.item.Item;
-import net.minecraftforge.event.RegistryEvent;
-import net.minecraftforge.fml.common.Mod;
-import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
-
-
public class RegEvents {
}
diff --git a/src/main/java/lance5057/tDefense/util/TDMatHelper.java b/src/main/java/lance5057/tDefense/util/TDMatHelper.java
index ca44320..2a42541 100644
--- a/src/main/java/lance5057/tDefense/util/TDMatHelper.java
+++ b/src/main/java/lance5057/tDefense/util/TDMatHelper.java
@@ -2,10 +2,10 @@ package lance5057.tDefense.util;
import javax.annotation.Nullable;
-import lance5057.tDefense.core.materials.BootsMaterialStats;
-import lance5057.tDefense.core.materials.ChestMaterialStats;
-import lance5057.tDefense.core.materials.HelmMaterialStats;
-import lance5057.tDefense.core.materials.LegsMaterialStats;
+import lance5057.tDefense.core.materials.ArmorMaterialStats.ChestMaterialStats;
+import lance5057.tDefense.core.materials.ArmorMaterialStats.FeetMaterialStats;
+import lance5057.tDefense.core.materials.ArmorMaterialStats.HelmMaterialStats;
+import lance5057.tDefense.core.materials.ArmorMaterialStats.LegsMaterialStats;
import lance5057.tDefense.core.materials.ShieldMaterialStats;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@@ -37,7 +37,7 @@ public class TDMatHelper
public HelmMaterialStats helm;
public ChestMaterialStats chest;
public LegsMaterialStats legs;
- public BootsMaterialStats boots;
+ public FeetMaterialStats boots;
public ItemStack gem;
public ItemStack ingot;
@@ -151,7 +151,7 @@ public class TDMatHelper
return this;
}
- public TDMatHelper setBoots(BootsMaterialStats h)
+ public TDMatHelper setBoots(FeetMaterialStats h)
{
boots = h;
return this;
diff --git a/src/main/resources/assets/tinkersdefense/textures/blank.png b/src/main/resources/assets/tinkersdefense/textures/blank.png
new file mode 100644
index 0000000..bdee823
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/textures/blank.png
Binary files differ
diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info
index f480667..e7f5483 100644
--- a/src/main/resources/mcmod.info
+++ b/src/main/resources/mcmod.info
@@ -1,16 +1,14 @@
[
{
- "modid": "examplemod",
- "name": "Example Mod",
- "description": "Example placeholder mod.",
- "version": "${version}",
- "mcversion": "${mcversion}",
- "url": "",
- "updateUrl": "",
- "authorList": ["ExampleDude"],
- "credits": "The Forge and FML guys, for making this example",
- "logoFile": "",
- "screenshots": [],
- "dependencies": []
+ "modid": "tinkersdefense",
+ "name": "Tinkers' Defense",
+ "description": "A defense related expansion for TConstruct",
+ "version": "1.4.2.8a",
+ "mcversion": "1.12.2",
+ "url": "",
+ "authorList": ["Sir Lance"],
+ "requiredMods": [ "forge", "tconstruct","baubles"],
+ "dependencies": ["tconstruct","baubles"],
+ "useDependencyInformation": "true"
}
-]
+] \ No newline at end of file