summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2017-11-26 02:38:49 -0600
committerLance5057 <Lance5057@gmail.com>2017-11-26 02:38:49 -0600
commitf2f2eedda86142a5c9b090f164c9a64d92e1ea66 (patch)
tree46943eb4678691f9f71bf55263f47b6d1b9be88d
parent6af565ab07a802518345df7f06772df56f6e205f (diff)
Added more materials, broke something in the tool table.
-rw-r--r--.classpath133
-rw-r--r--.project4
-rw-r--r--Tinkers-Defense_Client.launch2
-rw-r--r--Tinkers-Defense_Server.launch2
-rw-r--r--build.gradle8
-rw-r--r--src/main/java/lance5057/tDefense/PacketHandler.java6
-rw-r--r--src/main/java/lance5057/tDefense/TD_Config.java269
-rw-r--r--src/main/java/lance5057/tDefense/TinkersDefense.java249
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/straps/ItemStraps.java10
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/straps/ItemStrapsInv.java16
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/straps/StrapsContainer.java6
-rw-r--r--src/main/java/lance5057/tDefense/core/CoreBlocks.java13
-rw-r--r--src/main/java/lance5057/tDefense/core/CoreClientProxy.java2
-rw-r--r--src/main/java/lance5057/tDefense/core/CoreItems.java2
-rw-r--r--src/main/java/lance5057/tDefense/core/blocks/TDMetalBlock.java5
-rw-r--r--src/main/java/lance5057/tDefense/core/blocks/crestMount/Container_CrestMount.java46
-rw-r--r--src/main/java/lance5057/tDefense/core/blocks/crestMount/CrestMount.java242
-rw-r--r--src/main/java/lance5057/tDefense/core/blocks/crestMount/Gui_CrestMount.java85
-rw-r--r--src/main/java/lance5057/tDefense/core/blocks/crestMount/Handler_CrestMount.java20
-rw-r--r--src/main/java/lance5057/tDefense/core/blocks/crestMount/Message_CrestMount.java48
-rw-r--r--src/main/java/lance5057/tDefense/core/blocks/crestMount/ModelCrestMount.java98
-rw-r--r--src/main/java/lance5057/tDefense/core/blocks/crestMount/Renderer_CrestMount.java138
-rw-r--r--src/main/java/lance5057/tDefense/core/blocks/crestMount/TileEntity_CrestMount.java236
-rw-r--r--src/main/java/lance5057/tDefense/core/blocks/fluid/VibrantFluid.java4
-rw-r--r--src/main/java/lance5057/tDefense/core/blocks/fluid/VileFluid.java34
-rw-r--r--src/main/java/lance5057/tDefense/core/items/TDOreDictItem.java41
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/TDMaterials.java570
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/traits/TraitAxeLover.java12
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/traits/TraitBarbed.java16
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/traits/TraitDogToy.java18
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/traits/TraitDulling.java12
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/traits/TraitFirestarter.java14
-rw-r--r--src/main/java/lance5057/tDefense/core/parts/TDParts.java93
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/TDTools.java102
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/bases/Shield.java13
-rw-r--r--src/main/java/lance5057/tDefense/holiday/xmas/XmasBase.java2
-rw-r--r--src/main/java/lance5057/tDefense/holiday/xmas/XmasItems.java1
-rw-r--r--src/main/java/lance5057/tDefense/proxy/ClientProxy.java88
-rw-r--r--src/main/java/lance5057/tDefense/proxy/CommonProxy.java63
-rw-r--r--src/main/java/lance5057/tDefense/renderers/AlphaColorTexture.java85
-rw-r--r--src/main/java/lance5057/tDefense/renderers/deserializers/AlphaColorTextureDeserializer.java15
-rw-r--r--src/main/java/lance5057/tDefense/renderers/info/TDMaterialRenderInfo.java85
-rw-r--r--src/main/java/lance5057/tDefense/util/BlocksBase.java9
-rw-r--r--src/main/java/lance5057/tDefense/util/ItemsBase.java21
-rw-r--r--src/main/java/lance5057/tDefense/util/MetaItem.java5
-rw-r--r--src/main/java/lance5057/tDefense/util/RegEvents.java13
-rw-r--r--src/main/java/lance5057/tDefense/util/TDMatHelper.java99
-rw-r--r--src/main/java/lance5057/tDefense/util/TDToolHelper.java4
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/amber.json10
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/amethyst.json10
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/cheese.json10
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/citrine.json10
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/diamond.json6
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/emerald.json6
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/enderpearl.json6
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/garnet.json10
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/ghasttear.json9
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/glass.json6
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/glowstone.json6
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/greencandy.json6
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/lapis.json6
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/opal.json6
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/quartz.json6
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/redcandy.json6
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/ruby.json10
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/sapphire.json10
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/starruby.json10
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/starsapphire.json10
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/tanzanite.json10
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/topaz.json10
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/items/_chainmail.png (renamed from src/main/resources/assets/tinkersdefense/textures/items/_chainmaille.png)bin562 -> 562 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/items/armor/shoes/_broken.pngbin0 -> 230 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/materials/ender_pearl.pngbin0 -> 773 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/materials/facetedgem.pngbin0 -> 537 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/materials/greencandy.pngbin0 -> 171 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/materials/opal.pngbin0 -> 798 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/materials/redcandy.pngbin0 -> 170 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/materials/stargem.pngbin0 -> 653 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/materials/starruby.pngbin0 -> 739 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/materials/starsapphire.pngbin0 -> 742 bytes
-rw-r--r--src/main/resources/mcmod.info8
81 files changed, 1425 insertions, 1821 deletions
diff --git a/.classpath b/.classpath
index cebcdcd..c7e22ff 100644
--- a/.classpath
+++ b/.classpath
@@ -4,70 +4,73 @@
<classpathentry kind="src" path="src/main/resources"/>
<classpathentry kind="src" path="src/api/java"/>
<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/T/.gradle/caches/minecraft/net/minecraftforge/forge/1.10.2-12.18.3.2422/stable/29/forgeSrc-1.10.2-12.18.3.2422.jar" sourcepath="C:/Users/T/.gradle/caches/minecraft/net/minecraftforge/forge/1.10.2-12.18.3.2422/stable/29/forgeSrc-1.10.2-12.18.3.2422-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.1/f7be08ec23c21485b9b5a1cf1654c2ec8c58168d/jsr305-3.0.1.jar" sourcepath="C:/Users/T/.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/T/.gradle/caches/modules-2/files-2.1/com.mojang/netty/1.6/4b75825a06139752bd800d9e29c5fd55b8b1b1e4/netty-1.6.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.mojang/netty/1.6/cd01cc3788bac1b1eb9cf2cda02fc7698a5ca1cc/netty-1.6-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/oshi-project/oshi-core/1.1/9ddf7b048a8d701be231c0f4f95fd986198fd2d8/oshi-core-1.1.jar" sourcepath="C:/Users/T/.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/T/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna/3.4.0/803ff252fedbd395baffd43b37341dc4a150a554/jna-3.4.0.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna/3.4.0/2f42653596d0044f0ab456620cba54c9cf53c5ca/jna-3.4.0-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/platform/3.4.0/e3f70017be8100d3d6923f50b3d2ee17714e9c13/platform-3.4.0.jar" sourcepath="C:/Users/T/.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/T/.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/T/.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/T/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/4.6/306816fb57cf94f108a43c95731b08934dcae15c/jopt-simple-4.6.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/4.6/9cd14a61d7aa7d554f251ef285a6f2c65caf7b65/jopt-simple-4.6-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/io.netty/netty-all/4.0.23.Final/294104aaf1781d6a56a07d561e792c5d0c95f45/netty-all-4.0.23.Final.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/io.netty/netty-all/4.0.23.Final/fd8e5b2341f3a08b02fe116d6e9886654e65b219/netty-all-4.0.23.Final-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/17.0/9c6ef172e8de35fd8d4d8783e4821e57cdef7445/guava-17.0.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/17.0/7ca0efbeb87ca845b5d7a0ac9c21a4b7b95f7b28/guava-17.0-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.3.2/90a3822c38ec8c996e84c16a3477ef632cbc87a3/commons-lang3-3.3.2.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.3.2/d2a489573c0ed2c4942b3660decad5d65087b406/commons-lang3-3.3.2-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/b1b6ea3b7e4aa4f492509a4952029cd8e48019ad/commons-io-2.4.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/f2d8698c46d1167ff24b06a840a87d91a02db891/commons-io-2.4-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.9/9ce04e34240f674bc72680f8b843b1457383161a/commons-codec-1.9.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.9/3f15fff45d57656685abfee9e8302bf14580044c/commons-codec-1.9-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/net.java.jutils/jutils/1.0.0/e12fe1fda814bd348c1579329c86943d2cd3c6a6/jutils-1.0.0.jar" sourcepath="C:/Users/T/.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/T/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.2.4/a60a5e993c98c864010053cb901b7eab25306568/gson-2.2.4.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.2.4/a6dc5db8a12928e583bd3f23e72d3ab611ecd58f/gson-2.2.4-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.mojang/authlib/1.5.22/afaa8f6df976fcb5520e76ef1d5798c9e6b5c0b2/authlib-1.5.22.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.mojang/authlib/1.5.22/c5eb40c6aaa812cc015fea27cf4db7efea24b898/authlib-1.5.22-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.mojang/realms/1.9.8/c9609760e050cd7c369292252552c0cc81c54331/realms-1.9.8.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.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/T/.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/T/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.3.3/18f4247ff4572a074444572cee34647c43e7c9c7/httpclient-4.3.3.jar" sourcepath="C:/Users/T/.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/T/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.3/f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f/commons-logging-1.1.3.jar" sourcepath="C:/Users/T/.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/T/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.2/31fbbff1ddbf98f3aa7377c94d33b0447c646b6e/httpcore-4.3.2.jar" sourcepath="C:/Users/T/.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/T/.gradle/caches/modules-2/files-2.1/it.unimi.dsi/fastutil/7.0.12_mojang/ba787e741efdc425fc5d2ea654b57c15fba27efa/fastutil-7.0.12_mojang.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/it.unimi.dsi/fastutil/7.0.12_mojang/b7e3b6acfcd16e9f63d38f493bed4ef6cb3ca502/fastutil-7.0.12_mojang-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.0-beta9/1dd66e68cccd907880229f9e2de1314bd13ff785/log4j-api-2.0-beta9.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.0-beta9/c6682b8a47ddd9f29108838aed0dc8e0ffdedf68/log4j-api-2.0-beta9-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-core/2.0-beta9/678861ba1b2e1fccb594bb0ca03114bb05da9695/log4j-core-2.0-beta9.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-core/2.0-beta9/c7da50fd52d6ee6991a0e16e2df1431f7656a7f4/log4j-core-2.0-beta9-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/net.minecraft/launchwrapper/1.12/111e7bea9c968cdb3d06ef4632bf7ff0824d0f36/launchwrapper-1.12.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/net.minecraft/launchwrapper/1.12/fd80cad9a1b967ce2ff20529dc54e520d5338d7/launchwrapper-1.12-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/jline/jline/2.13/2d9530d0a25daffaffda7c35037b046b627bb171/jline-2.13.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/jline/jline/2.13/e290282bf7683ae3307e85bdc5d5e08424dfb893/jline-2.13-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-debug-all/5.0.3/f9e364ae2a66ce2a543012a4668856e84e5dab74/asm-debug-all-5.0.3.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-debug-all/5.0.3/f0f24f6666c1a15c7e202e91610476bd4ce59368/asm-debug-all-5.0.3-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.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/T/.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/T/.gradle/caches/modules-2/files-2.1/com.typesafe/config/1.2.1/f771f71fdae3df231bcd54d5ca2d57f0bf93f467/config-1.2.1.jar" sourcepath="C:/Users/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.gradle/caches/modules-2/files-2.1/lzma/lzma/0.0.1/521616dc7487b42bef0e803bd2fa3faf668101d7/lzma-0.0.1.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/net.sf.trove4j/trove4j/3.0.3/42ccaf4761f0dfdfa805c9e340d99a755907e2dd/trove4j-3.0.3.jar" sourcepath="C:/Users/T/.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/T/.gradle/caches/modules-2/files-2.1/com.paulscode/codecjorbis/20101023/c73b5636faf089d9f00e8732a829577de25237ee/codecjorbis-20101023.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.paulscode/codecjorbis/20101023/4ca2436396bc14ebd78b7db1d4e11ca607c8705e/codecjorbis-20101023-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.paulscode/codecwav/20101023/12f031cfe88fef5c1dd36c563c0a3a69bd7261da/codecwav-20101023.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.paulscode/codecwav/20101023/71ec00b9b9c1a6a2c3a8a25f481a23ddb5b21ddb/codecwav-20101023-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.paulscode/libraryjavasound/20101123/5c5e304366f75f9eaa2e8cca546a1fb6109348b3/libraryjavasound-20101123.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.paulscode/libraryjavasound/20101123/945ff5711de27751cf699641d1ea316ba6cf7589/libraryjavasound-20101123-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.paulscode/librarylwjglopenal/20100824/73e80d0794c39665aec3f62eee88ca91676674ef/librarylwjglopenal-20100824.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.paulscode/librarylwjglopenal/20100824/ecfc8dac1d41bef748997e4edf563d486923ee1e/librarylwjglopenal-20100824-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.paulscode/soundsystem/20120107/419c05fe9be71f792b2d76cfc9b67f1ed0fec7f6/soundsystem-20120107.jar" sourcepath="C:/Users/T/.gradle/caches/modules-2/files-2.1/com.paulscode/soundsystem/20120107/1b9f4eb11ef11fede7fd76a2e5e8203c2a8adcd/soundsystem-20120107-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/modules-2/files-2.1/net.java.jinput/jinput/2.0.5/39c7796b469a600f72380316f6b1f11db6c2c7c4/jinput-2.0.5.jar" sourcepath="C:/Users/T/.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/T/.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/T/.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/T/.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/T/.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/T/.gradle/caches/modules-2/files-2.1/java3d/vecmath/1.5.2/79846ba34cbd89e2422d74d53752f993dcc2ccaf/vecmath-1.5.2.jar" sourcepath="C:/Users/T/.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/T/.gradle/caches/modules-2/files-2.1/org.fusesource.jansi/jansi/1.11/655c643309c2f45a56a747fda70e3fadf57e9f11/jansi-1.11.jar" sourcepath="C:/Users/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/.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/T/Documents/Tinkers-Defense/libs/Mantle-1.10.2-1.1.5.DEV.a1d5c31-deobf.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/Documents/Tinkers-Defense/libs/Mantle-1.10.2-1.1.5.DEV.a1d5c31-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/Documents/Tinkers-Defense/libs/TConstruct-1.10.2-2.6.5.DEV.6117b17-deobf.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/Documents/Tinkers-Defense/libs/TConstruct-1.10.2-2.6.5.DEV.6117b17-lib.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/Documents/Tinkers-Defense/libs/TConstruct-1.10.2-2.6.5.DEV.6117b17-sources.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/minecraft/deobfedDeps/compileDummy.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/minecraft/deobfedDeps/providedDummy.jar"/>
- <classpathentry kind="lib" path="C:/Users/T/.gradle/caches/minecraft/net/minecraftforge/forge/1.10.2-12.18.3.2422/start"/>
+ <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/Documents/Tinkers-Defense/libs/Baubles-1.12-1.5.1-api.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/Documents/Tinkers-Defense/libs/Mantle-1.12-1.3.1.DEV.75b9d4b-deobf.jar" sourcepath="libs/Mantle-1.12-1.3.1.DEV.75b9d4b-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/Documents/Tinkers-Defense/libs/Mantle-1.12-1.3.1.DEV.75b9d4b-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/Documents/Tinkers-Defense/libs/TConstruct-1.12-2.7.2.DEV.6bffdee-deobf.jar" sourcepath="libs/TConstruct-1.12-2.7.2.DEV.6bffdee-sources.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/Documents/Tinkers-Defense/libs/TConstruct-1.12-2.7.2.DEV.6bffdee-lib.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Tyler/Documents/Tinkers-Defense/libs/TConstruct-1.12-2.7.2.DEV.6bffdee-sources.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/.project b/.project
index 3e8c66b..4e27dbb 100644
--- a/.project
+++ b/.project
@@ -14,9 +14,9 @@
</buildSpec>
<linkedResources>
<link>
- <name>.link1</name>
+ <name>.link0</name>
<type>2</type>
- <location>C:/Users/T/.gradle/caches/minecraft/net/minecraftforge/forge/1.10.2-12.18.3.2422/start</location>
+ <location>C:/Users/Tyler/.gradle/caches/minecraft/net/minecraftforge/forge/1.12-14.21.1.2443/start</location>
</link>
</linkedResources>
</projectDescription>
diff --git a/Tinkers-Defense_Client.launch b/Tinkers-Defense_Client.launch
index 8ef933c..cb798e1 100644
--- a/Tinkers-Defense_Client.launch
+++ b/Tinkers-Defense_Client.launch
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"><stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="GradleStart"/><stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Tinkers-Defense"/><stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="C:\Users\T\Documents\Tinkers-Defense\run"/><stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value=" -DFORGE_FORCE_FRAME_RECALC=true"/></launchConfiguration> \ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"><stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="GradleStart"/><stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Tinkers-Defense"/><stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="C:\Users\Tyler\Documents\Tinkers-Defense\run"/><stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value=" -DFORGE_FORCE_FRAME_RECALC=true"/></launchConfiguration> \ No newline at end of file
diff --git a/Tinkers-Defense_Server.launch b/Tinkers-Defense_Server.launch
index 3cf3f1c..08bc534 100644
--- a/Tinkers-Defense_Server.launch
+++ b/Tinkers-Defense_Server.launch
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"><stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="GradleStartServer"/><stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Tinkers-Defense"/><stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="C:\Users\T\Documents\Tinkers-Defense\run"/><stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value=" -DFORGE_FORCE_FRAME_RECALC=true"/></launchConfiguration> \ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"><stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="GradleStartServer"/><stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Tinkers-Defense"/><stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="C:\Users\Tyler\Documents\Tinkers-Defense\run"/><stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value=" -DFORGE_FORCE_FRAME_RECALC=true"/></launchConfiguration> \ No newline at end of file
diff --git a/build.gradle b/build.gradle
index e83292b..4293a9a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -9,7 +9,7 @@ buildscript {
}
}
dependencies {
- classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
+ classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
}
}
apply plugin: 'net.minecraftforge.gradle.forge'
@@ -20,7 +20,7 @@ plugins {
id "net.minecraftforge.gradle.forge" version "2.0.2"
}
*/
-version = "1.4.1.1a"
+version = "1.4.2.1a"
group= "lance5057.tDefense" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "tinkersdefense"
@@ -28,7 +28,7 @@ srcCompat = JavaVersion.VERSION_1_8
targetCompat = JavaVersion.VERSION_1_8
minecraft {
- version = "1.10.2-12.18.3.2422"
+ version = "1.12-14.21.1.2443"
runDir = "run"
// the mappings can be changed at any time, and must be in the following format.
@@ -36,7 +36,7 @@ minecraft {
// stable_# stables are built at the discretion of the MCP team.
// Use non-default mappings at your own risk. they may not allways work.
// simply re-run your setup task after changing the mappings to update your workspace.
- mappings = "stable_29"
+ mappings = "snapshot_20170801"
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
}
diff --git a/src/main/java/lance5057/tDefense/PacketHandler.java b/src/main/java/lance5057/tDefense/PacketHandler.java
index f48202c..f60c1fb 100644
--- a/src/main/java/lance5057/tDefense/PacketHandler.java
+++ b/src/main/java/lance5057/tDefense/PacketHandler.java
@@ -1,17 +1,13 @@
package lance5057.tDefense;
-import lance5057.tDefense.core.blocks.crestMount.Handler_CrestMount;
-import lance5057.tDefense.core.blocks.crestMount.Message_CrestMount;
-import net.minecraftforge.fml.relauncher.Side;
-
public class PacketHandler
{
private static int id = 0;
public static void init()
{
- TinkersDefense.INSTANCE.registerMessage(Handler_CrestMount.class, Message_CrestMount.class, id++, Side.SERVER);
+ //TinkersDefense.INSTANCE.registerMessage(Handler_CrestMount.class, Message_CrestMount.class, id++, Side.SERVER);
//TinkersDefense.INSTANCE.registerMessage(Handler_FinishingAnvil.class, Message_FinishingAnvil.class, id++, Side.SERVER);
}
diff --git a/src/main/java/lance5057/tDefense/TD_Config.java b/src/main/java/lance5057/tDefense/TD_Config.java
index 47b747b..86837dd 100644
--- a/src/main/java/lance5057/tDefense/TD_Config.java
+++ b/src/main/java/lance5057/tDefense/TD_Config.java
@@ -1,25 +1,143 @@
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
{
- public boolean debug;
- public boolean ArmorAddon;
- public boolean transparency;
- public boolean mossEnabled;
- public boolean mossHard;
-
- static int count = 18;
- public int AeonsteelMatID;
- public int QueensGoldMatID;
- public int DogbeariumMatID;
- public int RedMintMatID;
- public int GreenMintMatID;
-
+ @Config.Comment("Enable Debug Features")
+ public static boolean debug = false;
+// public boolean ArmorAddon;
+// public boolean transparency;
+// public boolean mossEnabled;
+// public boolean mossHard;
+
+ @Config.Name("Shields")
+ public static final Shields shields = new Shields();
+ @Config.Name("Tools")
+ public static final Tools tools = new Tools();
+ @Config.Name("Materials")
+ public static final Materials materials = new Materials();
+ @Config.Name("Addons")
+ public static final Addons addons = new Addons();
+
+ public static class Shields
+ {
+ @Config.RequiresMcRestart()
+ @Config.Comment("Enable Shields")
+ public static boolean enableShields= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableHeaterShield= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableBuckler= true;
+
+ @Config.Comment("How much damage should a shield block percentage wise if the material has no shield data built in?")
+ public static int defaultShieldBlockPercentage = 33;
+ }
+
+ public static class Tools
+ {
+ @Config.RequiresMcRestart()
+ public static boolean enableZweihander= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableShears= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableFishingRod= true;
+ }
+
+ public static class Materials
+ {
+ @Config.RequiresMcRestart()
+ public static boolean enableCustomMaterials= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableBaseMaterials= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableJokeMaterials= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableHolidayMaterials= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableGemMaterials= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableBloodMagicMaterials= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableTwilightForestMaterials= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableHarvestCraftMaterials= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableAeonsteel= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableQueensGold= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableDogbearium= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableRedCandy= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableGreenCandy= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableSinisterium= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableNihilite= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableVibrant= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableOrichalcum= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enablePandorium= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableRoseGold= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enablePlatinum= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableBrass= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableSilver= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableCheese= true;
+
+ @Config.RequiresMcRestart()
+ public static boolean enableGold= true;
+ }
+
+ public static class Addons
+ {
+
+ }
+
public int SoulBoundID;
public int DazeID;
public int RainbowID;
@@ -65,10 +183,6 @@ public class TD_Config
public int ArmorHighstepID;
public int ArmorKnockbackResistID;
- public int MaterialIndex;
-
- public boolean MineAndBladeAddon;
-
public boolean BotaniaAddon;
public int CorpseIvyModID;
public int ManaRepairModID;
@@ -76,10 +190,10 @@ public class TD_Config
public int ArmorPixieCoreModID;
public int ArmorManaDiscountModID;
- public boolean ThaumcraftAddon;
- public int RevealingModID;
- public int VisDiscountModID;
- public int CapsModID;
+// public boolean ThaumcraftAddon;
+// public int RevealingModID;
+// public int VisDiscountModID;
+// public int CapsModID;
//public int SpellbindModID;
public boolean BloodMagicAddon;
@@ -88,104 +202,19 @@ public class TD_Config
public int ScabbingModID;
public int DivinationModID;
- public TD_Config(FMLPreInitializationEvent e)
- {
- final Configuration config = new Configuration(
- e.getSuggestedConfigurationFile());
-
- config.load();
-
- debug = config.getBoolean("Should debug mode be enabled?", "Debug Mode", false, null);
- ArmorAddon = config.getBoolean("Should the armor addon be enabled?", "Armor Addon", true, null);
- transparency = config.getBoolean("Should Transparent Textures be enabled?", "General Settings", true, "May help fps if disabled");
- mossEnabled = config.getBoolean("Should the moss recipe be enabled?", "General Settings", true, null);
- mossHard = config.getBoolean("Should the moss recipe be hard?", "General Settings", true, null);
-
- MaterialIndex = config.getInt("Material Index", "Highest material ID", 206, 30, Int.MaxValue(), "TDefense - 206 MFR - 1001 ExtraTIC - 1024");
-
- AeonsteelMatID = config.getInt("Aeonsteel Material ID", "Material Configs", 201, 30, Int.MaxValue(), null);
- QueensGoldMatID = config.getInt("QueensGold Material ID", "Material Configs", 202, 30, Int.MaxValue(), null);
- DogbeariumMatID = config.getInt("Dogbearium Material ID", "Material Configs", 203, 30, Int.MaxValue(), null);
- RedMintMatID = config.getInt("RedMint Material ID", "Material Configs", 204, 30, Int.MaxValue(), null);
- GreenMintMatID = config.getInt("GreenMint Material ID", "Material Configs", 205, 30, Int.MaxValue(), null);
-
- DazeID = config.getInt("Daze ID", "Modifier Configs", count++, 18, Int.MaxValue(), null);
- SoulBoundID = config.getInt("Soulbound ID", "Modifier Configs", count++, 18, Int.MaxValue(), null);
- RainbowID = config.getInt("Rainbow ID", "Modifier Configs", count++, 18, Int.MaxValue(), null);
- XPBoostID = config.getInt("XPBoost ID", "Modifier Configs", count++, 18, Int.MaxValue(), null);
- ShearFortuneID = config.getInt("Fortune for Shears ID", "Modifier Configs", count++, 18, Int.MaxValue(), null);
-
- CrestFeathersID = ConfigCrest(config, "Feathers");
- CrestMirrorsID = ConfigCrest(config, "Mirrors");
- CrestLegendsID = ConfigCrest(config, "Legends");
- CrestBladesID = ConfigCrest(config, "Blades");
- CrestGluttonyID = ConfigCrest(config, "Gluttony");
- CrestPitchID = ConfigCrest(config, "Pitch");
- CrestThornsID = ConfigCrest(config, "Thorns");
- CrestSanguisugaID = ConfigCrest(config, "Sanguisuga");
- CrestWindsID = ConfigCrest(config, "Winds");
- CrestRetributionID = ConfigCrest(config, "Retribution");
- CrestLightID = ConfigCrest(config, "Light");
-
- SoulSteveID = config.getInt("Soulstone Steve ID", "Modifier Configs", count++, 18, Int.MaxValue(), null);
-
- ArmorProtectionID = config.getInt("Protection ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorFireProtectionID = config.getInt("Fire Protection ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorBlastProtectionID = config.getInt("Blast Protection ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorProjectileProtectionID = config.getInt("Projectile Protection ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorFeatherfallID = config.getInt("Featherfall ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorGlowstepID = config.getInt("Glowstep ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorFrostwalkerID = config.getInt("Frostwalker ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorFirewalkerID = config.getInt("Firewalker ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorDepthstriderID = config.getInt("Depthstrider ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorRebreatherID = config.getInt("Rebreather ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorNightvisionID = config.getInt("Nightvision ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorAntiBlindnessID = config.getInt("Anti Blindness ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorPumpkinID = config.getInt("Pumpkin ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorDodgeID = config.getInt("Dodge ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorThornsID = config.getInt("Thorns ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorAbsorptionID = config.getInt("Absorbtion ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorJumpboostID = config.getInt("Jump Boost ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorSpeedID = config.getInt("Speed ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorHighstepID = config.getInt("High Step ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
- ArmorKnockbackResistID = config.getInt("Knockback Resistance ID", "Armor Modifier Configs", count++, 18, Int.MaxValue(), null);
-
- MineAndBladeAddon = config.getBoolean("Enable Mine and Blade Addon", "Integration", true, "");
-
- BotaniaAddon = config.getBoolean("Enable Botania Addon", "Integration", true, "");
- CorpseIvyModID = config.getInt("Corpse Drinker Ivy Modifier ID", "Botania Addon", count++, 18, Int.MaxValue(), null);
- ManaRepairModID = config.getInt("Mana Repair Modifier ID", "Botania Addon", count++, 18, Int.MaxValue(), null);
- TerraCoreModID = config.getInt("Terra Core Modifier ID", "Botania Addon", count++, 18, Int.MaxValue(), null);
- ArmorPixieCoreModID = config.getInt("Elementium Core Modifier ID", "Botania Addon", count++, 18, Int.MaxValue(), null);
- ArmorManaDiscountModID = config.getInt("Mana Embroidery Modifier ID", "Botania Addon", count++, 18, Int.MaxValue(), null);
-
- ThaumcraftAddon = config.getBoolean("Enable Thaumcraft Addon", "Integration", true, "Requires Thaumcraft to use");
- RevealingModID = config.getInt("Revealing Modifier ID", "Thaumcraft Addon", count++, 18, Int.MaxValue(), null);
- VisDiscountModID = config.getInt("Vis Discount Modifier ID", "Thaumcraft Addon", count++, 18, Int.MaxValue(), null);
- CapsModID = config.getInt("Cap Repair Modifier ID", "Thaumcraft Addon", count++, 18, Int.MaxValue(), null);
- //SpellbindModID = config.getIntInt("Spellbinding Modifier ID", "Thaumcraft Addon", 73, 0, Integer.MAX_VALUE, "");
-
- BloodMagicAddon = config.getBoolean("Enable BloodMagic Addon", "Integration", true, "Requires BloodMagic to use");
- DivinationModID = config.getInt("Divination Modifier ID", "BloodMagic Addon", count++, 18, Int.MaxValue(), null);
- SuppingModID = config.getInt("Supping Modifier ID", "BloodMagic Addon", count++, 18, Int.MaxValue(), null);
- BloodOathModID = config.getInt("Blood Oath Modifier ID", "BloodMagic Addon", count++, 18, Int.MaxValue(), null);
- ScabbingModID = config.getInt("Scabbing Modifier ID", "BloodMagic Addon", count++, 18, Int.MaxValue(), null);
-
- //JokeInsultID = config.getInt("Insult ID", "Joke Modifier Configs", count++, 18, Int.MaxValue(), null);
- //JokePyrotechID = config.getInt("Pyrotech ID", "Joke Modifier Configs", count++, 18, Int.MaxValue(), null);
-
- config.save();
- }
-
- private int[] ConfigCrest(Configuration config, String name)
- {
- final int[] crest = new int[Color16Util.colors.length];
-
- for(int i = 0; i < Color16Util.colors.length; i++)
- {
- crest[i] = config.getInt("Crest of " + name + " (" + Color16Util.colors[i] + ") ID", "Shield Modifier Configs", count++, 18, Int.MaxValue(), null);
+ @Mod.EventBusSubscriber(modid = Reference.MOD_ID)
+ private static class EventHandler {
+
+ /**
+ * Inject the new values and save to the config file when the config has been changed from the GUI.
+ *
+ * @param event The event
+ */
+ @SubscribeEvent
+ public static void onConfigChanged(final ConfigChangedEvent.OnConfigChangedEvent event) {
+ if (event.getModID().equals(Reference.MOD_ID)) {
+ ConfigManager.sync(Reference.MOD_ID, Config.Type.INSTANCE);
+ }
}
-
- return crest;
- }
+}
}
diff --git a/src/main/java/lance5057/tDefense/TinkersDefense.java b/src/main/java/lance5057/tDefense/TinkersDefense.java
index 1aae6a1..40b9177 100644
--- a/src/main/java/lance5057/tDefense/TinkersDefense.java
+++ b/src/main/java/lance5057/tDefense/TinkersDefense.java
@@ -1,8 +1,5 @@
package lance5057.tDefense;
-import java.util.Iterator;
-import java.util.List;
-
import lance5057.tDefense.core.CoreBase;
import lance5057.tDefense.core.materials.TDMaterials;
import lance5057.tDefense.core.parts.TDParts;
@@ -10,9 +7,8 @@ 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.block.Block;
-import net.minecraft.item.crafting.CraftingManager;
-import net.minecraft.item.crafting.IRecipe;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
@@ -25,6 +21,7 @@ import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import scala.reflect.internal.Trees.Modifiers;
+
@Mod(modid = Reference.MOD_ID, version = Reference.VERSION, name = Reference.MOD_NAME)
public class TinkersDefense {
@@ -50,68 +47,15 @@ public class TinkersDefense {
public static final SimpleNetworkWrapper INSTANCE = NetworkRegistry.INSTANCE
.newSimpleChannel(Reference.MOD_ID);
+ public static RegEvents reg;
+
public static Modifiers mods;
// public static Item item_Guidebook;
- TDParts parts;
- TDTools tools;
- TDMaterials mats;
-
- public static Block block_aeonsteelBlock;
- public static Fluid moltenaeonsteel;
- public static Block moltenaeonsteelBlock;
-
- public static Block block_queensgoldBlock;
- public static Fluid moltenqueensgold;
- public static Block moltenqueensgoldBlock;
-
- public static Block block_dogbeariumBlock;
- public static Fluid moltendogbearium;
- public static Block moltendogbeariumBlock;
-
- public static Block block_redmintBlock;
- public static Fluid moltenredmint;
- public static Block moltenredmintBlock;
-
- public static Block block_greenmintBlock;
- public static Fluid moltengreenmint;
- public static Block moltengreenmintBlock;
-
- // public static Item item_RawSapphire;
- // public static Item item_RawRuby;
- // public static Item item_RawAmethyst;
- // public static Item item_RawAmber;
- //
- // public static Block block_SapphireOre;
- // public static Block block_RubyOre;
- // public static Block block_AmethystOre;
- // public static Block block_AmberOre;
-
- // public static ToolCore tool_roundShield;
- // public static ToolCore tool_heaterShield;
- // public static ToolCore tool_wrench;
- // public static ToolCore tool_zweihander;
- // public static ToolCore tool_shears;
- // public static ToolCore tool_hookshot;
-
- // public static Block block_CrestMount;
- // public static Block block_ArmorAnvil;
- // public static Block block_JewelersBench;
- //
- // //public static Item item_ChainArmor;
- // public static Pattern woodPattern;
- // public static Pattern metalPattern;
- //
- // public static Item partRivet;
- // public static Item partArmorplate;
- // public static Item partClasp;
- // public static Item partCloth;
- // public static Item partChainmaille;
- //
- // public static ToolCore tcInject;
-
- // public static BotaniaMods flowermod;
-
+ public static TDParts parts;
+ public static TDTools tools;
+ public static TDMaterials mats;
+
@SidedProxy(clientSide = "lance5057.tDefense.proxy.ClientProxy", serverSide = "lance5057.tDefense.proxy.CommonProxy")
public static CommonProxy proxy;
public static int month;
@@ -122,6 +66,8 @@ public class TinkersDefense {
public void preInit(FMLPreInitializationEvent e) {
NetworkRegistry.INSTANCE.registerGuiHandler(TinkersDefense.instance, new CommonProxy());
+ //reg = new RegEvents();
+
core = new CoreBase();
holiday = new HolidayBase();
//armor = new ArmorBase();
@@ -129,7 +75,7 @@ public class TinkersDefense {
mats = new TDMaterials();
parts = new TDParts();
tools = new TDTools();
- config = new TD_Config(e);
+ //config = new TD_Config(e);
// mods = new Modifiers();
// Blocks
@@ -333,19 +279,21 @@ public class TinkersDefense {
tools.preInit(e);
proxy.preInit();
- mats.integrate(mats.materials, mats.materialIntegrations, mats.deferredMaterials);
+
}
+
+
@EventHandler
public void init(FMLInitializationEvent e) {
- // I reject your moss and substitute my own!
- if (config.mossEnabled || config.mossHard) {
-
- final List<IRecipe> recipes = CraftingManager.getInstance()
- .getRecipeList();
- final Iterator<IRecipe> recipe = recipes.iterator();
- }
+// // I reject your moss and substitute my own!
+// if (config.mossEnabled || config.mossHard) {
+//
+// final List<IRecipe> recipes = CraftingManager.class
+// .getRecipeList();
+// final Iterator<IRecipe> recipe = recipes.iterator();
+// }
core.init(e);
//armor.init(e);
@@ -356,6 +304,8 @@ public class TinkersDefense {
proxy.init();
phandler.init();
+
+ mats.integrate(mats.materials, mats.materialIntegrations, mats.deferredMaterials);
}
@EventHandler
@@ -370,157 +320,4 @@ public class TinkersDefense {
tools.postInit(e);
}
- public void castmolten(Fluid fluid, int ID) {
- // // .addCastingRecipe(output, fluid, cast, hardeningDelay)
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.toolRod, 1, ID), new FluidStack(fluid,
- // (int) (144 * 0.5D)), TConstructRegistry.getItemStack("toolRodCast"),
- // 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.pickaxeHead, 1, ID), new FluidStack(fluid,
- // (int) (144 * 1.0D)),
- // TConstructRegistry.getItemStack("pickaxeHeadCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.shovelHead, 1, ID), new FluidStack(fluid,
- // (int) (144 * 1.0D)),
- // TConstructRegistry.getItemStack("shovelHeadCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.hatchetHead, 1, ID), new FluidStack(fluid,
- // (int) (144 * 1.0D)),
- // TConstructRegistry.getItemStack("hatchetHeadCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.swordBlade, 1, ID), new FluidStack(fluid,
- // (int) (144 * 1.0D)),
- // TConstructRegistry.getItemStack("swordBladeCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.fullGuard, 1, ID), new FluidStack(fluid,
- // (int) (144 * 3.0D)),
- // TConstructRegistry.getItemStack("fullGuardCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.wideGuard, 1, ID), new FluidStack(fluid,
- // (int) (144 * 0.5D)),
- // TConstructRegistry.getItemStack("wideGuardCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.crossbar, 1, ID), new FluidStack(fluid,
- // (int) (144 * 0.5D)), TConstructRegistry.getItemStack("crossbarCast"),
- // 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.binding, 1, ID), new FluidStack(fluid,
- // (int) (144 * 0.5D)), TConstructRegistry.getItemStack("bindingCast"),
- // 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.handGuard, 1, ID), new FluidStack(fluid,
- // (int) (144 * 0.5D)),
- // TConstructRegistry.getItemStack("handGuardCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.frypanHead, 1, ID), new FluidStack(fluid,
- // (int) (144 * 1.0D)),
- // TConstructRegistry.getItemStack("frypanHeadCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.signHead, 1, ID), new FluidStack(fluid,
- // (int) (144 * 1.0D)), TConstructRegistry.getItemStack("signHeadCast"),
- // 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.knifeBlade, 1, ID), new FluidStack(fluid,
- // (int) (144 * 0.5D)),
- // TConstructRegistry.getItemStack("knifeBladeCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.chiselHead, 1, ID), new FluidStack(fluid,
- // (int) (144 * 0.5D)),
- // TConstructRegistry.getItemStack("chiselHeadCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.toughRod, 1, ID), new FluidStack(fluid,
- // (int) (144 * 3.0D)), TConstructRegistry.getItemStack("toughRodCast"),
- // 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.toughBinding, 1, ID), new FluidStack(fluid,
- // (int) (144 * 3.0D)),
- // TConstructRegistry.getItemStack("toughBindingCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.largePlate, 1, ID), new FluidStack(fluid,
- // (int) (144 * 8.0D)),
- // TConstructRegistry.getItemStack("largePlateCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.broadAxeHead, 1, ID), new FluidStack(fluid,
- // (int) (144 * 8.0D)),
- // TConstructRegistry.getItemStack("broadAxeHeadCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.scytheBlade, 1, ID), new FluidStack(fluid,
- // (int) (144 * 8.0D)),
- // TConstructRegistry.getItemStack("scytheHeadCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.excavatorHead, 1, ID), new FluidStack(fluid,
- // (int) (144 * 8.0D)),
- // TConstructRegistry.getItemStack("excavatorHeadCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.largeSwordBlade, 1, ID), new FluidStack(fluid,
- // (int) (144 * 8.0D)),
- // TConstructRegistry.getItemStack("largeBladeCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.hammerHead, 1, ID), new FluidStack(fluid,
- // (int) (144 * 8.0D)),
- // TConstructRegistry.getItemStack("hammerHeadCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // TinkerTools.arrowhead, 1, ID), new FluidStack(fluid,
- // (int) (144 * 1.0D)),
- // TConstructRegistry.getItemStack("arrowheadCast"), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // partArmorplate, 1, ID), new FluidStack(fluid,
- // (int) (144 * 4.0D)), new ItemStack(metalPattern, 1, 2), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // partRivet, 1, ID), new FluidStack(fluid, (int) (144 * 0.5D)), new
- // ItemStack(
- // metalPattern, 1, 0), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // partClasp, 1, ID), new FluidStack(fluid, (int) (144 * 1.0D)), new
- // ItemStack(
- // metalPattern, 1, 1), 50);
- // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- // partChainmaille, 1, ID), new FluidStack(fluid,
- // (int) (144 * 4.0D)), new ItemStack(metalPattern, 1, 4), 50);
- }
-
- // public void buildParts(Item item, int meta)
- // {
- // final int[] nonMetals = {0, 1, 3, 4, 5, 6, 7, 8, 9, 17};
- // final int[] liquidDamage = new int[] {2, 13, 10, 11, 12, 14, 15, 6, 16,
- // 18};
- //
- // for(int mat = 0; mat < nonMetals.length; mat++) //
- // {
- // TConstructRegistry.addPartMapping(woodPattern, meta, mat, new ItemStack(
- // item, 1, mat));
- // }
- //
- // final LiquidCasting tableCasting = TConstructRegistry.getTableCasting();
- // // patternOutputs = new Item[] { partShuriken, partCrossbowLimb,
- // // partCrossbowBody, partBowLimb };
- //
- // final ItemStack cast = new ItemStack(metalPattern, 1, meta);
- //
- // tableCasting.addCastingRecipe(cast, new FluidStack(
- // TinkerSmeltery.moltenAlubrassFluid, TConstruct.ingotLiquidValue), new
- // ItemStack(
- // item, 1, Short.MAX_VALUE), false, 50);
- // tableCasting.addCastingRecipe(cast, new FluidStack(
- // TinkerSmeltery.moltenGoldFluid, TConstruct.ingotLiquidValue * 2), new
- // ItemStack(
- // item, 1, Short.MAX_VALUE), false, 50);
- //
- // for(int iterTwo = 0; iterTwo < TinkerSmeltery.liquids.length; iterTwo++)
- // {
- // final Fluid fs = TinkerSmeltery.liquids[iterTwo].getFluid();
- // final int fluidAmount = metalPattern.getPatternCost(cast) *
- // TConstruct.ingotLiquidValue / 2;
- // final ItemStack metalCast = new ItemStack(item, 1,
- // liquidDamage[iterTwo]);
- // tableCasting.addCastingRecipe(metalCast, new FluidStack(fs,
- // fluidAmount), cast, 50);
- // Smeltery.addMelting(FluidType.getFluidType(fs), metalCast, 0,
- // fluidAmount);
- // }
- // }
-
-
-
}
diff --git a/src/main/java/lance5057/tDefense/armor/items/straps/ItemStraps.java b/src/main/java/lance5057/tDefense/armor/items/straps/ItemStraps.java
index 84f7d69..a236fc0 100644
--- a/src/main/java/lance5057/tDefense/armor/items/straps/ItemStraps.java
+++ b/src/main/java/lance5057/tDefense/armor/items/straps/ItemStraps.java
@@ -29,16 +29,16 @@ public class ItemStraps extends ItemArmor
}
@Override
- public ActionResult<ItemStack> onItemRightClick(ItemStack itemStack, World world, EntityPlayer player, EnumHand hand)
+ public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn)
{
- if (!world.isRemote)
+ if (!worldIn.isRemote)
{
// If player not sneaking, open the inventory gui
- if (!player.isSneaking()) {
- player.openGui(TinkersDefense.instance, TinkersDefense.GUI_STRAPS_INV, world, 0, 0, 0);
+ if (!playerIn.isSneaking()) {
+ playerIn.openGui(TinkersDefense.instance, TinkersDefense.GUI_STRAPS_INV, worldIn, 0, 0, 0);
}
}
- return new ActionResult(EnumActionResult.PASS, itemStack);
+ return new ActionResult(EnumActionResult.PASS, playerIn.getHeldItem(handIn));
}
} \ No newline at end of file
diff --git a/src/main/java/lance5057/tDefense/armor/items/straps/ItemStrapsInv.java b/src/main/java/lance5057/tDefense/armor/items/straps/ItemStrapsInv.java
index fc71353..95b8036 100644
--- a/src/main/java/lance5057/tDefense/armor/items/straps/ItemStrapsInv.java
+++ b/src/main/java/lance5057/tDefense/armor/items/straps/ItemStrapsInv.java
@@ -49,7 +49,7 @@ public class ItemStrapsInv implements IInventory {
// Just double-checking that the saved slot index is within our
// inventory array bounds
if (slot >= 0 && slot < getSizeInventory()) {
- inventory[slot] = ItemStack.loadItemStackFromNBT(item);
+ inventory[slot] = new ItemStack(item);
}
}
}
@@ -111,7 +111,7 @@ public class ItemStrapsInv implements IInventory {
public ItemStack decrStackSize(int index, int count) {
ItemStack stack = getStackInSlot(index);
if (stack != null) {
- if (stack.stackSize > count) {
+ if (stack.getCount() > count) {
stack = stack.splitStack(count);
// Don't forget this line or your inventory will not be saved!
markDirty();
@@ -135,8 +135,8 @@ public class ItemStrapsInv implements IInventory {
public void setInventorySlotContents(int index, ItemStack stack) {
inventory[index] = stack;
- if (stack != null && stack.stackSize > getInventoryStackLimit()) {
- stack.stackSize = getInventoryStackLimit();
+ if (stack != null && stack.getCount() > getInventoryStackLimit()) {
+ stack.setCount(getInventoryStackLimit());
}
// Don't forget this line or your inventory will not be saved!
@@ -151,7 +151,7 @@ public class ItemStrapsInv implements IInventory {
@Override
public void markDirty() {
for (int i = 0; i < getSizeInventory(); ++i) {
- if (getStackInSlot(i) != null && getStackInSlot(i).stackSize == 0) {
+ if (getStackInSlot(i) != null && getStackInSlot(i).getCount() == 0) {
inventory[i] = null;
}
}
@@ -203,4 +203,10 @@ public class ItemStrapsInv implements IInventory {
// TODO Auto-generated method stub
}
+
+ @Override
+ public boolean isEmpty() {
+ // TODO Auto-generated method stub
+ return false;
+ }
}
diff --git a/src/main/java/lance5057/tDefense/armor/items/straps/StrapsContainer.java b/src/main/java/lance5057/tDefense/armor/items/straps/StrapsContainer.java
index 96a2aed..e4c59c4 100644
--- a/src/main/java/lance5057/tDefense/armor/items/straps/StrapsContainer.java
+++ b/src/main/java/lance5057/tDefense/armor/items/straps/StrapsContainer.java
@@ -161,7 +161,7 @@ public class StrapsContainer extends Container
}
}
- if (itemstack1.stackSize == 0)
+ if (itemstack1.getItemDamage() == 0)
{
slot.putStack((ItemStack) null);
}
@@ -170,12 +170,12 @@ public class StrapsContainer extends Container
slot.onSlotChanged();
}
- if (itemstack1.stackSize == itemstack.stackSize)
+ if (itemstack1.getItemDamage() == itemstack.getItemDamage())
{
return null;
}
- slot.onPickupFromSlot(par1EntityPlayer, itemstack1);
+ slot.onTake(par1EntityPlayer, itemstack1);
}
return itemstack;
diff --git a/src/main/java/lance5057/tDefense/core/CoreBlocks.java b/src/main/java/lance5057/tDefense/core/CoreBlocks.java
index 62a3139..6ae204d 100644
--- a/src/main/java/lance5057/tDefense/core/CoreBlocks.java
+++ b/src/main/java/lance5057/tDefense/core/CoreBlocks.java
@@ -1,21 +1,18 @@
package lance5057.tDefense.core;
-import lance5057.tDefense.Reference;
import lance5057.tDefense.TinkersDefense;
import lance5057.tDefense.core.blocks.TDMetalBlock;
import lance5057.tDefense.core.blocks.TDMetalItemBlock;
-import lance5057.tDefense.core.blocks.crestMount.CrestMount;
import lance5057.tDefense.util.BlocksBase;
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 class CoreBlocks extends BlocksBase {
public static TDMetalBlock metalBlocks;
public static TDMetalItemBlock metalItemBlock;
- public static CrestMount crestMount;
+ //public static CrestMount crestMount;
@Override
public void preInit(FMLPreInitializationEvent e) {
@@ -25,18 +22,18 @@ public class CoreBlocks extends BlocksBase {
// greencandyBlock = register("greencandyblock", CoreBase.tab, 5);
// redcandyBlock = register("redcandyblock", CoreBase.tab, 5);
- crestMount = new CrestMount();
- crestMount.setCreativeTab(CoreBase.tab);
+ //crestMount = new CrestMount();
+ //crestMount.setCreativeTab(CoreBase.tab);
metalBlocks = (TDMetalBlock) (new TDMetalBlock().setUnlocalizedName("metalblock"));
metalBlocks.setRegistryName("metalblock");
- GameRegistry.register(metalBlocks);
+ blockList.add(metalBlocks);
// We also need to create and register an ItemBlock for this block
// otherwise it won't appear in the inventory
metalItemBlock = new TDMetalItemBlock(metalBlocks);
metalItemBlock.setRegistryName(metalBlocks.getRegistryName());
- GameRegistry.register(metalItemBlock);
+ itemList.add(metalItemBlock);
diff --git a/src/main/java/lance5057/tDefense/core/CoreClientProxy.java b/src/main/java/lance5057/tDefense/core/CoreClientProxy.java
index 04c5b0c..4876427 100644
--- a/src/main/java/lance5057/tDefense/core/CoreClientProxy.java
+++ b/src/main/java/lance5057/tDefense/core/CoreClientProxy.java
@@ -9,7 +9,7 @@ public class CoreClientProxy
{
public void preInit() {
- CoreBlocks.crestMount.initModel();
+ //CoreBlocks.crestMount.initModel();
}
public void init() {
diff --git a/src/main/java/lance5057/tDefense/core/CoreItems.java b/src/main/java/lance5057/tDefense/core/CoreItems.java
index 8b525b1..615b037 100644
--- a/src/main/java/lance5057/tDefense/core/CoreItems.java
+++ b/src/main/java/lance5057/tDefense/core/CoreItems.java
@@ -28,7 +28,7 @@ public class CoreItems extends ItemsBase
{
item_straps = new ItemStraps().setMaxStackSize(1).setUnlocalizedName("straps").setRegistryName(Reference.MOD_ID, "straps");
- GameRegistry.register(item_straps);
+ itemList.add(item_straps);
}
@Override
diff --git a/src/main/java/lance5057/tDefense/core/blocks/TDMetalBlock.java b/src/main/java/lance5057/tDefense/core/blocks/TDMetalBlock.java
index 07ad86b..7c54892 100644
--- a/src/main/java/lance5057/tDefense/core/blocks/TDMetalBlock.java
+++ b/src/main/java/lance5057/tDefense/core/blocks/TDMetalBlock.java
@@ -13,6 +13,7 @@ import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IStringSerializable;
+import net.minecraft.util.NonNullList;
public class TDMetalBlock extends Block {
public static final PropertyEnum METAL = PropertyEnum.create("metal", TDMetalBlock.EnumMetal.class);
@@ -48,10 +49,10 @@ public class TDMetalBlock extends Block {
}
@Override
- public void getSubBlocks(Item itemIn, CreativeTabs tab, List list) {
+ public void getSubBlocks(CreativeTabs itemIn, NonNullList<ItemStack> tab) {
EnumMetal[] all = EnumMetal.values();
for (EnumMetal block : all) {
- list.add(new ItemStack(itemIn, 1, block.getID()));
+ tab.add(new ItemStack(this, 1, block.getID()));
}
}
diff --git a/src/main/java/lance5057/tDefense/core/blocks/crestMount/Container_CrestMount.java b/src/main/java/lance5057/tDefense/core/blocks/crestMount/Container_CrestMount.java
deleted file mode 100644
index 91c076a..0000000
--- a/src/main/java/lance5057/tDefense/core/blocks/crestMount/Container_CrestMount.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package lance5057.tDefense.core.blocks.crestMount;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-public class Container_CrestMount extends Container
-{
-
- public Container_CrestMount(InventoryPlayer inventoryPlayer, TileEntity_CrestMount te)
- {
- addSlotToContainer(new Slot(te, 0, 62, 28));
- addSlotToContainer(new Slot(te, 1, 98, 28));
- addSlotToContainer(new Slot(te, 2, 80, 28));
- addSlotToContainer(new Slot(te, 3, 80, 46));
-
- for(int x = 0; x < 9; x++)
- {
- addSlotToContainer(new Slot(inventoryPlayer, x, 8 + 18 * x, 142));
- }
-
- for(int y = 0; y < 3; y++)
- {
- for(int x = 0; x < 9; x++)
- {
- addSlotToContainer(new Slot(inventoryPlayer, x + y * 9 + 9,
- 8 + 18 * x, 84 + y * 18));
- }
- }
- }
-
- @Override
- public boolean canInteractWith(EntityPlayer player)
- {
-
- return true;
- }
-
- @Override
- public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)
- {
- return null;
- }
-}
diff --git a/src/main/java/lance5057/tDefense/core/blocks/crestMount/CrestMount.java b/src/main/java/lance5057/tDefense/core/blocks/crestMount/CrestMount.java
deleted file mode 100644
index b41f9c0..0000000
--- a/src/main/java/lance5057/tDefense/core/blocks/crestMount/CrestMount.java
+++ /dev/null
@@ -1,242 +0,0 @@
-package lance5057.tDefense.core.blocks.crestMount;
-
-import java.util.Random;
-
-import javax.annotation.Nullable;
-
-import lance5057.tDefense.Reference;
-import lance5057.tDefense.TinkersDefense;
-import net.minecraft.block.BlockContainer;
-import net.minecraft.block.BlockHorizontal;
-import net.minecraft.block.ITileEntityProvider;
-import net.minecraft.block.material.Material;
-import net.minecraft.block.properties.IProperty;
-import net.minecraft.block.properties.PropertyDirection;
-import net.minecraft.block.state.BlockStateContainer;
-import net.minecraft.block.state.IBlockState;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.EnumBlockRenderType;
-import net.minecraft.util.EnumFacing;
-import net.minecraft.util.EnumHand;
-import net.minecraft.util.math.AxisAlignedBB;
-import net.minecraft.util.math.BlockPos;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import net.minecraftforge.fml.client.registry.ClientRegistry;
-import net.minecraftforge.fml.common.registry.GameRegistry;
-import net.minecraftforge.fml.relauncher.Side;
-import net.minecraftforge.fml.relauncher.SideOnly;
-
-public class CrestMount extends BlockContainer implements ITileEntityProvider {
-
- public static final PropertyDirection FACING = BlockHorizontal.FACING;
- protected static final AxisAlignedBB EAST_AABB = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 0.1875D, 1.0D, 1.0D);
- protected static final AxisAlignedBB WEST_AABB = new AxisAlignedBB(0.8125D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- protected static final AxisAlignedBB SOUTH_AABB = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.1875D);
- protected static final AxisAlignedBB NORTH_AABB = new AxisAlignedBB(0.0D, 0.0D, 0.8125D, 1.0D, 1.0D, 1.0D);
-
- public CrestMount() {
- super(Material.IRON);
- this.setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
-
- this.setRegistryName("crestmount");
- this.setUnlocalizedName("crestmount");
-
- GameRegistry.register(this);
- GameRegistry.register(new ItemBlock(this), getRegistryName());
- GameRegistry.registerTileEntity(TileEntity_CrestMount.class, Reference.MOD_ID + "_crestmount");
- }
-
- @Override
- protected BlockStateContainer createBlockState() {
- return new BlockStateContainer(this, new IProperty[] { FACING });
- }
-
- @Override
- public IBlockState getStateFromMeta(int meta)
- {
- EnumFacing enumfacing = EnumFacing.getFront(meta);
-
- if (enumfacing.getAxis() == EnumFacing.Axis.Y)
- {
- enumfacing = EnumFacing.NORTH;
- }
-
- return this.getDefaultState().withProperty(FACING, enumfacing);
- }
-
- @Override
- public int getMetaFromState(IBlockState state)
- {
- return ((EnumFacing)state.getValue(FACING)).getIndex();
- }
-
-
- @Override
- public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
- switch ((EnumFacing) state.getValue(FACING)) {
- case NORTH:
- return NORTH_AABB;
- case SOUTH:
- return SOUTH_AABB;
- case WEST:
- return WEST_AABB;
- case EAST:
- default:
- return EAST_AABB;
- }
- }
-
- @SideOnly(Side.CLIENT)
- public void initModel() {
- ClientRegistry.bindTileEntitySpecialRenderer(TileEntity_CrestMount.class, new Renderer_CrestMount());
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos,
- EnumFacing side) {
- return false;
- }
-
- @Override
- public boolean isBlockNormalCube(IBlockState blockState) {
- return false;
- }
-
- @Override
- public boolean isOpaqueCube(IBlockState blockState) {
- return false;
- }
-
- @Override
- public EnumBlockRenderType getRenderType(IBlockState state) {
- return EnumBlockRenderType.INVISIBLE;
- }
-
- @Override
- public boolean canPlaceBlockAt(World worldIn, BlockPos pos) {
- return worldIn.getBlockState(pos.west()).isSideSolid(worldIn, pos.west(), EnumFacing.EAST)
- || worldIn.getBlockState(pos.east()).isSideSolid(worldIn, pos.east(), EnumFacing.WEST)
- || worldIn.getBlockState(pos.north()).isSideSolid(worldIn, pos.north(), EnumFacing.SOUTH)
- || worldIn.getBlockState(pos.south()).isSideSolid(worldIn, pos.south(), EnumFacing.NORTH);
- }
-
- @Override
- public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY,
- float hitZ, int meta, EntityLivingBase placer) {
- if (facing.getAxis().isHorizontal() && this.canBlockStay(worldIn, pos, facing)) {
- return this.getDefaultState().withProperty(FACING, facing);
- } else {
- for (EnumFacing enumfacing : EnumFacing.Plane.HORIZONTAL) {
- if (this.canBlockStay(worldIn, pos, enumfacing)) {
- return this.getDefaultState().withProperty(FACING, enumfacing);
- }
- }
-
- return this.getDefaultState();
- }
- }
-
- protected boolean canBlockStay(World worldIn, BlockPos pos, EnumFacing facing) {
- return worldIn.getBlockState(pos.offset(facing.getOpposite())).isSideSolid(worldIn,
- pos.offset(facing.getOpposite()), facing);
- }
-
- @Override
- public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn,
- EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
- final TileEntity tileEntity = worldIn.getTileEntity(pos);
- if (tileEntity == null || playerIn.isSneaking())
- return false;
- // code to open gui explained later
- playerIn.openGui(TinkersDefense.instance, TinkersDefense.GUI_CREST_INV, worldIn, 0, 0, 0);
- return true;
- }
-
- @Override
- public void breakBlock(World worldIn, BlockPos pos, IBlockState state) {
- dropItems(worldIn, pos);
- super.breakBlock(worldIn, pos, state);
- }
-
- private void dropItems(World world, BlockPos pos) {
- final Random rand = new Random();
-
- final TileEntity tileEntity = world.getTileEntity(pos);
- if (!(tileEntity instanceof IInventory))
- return;
- final IInventory inventory = (IInventory) tileEntity;
-
- for (int i = 0; i < inventory.getSizeInventory(); i++) {
- final ItemStack item = inventory.getStackInSlot(i);
-
- if (item != null && item.stackSize > 0) {
- final float rx = rand.nextFloat() * 0.8F + 0.1F;
- final float ry = rand.nextFloat() * 0.8F + 0.1F;
- final float rz = rand.nextFloat() * 0.8F + 0.1F;
-
- final EntityItem entityItem = new EntityItem(world, pos.getX() + rx, pos.getY() + ry, pos.getZ() + rz,
- new ItemStack(item.getItem(), item.stackSize, item.getItemDamage()));
-
- if (item.hasTagCompound()) {
- entityItem.getEntityItem().setTagCompound((NBTTagCompound) item.getTagCompound().copy());
- }
-
- final float factor = 0.05F;
- entityItem.motionX = rand.nextGaussian() * factor;
- entityItem.motionY = rand.nextGaussian() * factor + 0.2F;
- entityItem.motionZ = rand.nextGaussian() * factor;
- world.spawnEntity(entityItem);
- item.stackSize = 0;
- }
- }
- }
-
- @Override
- public TileEntity createNewTileEntity(World w, int md) {
- final TileEntity_CrestMount te = new TileEntity_CrestMount();
- return te;
- }
-
- // @Override
- // public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState
- // state, EntityLivingBase placer, ItemStack stack)
- // {
- // int j1 = p_149660_9_;
- //
- // if((p_149660_9_ == 0 || p_149660_5_ == 2) &&
- // p_149660_1_.isSideSolid(p_149660_2_, p_149660_3_, p_149660_4_ + 1,
- // NORTH))
- // {
- // j1 = 1;
- // }
- //
- // if((j1 == 0 || p_149660_5_ == 3) && p_149660_1_.isSideSolid(p_149660_2_,
- // p_149660_3_, p_149660_4_ - 1, SOUTH))
- // {
- // j1 = 2;
- // }
- //
- // if((j1 == 0 || p_149660_5_ == 4) && p_149660_1_.isSideSolid(p_149660_2_ +
- // 1, p_149660_3_, p_149660_4_, WEST))
- // {
- // j1 = 3;
- // }
- //
- // if((j1 == 0 || p_149660_5_ == 5) && p_149660_1_.isSideSolid(p_149660_2_ -
- // 1, p_149660_3_, p_149660_4_, EAST))
- // {
- // j1 = 4;
- // }
- //
- // return j1;
- // }
-}
diff --git a/src/main/java/lance5057/tDefense/core/blocks/crestMount/Gui_CrestMount.java b/src/main/java/lance5057/tDefense/core/blocks/crestMount/Gui_CrestMount.java
deleted file mode 100644
index d1c0713..0000000
--- a/src/main/java/lance5057/tDefense/core/blocks/crestMount/Gui_CrestMount.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package lance5057.tDefense.core.blocks.crestMount;
-
-import org.lwjgl.opengl.GL11;
-
-import lance5057.tDefense.TinkersDefense;
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.util.ResourceLocation;
-
-public class Gui_CrestMount extends GuiContainer
-{
- private static final ResourceLocation iconLocation = new ResourceLocation(
- "tinkersdefense",
- "textures/gui/crest_mount.png");
-
- private final TileEntity_CrestMount inventory;
-
- public Gui_CrestMount(InventoryPlayer invPlayer, TileEntity_CrestMount te_crest)
- {
- super(new Container_CrestMount(invPlayer, te_crest));
- inventory = te_crest;
-
- }
-
- @Override
- public void initGui()
- {
- super.initGui();
- buttonList.add(new GuiButton(1, guiLeft + 61,
- guiTop + 8, 18, 18, "Flip"));
- buttonList.add(new GuiButton(3, guiLeft + 79,
- guiTop + 8, 18, 18, "Flip"));
- buttonList.add(new GuiButton(2, guiLeft + 97,
- guiTop + 8, 18, 18, "Flip"));
-
- buttonList.add(new GuiButton(4, guiLeft + 79,
- guiTop + 63, 18, 18, "Flip"));
- }
-
- @Override
- protected void actionPerformed(GuiButton button)
- {
- for(int i = 1; i < 5; i++)
- {
- if(button.id == i)
- {
- if(inventory.flip[i - 1] == false)
- {
- inventory.flip[i - 1] = true;
- }
- else
- {
- inventory.flip[i - 1] = false;
- }
-
- TinkersDefense.INSTANCE.sendToServer(new Message_CrestMount(
- inventory.getPos(),
- inventory.flip));
- }
- }
- }
-
- @Override
- public void drawScreen(int par1, int par2, float par3)
- {
- super.drawScreen(par1, par2, par3);
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer(int par1, int par2)
- {
-
- }
-
- @Override
- protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
- {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.getTextureManager().bindTexture(iconLocation);
- final int k = (width - xSize) / 2;
- final int l = (height - ySize) / 2;
- drawTexturedModalRect(k, l, 0, 0, xSize, ySize);
- }
-}
diff --git a/src/main/java/lance5057/tDefense/core/blocks/crestMount/Handler_CrestMount.java b/src/main/java/lance5057/tDefense/core/blocks/crestMount/Handler_CrestMount.java
deleted file mode 100644
index f238121..0000000
--- a/src/main/java/lance5057/tDefense/core/blocks/crestMount/Handler_CrestMount.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package lance5057.tDefense.core.blocks.crestMount;
-
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
-import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
-import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
-
-public class Handler_CrestMount implements IMessageHandler<Message_CrestMount, IMessage>
-{
- @Override
- public IMessage onMessage(Message_CrestMount message, MessageContext ctx)
- {
- final TileEntity te = ctx.getServerHandler().playerEntity.world.getTileEntity(message.pos);
- if(te instanceof TileEntity_CrestMount)
- {
- ((TileEntity_CrestMount) te).flip = message.flip;
- }
- return null;
- }
-} \ No newline at end of file
diff --git a/src/main/java/lance5057/tDefense/core/blocks/crestMount/Message_CrestMount.java b/src/main/java/lance5057/tDefense/core/blocks/crestMount/Message_CrestMount.java
deleted file mode 100644
index 12a1706..0000000
--- a/src/main/java/lance5057/tDefense/core/blocks/crestMount/Message_CrestMount.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package lance5057.tDefense.core.blocks.crestMount;
-
-import io.netty.buffer.ByteBuf;
-import net.minecraft.util.math.BlockPos;
-import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
-
-public class Message_CrestMount implements IMessage
-{
- public BlockPos pos;
- public boolean[] flip = new boolean[4];
-
- public Message_CrestMount()
- {
-
- }
-
- public Message_CrestMount(BlockPos pos, boolean[] flip)
- {
- this.pos = pos;
- this.flip = flip;
- //System.arraycopy(flip, 0, this.flip, 0, flip.length);
-
- }
-
- @Override
- public void fromBytes(ByteBuf buf)
- {
- pos = new BlockPos(buf.readInt(), buf.readInt(), buf.readInt());
-
- for(int i = 0; i < flip.length; i++)
- {
- flip[i] = buf.readBoolean();
- }
- }
-
- @Override
- public void toBytes(ByteBuf buf)
- {
- buf.writeInt(pos.getX());
- buf.writeInt(pos.getY());
- buf.writeInt(pos.getZ());
- for(final boolean element : flip)
- {
- buf.writeBoolean(element);
- }
- }
-
-} \ No newline at end of file
diff --git a/src/main/java/lance5057/tDefense/core/blocks/crestMount/ModelCrestMount.java b/src/main/java/lance5057/tDefense/core/blocks/crestMount/ModelCrestMount.java
deleted file mode 100644
index 5b816ae..0000000
--- a/src/main/java/lance5057/tDefense/core/blocks/crestMount/ModelCrestMount.java
+++ /dev/null
@@ -1,98 +0,0 @@
-// Date: 1/18/2015 9:46:49 PM
-// Template version 1.1
-// Java generated by Techne
-// Keep in mind that you still need to fill in some blanks
-// - ZeuX
-
-package lance5057.tDefense.core.blocks.crestMount;
-
-import net.minecraft.client.model.ModelBase;
-import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
-
-public class ModelCrestMount extends ModelBase
-{
- //fields
- ModelRenderer ShieldMount;
- ModelRenderer Base;
- ModelRenderer SwordMount1;
- ModelRenderer SwordMount2;
-
- //ModelRenderer SwordMount3;
-
- public ModelCrestMount()
- {
- textureWidth = 32;
- textureHeight = 32;
-
- ShieldMount = new ModelRenderer(this, 20, 6);
- ShieldMount.addBox(0F, 0F, 0F, 2, 7, 2);
- ShieldMount.setRotationPoint(-1F, 17F, -1F);
- ShieldMount.setTextureSize(32, 32);
- ShieldMount.mirror = true;
- setRotation(ShieldMount, 0F, 0F, 0F);
-
- Base = new ModelRenderer(this, 0, 6);
- Base.addBox(0F, 0F, 0F, 4, 4, 4);
- Base.setRotationPoint(-2F, 20F, -2F);
- Base.setTextureSize(32, 32);
- Base.mirror = true;
- setRotation(Base, 0F, 0F, 0F);
-
- SwordMount1 = new ModelRenderer(this, 0, 0);
- SwordMount1.addBox(-5F, 0F, -2F, 10, 2, 4);
- SwordMount1.setRotationPoint(0F, 22F, 0F);
- SwordMount1.setTextureSize(32, 32);
- SwordMount1.mirror = true;
- setRotation(SwordMount1, 0F, 0.7853982F, 0F);
-
- SwordMount2 = new ModelRenderer(this, 0, 0);
- SwordMount2.addBox(-5F, 0F, -2F, 10, 2, 4);
- SwordMount2.setRotationPoint(0F, 22F, 0F);
- SwordMount2.setTextureSize(32, 32);
- SwordMount2.mirror = true;
- setRotation(SwordMount2, 0F, -0.7853982F, 0F);
-
- // SwordMount3 = new ModelRenderer(this, 0, 0);
- // SwordMount3.addBox(-5F, 0F, -2F, 10, 2, 4);
- // SwordMount3.setRotationPoint(0F, 21.9F, 0F);
- // SwordMount3.setTextureSize(32, 32);
- // SwordMount3.mirror = true;
- // setRotation(SwordMount3, 0F, 1.570796F, 0F);
- }
-
- public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, boolean left, boolean right, boolean shield)
- {
- super.render(entity, f, f1, f2, f3, f4, f5);
- setRotationAngles(f, f1, f2, f3, f4, f5, entity);
- if(shield)
- {
- ShieldMount.render(f5);
- }
- if(left)
- {
- SwordMount1.render(f5);
- }
- if(right)
- {
- SwordMount2.render(f5);
- }
-
- Base.render(f5);
- //SwordMount3.render(f5);
- }
-
- private void setRotation(ModelRenderer model, float x, float y, float z)
- {
- model.rotateAngleX = x;
- model.rotateAngleY = y;
- model.rotateAngleZ = z;
- }
-
- @Override
- public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
- {
- super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
- }
-
-}
diff --git a/src/main/java/lance5057/tDefense/core/blocks/crestMount/Renderer_CrestMount.java b/src/main/java/lance5057/tDefense/core/blocks/crestMount/Renderer_CrestMount.java
deleted file mode 100644
index d64fac3..0000000
--- a/src/main/java/lance5057/tDefense/core/blocks/crestMount/Renderer_CrestMount.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package lance5057.tDefense.core.blocks.crestMount;
-
-import org.lwjgl.opengl.GL11;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.RenderItem;
-import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
-import net.minecraft.client.renderer.entity.RenderManager;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.ResourceLocation;
-import slimeknights.tconstruct.library.tools.ToolCore;
-
-public class Renderer_CrestMount extends TileEntitySpecialRenderer
-{
- //private RenderItem itemRenderer;
- private final ModelCrestMount model;
- EntityItem entItem = null;
- EntityItem entItem2 = null;
- EntityItem entItem3 = null;
- EntityItem entItem4 = null;
-
- public Renderer_CrestMount()
- {
- model = new ModelCrestMount();
- }
-
- @Override
- public void renderTileEntityAt(TileEntity te, double x, double y, double z, float partialTicks, int destroyStage)
- {
- final TileEntity_CrestMount tileEntity = (TileEntity_CrestMount) te;
-
- boolean left = false, right = false, shield = false;
-
- if(tileEntity.getStackInSlot(1) != null)
- {
- right = true;
- }
- if(tileEntity.getStackInSlot(0) != null)
- {
- left = true;
- }
- if(tileEntity.getStackInSlot(3) != null)
- {
- shield = true;
- }
-
- GL11.glPushMatrix();
-
- //Render Crest Mount
- GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);
-
- final ResourceLocation textures = (new ResourceLocation(
- "tinkersdefense:textures/blocks/crestmount.png"));
-
- Minecraft.getMinecraft().renderEngine.bindTexture(textures);
-
- GL11.glPushMatrix();
-
- final int meta = te.getBlockMetadata();
- float rotation = 0;
- switch(meta)
- {
- case 1:
- rotation = 180;
- break;
- case 2:
- rotation = 0;
- break;
- case 3:
- rotation = -90;
- break;
- case 4:
- rotation = 90;
- break;
- }
- GL11.glRotatef(rotation, 0.0F, 1.0F, 0.0F);
-
- GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
- GL11.glRotatef(90F, 0.5F, 0.0F, 0.0F);
- GL11.glTranslatef(0, -1, -1);
-
- model.render((Entity) null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F, left, right, shield);
- GL11.glPopMatrix();
-
- //Render Inventory
-
- //right slot
- renderSlot(tileEntity, x, y, z, 1, rotation, tileEntity.flip[1]);
-
- //left slot
- renderSlot(tileEntity, x, y, z, 0, rotation, tileEntity.flip[0]);
-
- //middle slot
- renderSlot(tileEntity, x, y, z, 2, rotation, tileEntity.flip[2]);
-
- //shield slot
- renderSlot(tileEntity, x, y, z, 3, rotation, tileEntity.flip[3]);
-
- GL11.glPopMatrix();
-
- entItem = null;
- entItem2 = null;
- entItem3 = null;
- entItem4 = null;
- }
-
- private void renderSlot(TileEntity_CrestMount te, double x, double y, double z, int slot, float rotation, boolean flip)
- {
- if(te.getStackInSlot(slot) != null)
- {
- GL11.glPushMatrix();
-
- Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
-
- GL11.glScalef(2f, 2f, 2f);
- GL11.glRotatef(180, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef(rotation, 0.0F, 1.0F, 0.0F);
-
- if(te.flip[3] == true)
- {
- GL11.glRotatef(180, 0, 0, 1);
- GL11.glTranslatef(0.0f, 1.0f, 0);
- }
-
- Minecraft.getMinecraft().getRenderItem().renderItem(te.getStackInSlot(slot),
- ItemCameraTransforms.TransformType.NONE);
-
- GL11.glPopMatrix();
- }
- }
-
-}
diff --git a/src/main/java/lance5057/tDefense/core/blocks/crestMount/TileEntity_CrestMount.java b/src/main/java/lance5057/tDefense/core/blocks/crestMount/TileEntity_CrestMount.java
deleted file mode 100644
index 6f63a66..0000000
--- a/src/main/java/lance5057/tDefense/core/blocks/crestMount/TileEntity_CrestMount.java
+++ /dev/null
@@ -1,236 +0,0 @@
-package lance5057.tDefense.core.blocks.crestMount;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.network.NetworkManager;
-import net.minecraft.network.play.server.SPacketUpdateTileEntity;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.util.Constants;
-
-public class TileEntity_CrestMount extends TileEntity implements IInventory
-{
- public static int invSize = 4;
- public ItemStack[] inventory;
- public boolean[] flip;
-
- private final String name = "Crest Inventory";
-
- public TileEntity_CrestMount()
- {
- super();
- inventory = new ItemStack[invSize];
- flip = new boolean[4];
- }
-
- @Override
- public SPacketUpdateTileEntity getUpdatePacket()
- {
- final NBTTagCompound tag = new NBTTagCompound();
- writeToNBT(tag);
- return new SPacketUpdateTileEntity(getPos(), 1, tag);
- }
-
- @Override
- public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet)
- {
- readFromNBT(packet.getNbtCompound());
- }
-
- @Override
- public int getSizeInventory()
- {
- return invSize;
- }
-
- @Override
- public ItemStack getStackInSlot(int slot)
- {
- return inventory[slot];
- }
-
- @Override
- public ItemStack decrStackSize(int slot, int amount)
- {
- ItemStack stack = getStackInSlot(slot);
- if(stack != null)
- {
- if(stack.stackSize > amount)
- {
- stack = stack.splitStack(amount);
-
- if(stack.stackSize == 0)
- {
- setInventorySlotContents(slot, null);
- }
- }
- else
- {
- setInventorySlotContents(slot, null);
- }
-
- markDirty();
- }
- return stack;
-
- }
-
-// @Override
-// public ItemStack getStackInSlotOnClosing(int slot)
-// {
-// final ItemStack stack = getStackInSlot(slot);
-//
-// if(stack != null)
-// {
-// setInventorySlotContents(slot, stack);
-// }
-// return stack;
-// }
-
- @Override
- public void setInventorySlotContents(int slot, ItemStack itemstack)
- {
- inventory[slot] = itemstack;
-
- if(itemstack != null && itemstack.stackSize > getInventoryStackLimit())
- {
- itemstack.stackSize = getInventoryStackLimit();
- }
-
- markDirty();
- }
-
- @Override
- public String getName()
- {
- return name;
- }
-
- @Override
- public boolean hasCustomName()
- {
- return name.length() > 0;
- }
-
- @Override
- public int getInventoryStackLimit()
- {
- return 1;
- }
-
- @Override
- public boolean isUsableByPlayer(EntityPlayer player)
- {
- return true;
- }
-
- @Override
- public void openInventory(EntityPlayer player)
- {
-
- }
-
- @Override
- public void closeInventory(EntityPlayer player)
- {
-
- }
-
- @Override
- public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_)
- {
- return true;
- }
-
- @Override
- public NBTTagCompound writeToNBT(NBTTagCompound compound)
- {
- super.writeToNBT(compound);
- if(flip != null)
- {
- compound.setBoolean("flip_1", flip[0]);
- compound.setBoolean("flip_2", flip[1]);
- compound.setBoolean("flip_3", flip[2]);
- compound.setBoolean("flip_4", flip[3]);
- }
-
- writeInventoryToNBT(compound);
- return compound;
- }
-
- @Override
- public void readFromNBT(NBTTagCompound compound)
- {
- super.readFromNBT(compound);
-
- flip[0] = compound.getBoolean("flip_1");
- flip[1] = compound.getBoolean("flip_2");
- flip[2] = compound.getBoolean("flip_3");
- flip[3] = compound.getBoolean("flip_4");
-
- readInventoryFromNBT(compound);
- }
-
- public void readInventoryFromNBT(NBTTagCompound tags)
- {
- final NBTTagList nbttaglist = tags.getTagList("Items", Constants.NBT.TAG_COMPOUND);
- for(int iter = 0; iter < nbttaglist.tagCount(); iter++)
- {
- final NBTTagCompound tagList = nbttaglist.getCompoundTagAt(iter);
- final byte slotID = tagList.getByte("Slot");
- if(slotID >= 0 && slotID < inventory.length)
- {
- inventory[slotID] = ItemStack.loadItemStackFromNBT(tagList);
- }
- }
- }
-
- public void writeInventoryToNBT(NBTTagCompound tags)
- {
- final NBTTagList nbttaglist = new NBTTagList();
- for(int iter = 0; iter < inventory.length; iter++)
- {
- if(inventory[iter] != null)
- {
- final NBTTagCompound tagList = new NBTTagCompound();
- tagList.setByte("Slot", (byte) iter);
- inventory[iter].writeToNBT(tagList);
- nbttaglist.appendTag(tagList);
- }
- }
-
- tags.setTag("Items", nbttaglist);
- }
-
- @Override
- public ItemStack removeStackFromSlot(int index) {
- // TODO Auto-generated method stub
- return this.getStackInSlot(index);
- }
-
- @Override
- public int getField(int id) {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public void setField(int id, int value) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public int getFieldCount() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public void clear() {
- // TODO Auto-generated method stub
-
- }
-}
diff --git a/src/main/java/lance5057/tDefense/core/blocks/fluid/VibrantFluid.java b/src/main/java/lance5057/tDefense/core/blocks/fluid/VibrantFluid.java
index daea94a..6699538 100644
--- a/src/main/java/lance5057/tDefense/core/blocks/fluid/VibrantFluid.java
+++ b/src/main/java/lance5057/tDefense/core/blocks/fluid/VibrantFluid.java
@@ -24,8 +24,8 @@ public class VibrantFluid extends BlockFluidClassic {
}
@Override
- public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block blockIn) {
- super.neighborChanged(state, worldIn, pos, blockIn);
+ public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos npos) {
+ super.neighborChanged(state, worldIn, pos, blockIn, npos);
dirtToGrass(state, worldIn, pos);
}
diff --git a/src/main/java/lance5057/tDefense/core/blocks/fluid/VileFluid.java b/src/main/java/lance5057/tDefense/core/blocks/fluid/VileFluid.java
index 9a6fe88..ae0c2b2 100644
--- a/src/main/java/lance5057/tDefense/core/blocks/fluid/VileFluid.java
+++ b/src/main/java/lance5057/tDefense/core/blocks/fluid/VileFluid.java
@@ -3,14 +3,15 @@ package lance5057.tDefense.core.blocks.fluid;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
+import net.minecraft.entity.monster.EntityHusk;
import net.minecraft.entity.monster.EntityPigZombie;
import net.minecraft.entity.monster.EntitySkeleton;
+import net.minecraft.entity.monster.EntityWitherSkeleton;
import net.minecraft.entity.monster.EntityZombie;
-import net.minecraft.entity.monster.SkeletonType;
-import net.minecraft.entity.monster.ZombieType;
import net.minecraft.entity.passive.EntityHorse;
import net.minecraft.entity.passive.EntityPig;
-import net.minecraft.entity.passive.HorseType;
+import net.minecraft.entity.passive.EntitySkeletonHorse;
+import net.minecraft.entity.passive.EntityZombieHorse;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fluids.BlockFluidClassic;
@@ -25,19 +26,28 @@ public class VileFluid extends BlockFluidClassic {
@Override
public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) {
if (entity instanceof EntitySkeleton) {
- ((EntitySkeleton) entity).setSkeletonType(SkeletonType.WITHER);
+ EntityWitherSkeleton wither = new EntityWitherSkeleton(world);
+ wither.setPosition(entity.posX, entity.posY, entity.posZ);
+ world.spawnEntity(wither);
+ entity.setDead();
}
if (entity instanceof EntityZombie) {
- ((EntityZombie) entity).setZombieType(ZombieType.HUSK);
+ EntityHusk husk = new EntityHusk(world);
+ husk.setPosition(entity.posX, entity.posY, entity.posZ);
+ world.spawnEntity(husk);
+ entity.setDead();
}
if (entity instanceof EntityHorse) {
- if (((EntityHorse) entity).getType() != HorseType.SKELETON
- && ((EntityHorse) entity).getType() != HorseType.ZOMBIE)
- {
- if (world.rand.nextInt(2) == 0)
- ((EntityHorse) entity).setType(HorseType.SKELETON);
- else
- ((EntityHorse) entity).setType(HorseType.ZOMBIE);
+ if (world.rand.nextInt(2) == 0) {
+ EntitySkeletonHorse horse = new EntitySkeletonHorse(world);
+ horse.setPosition(entity.posX, entity.posY, entity.posZ);
+ world.spawnEntity(horse);
+ entity.setDead();
+ } else {
+ EntityZombieHorse horse = new EntityZombieHorse(world);
+ horse.setPosition(entity.posX, entity.posY, entity.posZ);
+ world.spawnEntity(horse);
+ entity.setDead();
}
}
if (entity instanceof EntityPig) {
diff --git a/src/main/java/lance5057/tDefense/core/items/TDOreDictItem.java b/src/main/java/lance5057/tDefense/core/items/TDOreDictItem.java
index 94febcb..9934d1d 100644
--- a/src/main/java/lance5057/tDefense/core/items/TDOreDictItem.java
+++ b/src/main/java/lance5057/tDefense/core/items/TDOreDictItem.java
@@ -1,18 +1,31 @@
package lance5057.tDefense.core.items;
+import java.util.ArrayList;
+import java.util.List;
+
import lance5057.tDefense.core.CoreBase;
+import lance5057.tDefense.util.TDMatHelper;
+import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
+import net.minecraftforge.fml.relauncher.Side;
+import net.minecraftforge.fml.relauncher.SideOnly;
public class TDOreDictItem extends Item {
String prefix;
+
+ public List<String> mats = new ArrayList<String>();
- public TDOreDictItem(String pre, String name) {
- setUnlocalizedName(pre + "_" + name);
- setRegistryName(pre + "_" + name);
+ public TDOreDictItem(String pre, List<String> materials_master) {
+ setUnlocalizedName(pre + "_meta");
+ setRegistryName(pre + "_meta");
prefix = pre;
+ mats = materials_master;
this.setCreativeTab(CoreBase.tab);
+ this.hasSubtypes = true;
}
-
+
public boolean isOreDict() {
return true;
}
@@ -20,4 +33,24 @@ public class TDOreDictItem extends Item {
public String getOreDictPrefix() {
return prefix;
}
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> items) {
+ for (int i = 0; i < mats.size(); i++) {
+ items.add(new ItemStack(this, 1, i));
+ }
+ }
+
+ public ItemStack getItembyName(String name)
+ {
+ for(int i = 0; i < mats.size(); i++)
+ {
+ if(mats.get(i).equals(name))
+ {
+ return new ItemStack(this, 1, i);
+ }
+ }
+ return null;
+ }
}
diff --git a/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java b/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java
index 8121edb..34edd07 100644
--- a/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java
+++ b/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java
@@ -1,6 +1,9 @@
package lance5057.tDefense.core.materials;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
+import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
@@ -12,31 +15,29 @@ import gnu.trove.set.hash.THashSet;
import lance5057.tDefense.Reference;
import lance5057.tDefense.TinkersDefense;
import lance5057.tDefense.armor.materials.MaterialCloth;
-import lance5057.tDefense.core.CoreBase;
-import lance5057.tDefense.core.blocks.fluid.VibrantFluid;
-import lance5057.tDefense.core.blocks.fluid.VileFluid;
import lance5057.tDefense.core.items.TDOreDictItem;
import lance5057.tDefense.core.materials.traits.TraitAxeLover;
import lance5057.tDefense.core.materials.traits.TraitBarbed;
import lance5057.tDefense.core.materials.traits.TraitDogToy;
import lance5057.tDefense.core.materials.traits.TraitDulling;
import lance5057.tDefense.core.materials.traits.TraitFirestarter;
+import lance5057.tDefense.util.TDMatHelper;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
-import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
-import net.minecraftforge.fml.common.registry.GameRegistry;
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.oredict.OreDictionary;
+import net.minecraftforge.registries.IForgeRegistry;
import slimeknights.tconstruct.library.MaterialIntegration;
import slimeknights.tconstruct.library.TinkerRegistry;
import slimeknights.tconstruct.library.fluid.FluidMolten;
-import slimeknights.tconstruct.library.materials.BowMaterialStats;
import slimeknights.tconstruct.library.materials.ExtraMaterialStats;
import slimeknights.tconstruct.library.materials.HandleMaterialStats;
import slimeknights.tconstruct.library.materials.HeadMaterialStats;
@@ -49,6 +50,7 @@ import slimeknights.tconstruct.shared.TinkerFluids;
import slimeknights.tconstruct.smeltery.block.BlockMolten;
import slimeknights.tconstruct.tools.TinkerMaterials;
+@Mod.EventBusSubscriber(modid = Reference.MOD_ID)
public class TDMaterials {
// public static final List<Material> materials = Lists.newArrayList();
@@ -59,9 +61,8 @@ public class TDMaterials {
public static final Map<String, MaterialIntegration> materialIntegrations = new THashMap<>();
public static final Collection<String> deferredMaterials = new THashSet<>();
- // public static final Material aeonsteel = mat("aeonsteel", 0xd200d1);
- // public static final Material queensgold = mat("queensgold", 0xdede00);
- // public static final Material dogbearium = mat("dogbearium", 0x604933);
+ 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;
@@ -80,88 +81,121 @@ public class TDMaterials {
public static Material orange;
public static Material white;
- public static FluidMolten fluidAeonsteel = new FluidMolten("aeonsteel", 0xa470e0);
- public static FluidMolten fluidQueensGold = new FluidMolten("queensgold", 0xdcff00);
- public static FluidMolten fluidDogbearium = new FluidMolten("dogbearium", 0x6d3300);
- public static FluidMolten fluidRedCandy = new FluidMolten("redcandy", 0xff0000);
- public static FluidMolten fluidGreenCandy = new FluidMolten("greencandy", 0x00ff00);
+ // public static FluidMolten fluidAeonsteel = new FluidMolten("aeonsteel",
+ // 0xa470e0);
+ // public static FluidMolten fluidQueensGold = new FluidMolten("queensgold",
+ // 0xdcff00);
+ // public static FluidMolten fluidDogbearium = new FluidMolten("dogbearium",
+ // 0x6d3300);
+ // public static FluidMolten fluidRedCandy = new FluidMolten("redcandy",
+ // 0xff0000);
+ // public static FluidMolten fluidGreenCandy = new FluidMolten("greencandy",
+ // 0x00ff00);
public static FluidMolten fluidVile = new FluidMolten("vile", 0x111111);
- public static FluidMolten fluidSinisterium = new FluidMolten("sinisterium", 0x210000);
- //public static FluidMolten fluidNihilite = new FluidMolten("nihilite", 0x000021);
+ // public static FluidMolten fluidSinisterium = new
+ // FluidMolten("sinisterium", 0x210000);
+ // public static FluidMolten fluidNihilite = new FluidMolten("nihilite",
+ // 0x000021);
public static FluidMolten fluidVibrant = new FluidMolten("vibrant", 0x76ff00);
- public static FluidMolten fluidOrichalcum = new FluidMolten("orichalcum", 0xffc700);
- public static FluidMolten fluidPandorium = new FluidMolten("pandorium", 0x7f6a00);
- public static FluidMolten fluidChorusJuice = new FluidMolten("chorusjuice", 0xd982ff);
- public static FluidMolten fluidDragonsBreath = new FluidMolten("dragonsbreath", 0x7f00b7);
- public static FluidMolten fluidRoseGold = new FluidMolten("rosegold", 0xff9b84);
- public static FluidMolten fluidPlatinum = new FluidMolten("platinum", 0xe8e8e8);
- public static FluidMolten fluidBrass = new FluidMolten("brass", 0xdbb332);
- public static FluidMolten fluidSilver = new FluidMolten("silver", 0x9e9e9e);
- public static FluidMolten fluidCheese = new FluidMolten("cheese", 0xffe731);
+ // public static FluidMolten fluidOrichalcum = new FluidMolten("orichalcum",
+ // 0xffc700);
+ // public static FluidMolten fluidPandorium = new FluidMolten("pandorium",
+ // 0x7f6a00);
+ // public static FluidMolten fluidChorusJuice = new
+ // FluidMolten("chorusjuice", 0xd982ff);
+ // public static FluidMolten fluidDragonsBreath = new
+ // FluidMolten("dragonsbreath", 0x7f00b7);
+ // public static FluidMolten fluidRoseGold = new FluidMolten("rosegold",
+ // 0xff9b84);
+ // public static FluidMolten fluidPlatinum = new FluidMolten("platinum",
+ // 0xe8e8e8);
+ // public static FluidMolten fluidBrass = new FluidMolten("brass",
+ // 0xdbb332);
+ // public static FluidMolten fluidSilver = new FluidMolten("silver",
+ // 0x9e9e9e);
+ // public static FluidMolten fluidCheese = new FluidMolten("cheese",
+ // 0xffe731);
// public static FluidMolten fluidGold = new FluidMolten("gold", 0xffe330);
- public static TDOreDictItem ingotAeonsteel = new TDOreDictItem("ingot", "aeonsteel");
- public static TDOreDictItem ingotQueensGold = new TDOreDictItem("ingot", "queensgold");
- public static TDOreDictItem ingotDogbearium = new TDOreDictItem("ingot", "dogbearium");
- public static TDOreDictItem ingotRedCandy = new TDOreDictItem("ingot", "redcandy");
- public static TDOreDictItem ingotGreenCandy = new TDOreDictItem("ingot", "greencandy");
- public static TDOreDictItem ingotSinisterium = new TDOreDictItem("ingot", "sinisterium");
- public static TDOreDictItem ingotNihilite = new TDOreDictItem("ingot", "nihilite");
- public static TDOreDictItem ingotOrichalcum = new TDOreDictItem("ingot", "orichalcum");
- public static TDOreDictItem ingotPandorium = new TDOreDictItem("ingot", "pandorium");
- public static TDOreDictItem ingotRoseGold = new TDOreDictItem("ingot", "rosegold");
- public static TDOreDictItem ingotPlatinum = new TDOreDictItem("ingot", "platinum");
- public static TDOreDictItem ingotBrass = new TDOreDictItem("ingot", "brass");
- public static TDOreDictItem ingotSilver = new TDOreDictItem("ingot", "silver");
- public static TDOreDictItem ingotCheese = new TDOreDictItem("ingot", "cheese");
-
- public static TDOreDictItem nuggetAeonsteel = new TDOreDictItem("nugget", "aeonsteel");
- public static TDOreDictItem nuggetQueensGold = new TDOreDictItem("nugget", "queensgold");
- public static TDOreDictItem nuggetDogbearium = new TDOreDictItem("nugget", "dogbearium");
- public static TDOreDictItem nuggetRedCandy = new TDOreDictItem("nugget", "redcandy");
- public static TDOreDictItem nuggetGreenCandy = new TDOreDictItem("nugget", "greencandy");
- public static TDOreDictItem nuggetSinisterium = new TDOreDictItem("nugget", "sinisterium");
- public static TDOreDictItem nuggetNihilite = new TDOreDictItem("nugget", "nihilite");
- public static TDOreDictItem nuggetOrichalcum = new TDOreDictItem("nugget", "orichalcum");
- public static TDOreDictItem nuggetPandorium = new TDOreDictItem("nugget", "pandorium");
- public static TDOreDictItem nuggetRoseGold = new TDOreDictItem("nugget", "rosegold");
- public static TDOreDictItem nuggetPlatinum = new TDOreDictItem("nugget", "platinum");
- public static TDOreDictItem nuggetBrass = new TDOreDictItem("nugget", "brass");
- public static TDOreDictItem nuggetSilver = new TDOreDictItem("nugget", "silver");
- public static TDOreDictItem nuggetCheese = new TDOreDictItem("nugget", "cheese");
-
- public static TDOreDictItem dustAeonsteel = new TDOreDictItem("dust", "aeonsteel");
- public static TDOreDictItem dustQueensGold = new TDOreDictItem("dust", "queensgold");
- public static TDOreDictItem dustDogbearium = new TDOreDictItem("dust", "dogbearium");
- public static TDOreDictItem dustRedCandy = new TDOreDictItem("dust", "redcandy");
- public static TDOreDictItem dustGreenCandy = new TDOreDictItem("dust", "greencandy");
- public static TDOreDictItem dustSinisterium = new TDOreDictItem("dust", "sinisterium");
- public static TDOreDictItem dustNihilite = new TDOreDictItem("dust", "nihilite");
- public static TDOreDictItem dustOrichalcum = new TDOreDictItem("dust", "orichalcum");
- public static TDOreDictItem dustPandorium = new TDOreDictItem("dust", "pandorium");
- public static TDOreDictItem dustRoseGold = new TDOreDictItem("dust", "rosegold");
- public static TDOreDictItem dustPlatinum = new TDOreDictItem("dust", "platinum");
- public static TDOreDictItem dustBrass = new TDOreDictItem("dust", "brass");
- public static TDOreDictItem dustSilver = new TDOreDictItem("dust", "silver");
- public static TDOreDictItem dustCheese = new TDOreDictItem("dust", "cheese");
- public static TDOreDictItem dustGold = new TDOreDictItem("dust", "gold");
-
- public static Material matAeonsteel = new Material("aeonsteel", 0xa470e0);
- public static Material matQueensGold = new Material("queensgold", 0xdcff00);
- public static Material matDogbearium = new Material("dogbearium", 0x6d3300);
- public static Material matRedCandy = new Material("redcandy", 0xff0000);
- public static Material matGreenCandy = new Material("greencandy", 0x00ff00);
- public static Material matSinisterium = new Material("sinisterium", 0x210000);
- public static Material matNihilite = new Material("nihilite", 0x000021);
- public static Material matVibrant = new Material("vibrant", 0x76ff00);
- public static Material matOrichalcum = new Material("orichalcum", 0xffc700);
- public static Material matPandorium = new Material("pandorium", 0x7f6a00);
- public static Material matRoseGold = new Material("rosegold", 0xff9b84);
- public static Material matPlatinum = new Material("platinum", 0xe8e8e8);
- public static Material matBrass = new Material("brass", 0xdbb332);
- public static Material matSilver = new Material("silver", 0x9e9e9e);
- public static Material matCheese = new Material("cheese", 0xffe731);
- public static Material matGold = new Material("gold", 0xffe330);
+ List<TDMatHelper> materials_master = new ArrayList<>();
+
+ // Base
+ List<TDMatHelper> materials_base = new ArrayList<>(Arrays.asList(
+ new TDMatHelper("aeonsteel", 0xa470e0, new FluidMolten("aeonsteel", 0xa470e0))
+ .setHead(new HeadMaterialStats(500, 15.00f, 4.0f, HarvestLevels.COBALT))
+ .setHandle(new HandleMaterialStats(1.1f, 0)).setExtra(new ExtraMaterialStats(50)),
+ new TDMatHelper("queensgold", 0xdcff00, new FluidMolten("queensgold", 0xdcff00)),
+ new TDMatHelper("dogbearium", 0x6d3300, new FluidMolten("dogbearium", 0x6d3300)),
+ new TDMatHelper("sinisterium", 0x210000, new FluidMolten("sinisterium", 0x210000)),
+ new TDMatHelper("nihilite", 0x000021, new FluidMolten("nihilite", 0x000021)),
+ new TDMatHelper("orichalcum", 0xffc700, new FluidMolten("orichalcum", 0xffc700)),
+ new TDMatHelper("pandorium", 0x7f6a00, new FluidMolten("pandorium", 0x7f6a00)),
+ new TDMatHelper("rosegold", 0xff9b84, new FluidMolten("rosegold", 0xff9b84)),
+ new TDMatHelper("platinum", 0xe8e8e8, new FluidMolten("platinum", 0xe8e8e8)),
+ new TDMatHelper("brass", 0xdbb332, new FluidMolten("brass", 0xdbb332)),
+ // new TDMatHelper("silver", 0x9e9e9e, new FluidMolten("silver",
+ // 0x9e9e9e)),
+ new TDMatHelper("valyriansteel", 0xe2d9e2, new FluidMolten("valyriansteel", 0xe2d9e2)),
+ new TDMatHelper("froststeel", 0xc6dcff, new FluidMolten("froststeel", 0xc6dcff)),
+ new TDMatHelper("resonatingcrystal", 0xffffff, new FluidMolten("resonatingcrystal", 0xffffff)),
+ new TDMatHelper("pureardite", 0xff4300, new FluidMolten("pureardite", 0xff4300)),
+ new TDMatHelper("purecobalt", 0x547eff, new FluidMolten("purecobalt", 0x547eff)),
+ new TDMatHelper("puremanyullyn", 0xd044ff, new FluidMolten("puremanyullyn", 0xd044ff)),
+ new TDMatHelper("glass", 0xffffff, TinkerFluids.glass),
+ // new TDMatHelper("ice", 0xdcff00, new FluidMolten("queensgold",
+ // 0xdcff00)),
+ new TDMatHelper("purifiedgold", 0xffe242, new FluidMolten("purifiedgold", 0xffe242)),
+ new TDMatHelper("purifiedsilver", 0xefefef, new FluidMolten("purifiedsilver", 0xefefef))));
+
+ // Jokes
+ List<TDMatHelper> materials_joke = new ArrayList<>(
+ Arrays.asList(new TDMatHelper("cheese", 0xffe900, new FluidMolten("cheese", 0xffe900)),
+ new TDMatHelper("bread", 0x89732a), new TDMatHelper("melon", 0xff77a4)));
+
+ // Holiday
+ List<TDMatHelper> materials_xmas = new ArrayList<>(
+ Arrays.asList(new TDMatHelper("redcandy", 0xff0000), new TDMatHelper("greencandy", 0x00ff00)));
+
+ // Gems
+ List<TDMatHelper> materials_gems = new ArrayList<>(
+ Arrays.asList(new TDMatHelper("sapphire", 0x6e00ff),
+ new TDMatHelper("ruby", 0xff0061, true),
+ new TDMatHelper("emerald", 0x16cc4f, true),
+ new TDMatHelper("diamond", 0x96ecf2, true),
+ new TDMatHelper("starsapphire", 0x6e00ff, true),
+ new TDMatHelper("starruby", 0xff0061, true),
+ new TDMatHelper("citrine", 0xffe877, true),
+ new TDMatHelper("ghasttear", 0xe8fbff, true),
+ new TDMatHelper("quartz", 0xede8e8, true),
+ new TDMatHelper("glowstonecrystal", 0xfff956, true),
+ new TDMatHelper("enderpearl", 0x2bad3a, true),
+ new TDMatHelper("amethyst", 0xb436e2, true),
+ new TDMatHelper("lapis", 0x4349bc, true),
+ new TDMatHelper("topaz", 0xffc551, true),
+ new TDMatHelper("garnet", 0x9e1c1c, true),
+ new TDMatHelper("opal", 0xe2e2e2, true),
+ new TDMatHelper("tanzanite", 0x8860e5, true),
+ new TDMatHelper("amber", 0xdba827, true)));
+
+ // // Blood Magic
+ // List<String> materials_bm = new ArrayList<>(
+ // Arrays.asList("blankslate", "reinforcedslate", "imbued", "demonic",
+ // "ethereal"));
+ //
+ // // Twilight Forest
+ // List<String> materials_tf = new ArrayList<>(Arrays.asList("rainbowoak",
+ // "ravenfeather", "horn", "ironwood",
+ // "steelleaf", "nagascale", "fiery", "caminite", "knightmetal"));
+ //
+ // // Pam's Harvestcraft
+ // 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 final AbstractTrait axelover = new TraitAxeLover();
public static final AbstractTrait dulling = new TraitDulling();
@@ -169,14 +203,80 @@ 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>();
+
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> r = new ArrayList<String>();
+
+ for (TDMatHelper m : mats) {
+ r.add(m.name);
+ }
+
+ return r;
+ }
+
+ List<Integer> getMatColors(List<TDMatHelper> mats) {
+ List<Integer> r = new ArrayList<Integer>();
+
+ for (TDMatHelper m : mats) {
+ r.add(m.color);
+ }
+
+ return r;
+ }
+
+ List<FluidMolten> getMatFluids(List<TDMatHelper> mats) {
+ List<FluidMolten> r = new ArrayList<FluidMolten>();
+
+ for (TDMatHelper m : mats) {
+ r.add(m.fluid);
+ }
+
+ return r;
+ }
+
@Subscribe
public void preInit(FMLPreInitializationEvent event) {
+
+ if (TinkersDefense.config.materials.enableBaseMaterials)
+ this.materials_master.addAll(materials_base);
+ if (TinkersDefense.config.materials.enableJokeMaterials)
+ this.materials_master.addAll(this.materials_joke);
+ if (TinkersDefense.config.materials.enableHolidayMaterials)
+ this.materials_master.addAll(materials_xmas);
+ if (TinkersDefense.config.materials.enableGemMaterials)
+ this.materials_master.addAll(materials_gems);
+ // if (TinkersDefense.config.materials.enableTwilightForestMaterials)
+ // this.materials_master.addAll(materials_tf);
+ // if (TinkersDefense.config.materials.enableBloodMagicMaterials)
+ // this.materials_master.addAll(materials_bm);
+ // if (TinkersDefense.config.materials.enableHarvestCraftMaterials)
+ // this.materials_master.addAll(materials_pam);
+
+ nugget = new TDOreDictItem("nugget", getMatNames(materials_master));
+ dust = new TDOreDictItem("dust", getMatNames(materials_master));
+ grain = new TDOreDictItem("grain", getMatNames(materials_master));
+
+ List<TDMatHelper> gemMaster = new ArrayList<TDMatHelper>();
+ List<TDMatHelper> ingotMaster = new ArrayList<TDMatHelper>();
+
+ for (TDMatHelper i : materials_master) {
+ if (i.isGem)
+ gemMaster.add(i);
+ else
+ ingotMaster.add(i);
+ }
+
+ gem = new TDOreDictItem("gem", getMatNames(gemMaster));
+ ingot = new TDOreDictItem("ingot", getMatNames(ingotMaster));
+
Material.UNKNOWN.addStats(new ShieldMaterialStats(35, 33));
// TinkerRegistry.addMaterialStats(Material.UNKNOWN,
@@ -197,10 +297,10 @@ public class TDMaterials {
TinkerRegistry.addMaterialStats(TinkerMaterials.cactus, new ShieldMaterialStats(210, 33));
TinkerRegistry.addMaterialTrait(TinkerMaterials.cactus, barbed, SHIELD);
-
+
TinkerRegistry.addMaterialStats(TinkerMaterials.bone, new ShieldMaterialStats(200, 33));
TinkerRegistry.addMaterialTrait(TinkerMaterials.bone, dogtoy, SHIELD);
-
+
TinkerRegistry.addMaterialStats(TinkerMaterials.obsidian, new ShieldMaterialStats(139, 33));
TinkerRegistry.addMaterialStats(TinkerMaterials.prismarine, new ShieldMaterialStats(430, 33));
TinkerRegistry.addMaterialStats(TinkerMaterials.endstone, new ShieldMaterialStats(420, 33));
@@ -236,162 +336,156 @@ public class TDMaterials {
TinkerRegistry.addMaterialStats(TinkerMaterials.electrum, new ShieldMaterialStats(50, 33));
TinkerRegistry.addMaterialStats(TinkerMaterials.steel, new ShieldMaterialStats(540, 33));
-
- //TinkerRegistry.addMaterialStats(matAeonsteel, new ShieldMaterialStats(540, 33));
-
- registerClothMaterials();
-
- addMat("aeonsteel", fluidAeonsteel, nuggetAeonsteel, ingotAeonsteel, dustAeonsteel);
- addMat("queensgold", fluidQueensGold, nuggetQueensGold, ingotQueensGold, dustQueensGold);
- addMat("dogbearium", fluidDogbearium, nuggetDogbearium, ingotDogbearium, dustDogbearium);
- addMat("redcandy", fluidRedCandy, nuggetRedCandy, ingotRedCandy, dustRedCandy);
- addMat("greencandy", fluidGreenCandy, nuggetGreenCandy, ingotGreenCandy, dustGreenCandy);
- addMat("sinisterium", fluidSinisterium, nuggetSinisterium, ingotSinisterium, dustSinisterium);
- //addMat("nihilite", fluidNihilite, nuggetNihilite, ingotNihilite, dustNihilite);
-
- addMat("orichalcum", fluidOrichalcum, nuggetOrichalcum, ingotOrichalcum, dustOrichalcum);
- addMat("pandorium", fluidPandorium, nuggetPandorium, ingotPandorium, dustPandorium);
-
- addMat("rosegold", fluidRoseGold, nuggetRoseGold, ingotRoseGold, dustRoseGold);
- addMat("platinum", fluidPlatinum, nuggetPlatinum, ingotPlatinum, dustPlatinum);
- addMat("brass", fluidBrass, nuggetBrass, ingotBrass, dustBrass);
- addMat("silver", fluidSilver, nuggetSilver, ingotSilver, dustSilver);
+ for (TDMatHelper m : materials_master) {
+ createMaterial(m);
+ }
- addMat("cheese", fluidCheese, nuggetCheese, ingotCheese, dustCheese);
+ // TAIGA TEST
+ // Collection<Material> mats = TinkerRegistry.getAllMaterials();
+ for (Material i : TinkerRegistry.getAllMaterials()) {
+ if (!i.hasStats(SHIELD)) {
+ if (i.hasStats(MaterialTypes.HEAD)) {
+ int dur = ((HeadMaterialStats) i.getStats(MaterialTypes.HEAD)).durability;
+ i.addStats(new ShieldMaterialStats(dur, 33));
+ }
+ }
+ }
- addMat("chorusjuice", fluidChorusJuice);
- addMat("dragonsbreath", fluidDragonsBreath);
+ registerClothMaterials();
+ createFluid("vibrant", fluidVibrant);
FluidRegistry.registerFluid(fluidVibrant);
FluidRegistry.addBucketForFluid(fluidVibrant);
- addMat("vibrantfluid", fluidVibrant, new VibrantFluid(fluidVibrant));
+ createFluid("vile", fluidVile);
FluidRegistry.registerFluid(fluidVile);
FluidRegistry.addBucketForFluid(fluidVile);
- addMat("vilefluid", fluidVile, new VileFluid(fluidVile));
-
- registerMaterials();
- //integrate(materials, materialIntegrations, deferredMaterials);
+ // integrate(materials, materialIntegrations, deferredMaterials);
}
- @Subscribe
- public void init(FMLInitializationEvent event) {
-
- // registerMaterials();
- // TinkerRegistry.addMaterialStats(aeonsteel, new
- // HeadMaterialStats(1000, 4.0f, 3.00f, COBALT),
- // new HandleMaterialStats(1.10f, 200), new ExtraMaterialStats(500));
- // iron.addItemIngot("ingotIron");
- // iron.setRepresentativeItem(Items.field_151042_j);
- // iron.addTrait(magnetic2, HEAD);
- // iron.addTrait(magnetic);
-
- // TinkerMaterials.stone.addTrait(TinkerMaterials.cheapskate,
- // ShieldMaterialStats.TYPE);
+ void createMaterial(TDMatHelper tdmat) {
+ Material mat = new Material(tdmat.name, tdmat.color);
- // TAIGA TEST
- Collection<Material> mats = TinkerRegistry.getAllMaterials();
- for (Material i : mats) {
- if (!i.hasStats(SHIELD)) {
- if (i.hasStats(MaterialTypes.HEAD)) {
- int dur = ((HeadMaterialStats) i.getStats(MaterialTypes.HEAD)).durability;
- i.addStats(new ShieldMaterialStats(dur, 33));
- }
- }
+ if(tdmat.isGem)
+ {
+ 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("ingot" + tdmat.name.substring(0, 1).toUpperCase() + tdmat.name.substring(1));
+ mat.addItem("nugget" + tdmat.name.substring(0, 1).toUpperCase() + tdmat.name.substring(1));
+ mat.addItem("dust" + tdmat.name.substring(0, 1).toUpperCase() + tdmat.name.substring(1));
+ mat.addItem("grain" + tdmat.name.substring(0, 1).toUpperCase() + tdmat.name.substring(1));
+
+ if(tdmat.isGem)
+ mat.setCraftable(true).setCastable(false);
+ else
+ mat.setCraftable(false).setCastable(true);
+ TinkersDefense.proxy.registerMatColor(mat, tdmat.color);
+
+ if (tdmat.fluid != null) {
+ createFluid(tdmat.name, tdmat.fluid);
+ tdmat.fluid.setTemperature(800);
+ mat.setFluid(tdmat.fluid);
}
- }
- void addMat(String name, FluidMolten fluid) {
- FluidRegistry.registerFluid(fluid);
- FluidRegistry.addBucketForFluid(fluid);
+ ItemStack i;
+ if(tdmat.isGem)
+ i = gem.getItembyName(tdmat.name);
+ else
+ i = ingot.getItembyName(tdmat.name);
+ mat.setRepresentativeItem(i);
- createFluid(name, fluid);
- }
+ setStats(mat, tdmat);
+ materials.put(tdmat.name, mat);
- void addMat(String name, FluidMolten fluid, Item nugget, Item ingot, Item dust) {
- FluidRegistry.registerFluid(fluid);
- FluidRegistry.addBucketForFluid(fluid);
+ if (tdmat.fluid != null)
+ TinkerRegistry.integrate(new MaterialIntegration(mat, tdmat.fluid).toolforge()).preInit();
+ else
+ TinkerRegistry.integrate(new MaterialIntegration(mat).toolforge()).preInit();
+ }
- createFluid(name, fluid);
- createItems(name, nugget, ingot, dust);
+ void setStats(Material m, TDMatHelper tdm) {
+ if (tdm.head != null)
+ TinkerRegistry.addMaterialStats(m, tdm.head);
+ else
+ TinkerRegistry.addMaterialStats(m, new HeadMaterialStats(0,0,0,0));
+ if (tdm.handle != null)
+ TinkerRegistry.addMaterialStats(m, tdm.handle);
+ else
+ TinkerRegistry.addMaterialStats(m, new HandleMaterialStats(0,0));
+ if (tdm.extra != null)
+ TinkerRegistry.addMaterialStats(m, tdm.extra);
+ else
+ TinkerRegistry.addMaterialStats(m, new ExtraMaterialStats(0));
+ if (tdm.bow != null)
+ TinkerRegistry.addMaterialStats(m, tdm.bow);
+ if (tdm.shaft != null)
+ TinkerRegistry.addMaterialStats(m, tdm.shaft);
+ if (tdm.bowstring != null)
+ TinkerRegistry.addMaterialStats(m, tdm.bowstring);
+ if (tdm.shield != null)
+ TinkerRegistry.addMaterialStats(m, tdm.shield);
}
- void addMat(String name, FluidMolten fluid, Block fluidBlock) {
+ public void registerItems(final RegistryEvent.Register<Item> event) {
+ final IForgeRegistry registry = event.getRegistry();
- createFluid(name, fluid, fluidBlock);
+ registry.register(ingot);
+ registry.register(dust);
+ registry.register(nugget);
+ registry.register(grain);
+ registry.register(gem);
}
- void addMat(String name, FluidMolten fluid, Block fluidBlock, Item nugget, Item ingot, Item dust) {
+ @Subscribe
+ 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));
+ 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));
+ 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));
+ 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));
+ 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));
+ }
- createFluid(name, fluid, fluidBlock);
- createItems(name, nugget, ingot, dust);
+ @SubscribeEvent
+ public static void registerBlocks(final RegistryEvent.Register<Block> event) {
+ for (Block i : blockList) {
+ event.getRegistry().register(i);
+ }
}
- void createFluid(String name, FluidMolten fluid) {
+ static void createFluid(String name, FluidMolten fluid) {
+ FluidRegistry.registerFluid(fluid);
+
BlockMolten block = new BlockMolten(fluid);
// Sets names
block.setUnlocalizedName("molten_" + fluid.getName());
block.setRegistryName(Reference.MOD_ID, "molten_" + fluid.getName());
- // Registers the fluid in its block form and its corresponding item
- // (block/fluid as item in inventory)
- GameRegistry.register(block);
- GameRegistry.register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
- // Registers the fluid's model but only on the client side
- TinkersDefense.proxy.registerFluidModels(fluid);
- }
- void createFluid(String name, FluidMolten fluid, Block fluidBlock) {
- fluidBlock.setUnlocalizedName("molten_" + fluid.getName());
- fluidBlock.setRegistryName(Reference.MOD_ID, "molten_" + fluid.getName());
- // Registers the fluid in its block form and its corresponding item
- // (block/fluid as item in inventory)
- GameRegistry.register(fluidBlock);
- GameRegistry.register(new ItemBlock(fluidBlock).setRegistryName(fluidBlock.getRegistryName()));
+ blockList.add(block);
+ itemList.add(new ItemBlock(block).setRegistryName(block.getRegistryName()));
// Registers the fluid's model but only on the client side
TinkersDefense.proxy.registerFluidModels(fluid);
- }
- void createItems(String name, Item nugget, Item ingot, Item dust) {
- nugget.setCreativeTab(CoreBase.tab);
- ingot.setCreativeTab(CoreBase.tab);
- dust.setCreativeTab(CoreBase.tab);
-
- GameRegistry.register(nugget);
- GameRegistry.register(ingot);
- GameRegistry.register(dust);
-
- if (nugget instanceof TDOreDictItem)
- OreDictionary.registerOre(((TDOreDictItem) nugget).getOreDictPrefix() + StringUtils.capitalize(name),
- nugget);
- if (ingot instanceof TDOreDictItem)
- OreDictionary.registerOre(((TDOreDictItem) ingot).getOreDictPrefix() + StringUtils.capitalize(name), ingot);
- if (dust instanceof TDOreDictItem)
- OreDictionary.registerOre(((TDOreDictItem) dust).getOreDictPrefix() + StringUtils.capitalize(name), dust);
- }
-
- void createMaterial(String name, Material mat, Fluid fluid, Item item, HeadMaterialStats headstat,
- HandleMaterialStats handlestat, ExtraMaterialStats extrastat, BowMaterialStats bowstat, boolean craftable,
- boolean castable) {
-
- mat.setFluid(fluid);
- mat.setCraftable(craftable).setCastable(castable);
- mat.addItem(item, 1, Material.VALUE_Ingot);
- mat.setRepresentativeItem(item);
-
- TinkerRegistry.addMaterialStats(mat, headstat);
- TinkerRegistry.addMaterialStats(mat, handlestat);
- TinkerRegistry.addMaterialStats(mat, extrastat);
- TinkerRegistry.addMaterialStats(mat, bowstat);
- TinkerRegistry.addMaterialStats(mat, new ShieldMaterialStats(0, 0));
-
- materials.put(name, mat);
-
- // MaterialIntegration integration = new MaterialIntegration(mat, fluid,
- // name);
- // integration.integrate();
+ FluidRegistry.addBucketForFluid(fluid);
}
private void registerClothMaterials() {
@@ -482,55 +576,9 @@ public class TDMaterials {
TinkerRegistry.addMaterialStats(white, new MaterialCloth(100));
}
- private void registerMaterials() {
- createMaterial("aeonsteel", matAeonsteel, fluidAeonsteel, ingotAeonsteel,
- new HeadMaterialStats(0, 0, 0, HarvestLevels.COBALT), new HandleMaterialStats(0, 0),
- new ExtraMaterialStats(0), new BowMaterialStats(0, 0, 0), false, true);
- createMaterial("queensgold", matQueensGold, fluidQueensGold, ingotQueensGold,
- new HeadMaterialStats(0, 0, 0, HarvestLevels.COBALT), new HandleMaterialStats(0, 0),
- new ExtraMaterialStats(0), new BowMaterialStats(0, 0, 0), false, true);
- createMaterial("dogbearium", matDogbearium, fluidDogbearium, ingotDogbearium,
- new HeadMaterialStats(0, 0, 0, HarvestLevels.COBALT), new HandleMaterialStats(0, 0),
- new ExtraMaterialStats(0), new BowMaterialStats(0, 0, 0), false, true);
- createMaterial("redcandy", matRedCandy, fluidRedCandy, ingotRedCandy,
- new HeadMaterialStats(0, 0, 0, HarvestLevels.COBALT), new HandleMaterialStats(0, 0),
- new ExtraMaterialStats(0), new BowMaterialStats(0, 0, 0), false, true);
- createMaterial("greencandy", matGreenCandy, fluidGreenCandy, ingotGreenCandy,
- new HeadMaterialStats(0, 0, 0, HarvestLevels.COBALT), new HandleMaterialStats(0, 0),
- new ExtraMaterialStats(0), new BowMaterialStats(0, 0, 0), false, true);
-
- createMaterial("sinisterium", matSinisterium, fluidSinisterium, ingotSinisterium,
- new HeadMaterialStats(0, 0, 0, HarvestLevels.COBALT), new HandleMaterialStats(0, 0),
- new ExtraMaterialStats(0), new BowMaterialStats(0, 0, 0), false, true);
-// createMaterial("nihilite", matNihilite, fluidNihilite, ingotNihilite,
-// new HeadMaterialStats(0, 0, 0, HarvestLevels.COBALT), new HandleMaterialStats(0, 0),
-// new ExtraMaterialStats(0), new BowMaterialStats(0, 0, 0), false, true);
- createMaterial("orichalcum", matOrichalcum, fluidOrichalcum, ingotOrichalcum,
- new HeadMaterialStats(0, 0, 0, HarvestLevels.COBALT), new HandleMaterialStats(0, 0),
- new ExtraMaterialStats(0), new BowMaterialStats(0, 0, 0), false, true);
- createMaterial("pandorium", matPandorium, fluidPandorium, ingotPandorium,
- new HeadMaterialStats(0, 0, 0, HarvestLevels.COBALT), new HandleMaterialStats(0, 0),
- new ExtraMaterialStats(0), new BowMaterialStats(0, 0, 0), false, true);
-
- createMaterial("rosegold", matRoseGold, fluidRoseGold, ingotRoseGold,
- new HeadMaterialStats(0, 0, 0, HarvestLevels.COBALT), new HandleMaterialStats(0, 0),
- new ExtraMaterialStats(0), new BowMaterialStats(0, 0, 0), false, true);
- createMaterial("platinum", matPlatinum, fluidPlatinum, ingotPlatinum,
- new HeadMaterialStats(0, 0, 0, HarvestLevels.COBALT), new HandleMaterialStats(0, 0),
- new ExtraMaterialStats(0), new BowMaterialStats(0, 0, 0), false, true);
- createMaterial("brass", matBrass, fluidBrass, ingotBrass, new HeadMaterialStats(0, 0, 0, HarvestLevels.COBALT),
- new HandleMaterialStats(0, 0), new ExtraMaterialStats(0), new BowMaterialStats(0, 0, 0), false, true);
- createMaterial("cheese", matCheese, fluidCheese, ingotCheese,
- new HeadMaterialStats(0, 0, 0, HarvestLevels.COBALT), new HandleMaterialStats(0, 0),
- new ExtraMaterialStats(0), new BowMaterialStats(0, 0, 0), false, true);
- createMaterial("gold", matGold, TinkerFluids.gold, Items.GOLD_INGOT,
- new HeadMaterialStats(0, 0, 0, HarvestLevels.COBALT), new HandleMaterialStats(0, 0),
- new ExtraMaterialStats(0), new BowMaterialStats(0, 0, 0), false, true);
- }
-
- //PlusTIC to the rescue
- public static void integrate(Map<String, Material> materials,
- Map<String, MaterialIntegration> materialIntegrations, Collection<String> excludedMaterials) {
+ // 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)) {
MaterialIntegration mi;
@@ -540,7 +588,7 @@ public class TDMaterials {
mi = new MaterialIntegration(v);
}
mi.integrate();
- mi.integrateRecipes();
+ // mi.integrateRecipes();
materialIntegrations.put(k, mi);
}
});
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 f262aea..17d1811 100644
--- a/src/main/java/lance5057/tDefense/core/materials/traits/TraitAxeLover.java
+++ b/src/main/java/lance5057/tDefense/core/materials/traits/TraitAxeLover.java
@@ -1,5 +1,7 @@
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;
@@ -9,8 +11,10 @@ import net.minecraft.inventory.InventoryHelper;
import net.minecraft.item.ItemAxe;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumHand;
+import net.minecraft.util.NonNullList;
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;
@@ -26,7 +30,7 @@ public class TraitAxeLover extends AbstractTrait {
@Override
public void onBlock(ItemStack tool, EntityPlayer player,
LivingHurtEvent event) {
- Entity src = event.getSource().getSourceOfDamage();
+ Entity src = event.getSource().getTrueSource();
if (src != null && src instanceof EntityLiving) {
EntityLivingBase liv = (EntityLivingBase) src;
@@ -44,4 +48,10 @@ public class TraitAxeLover extends AbstractTrait {
}
}
}
+
+ @Override
+ public Optional<Match> matches(NonNullList<ItemStack> arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
diff --git a/src/main/java/lance5057/tDefense/core/materials/traits/TraitBarbed.java b/src/main/java/lance5057/tDefense/core/materials/traits/TraitBarbed.java
index 1da3ab0..9e82775 100644
--- a/src/main/java/lance5057/tDefense/core/materials/traits/TraitBarbed.java
+++ b/src/main/java/lance5057/tDefense/core/materials/traits/TraitBarbed.java
@@ -1,10 +1,14 @@
package lance5057.tDefense.core.materials.traits;
+import java.util.Optional;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
+import net.minecraft.util.NonNullList;
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;
public class TraitBarbed extends AbstractTrait {
@@ -15,9 +19,15 @@ public class TraitBarbed extends AbstractTrait {
@Override
public void onBlock(ItemStack tool, EntityPlayer player, LivingHurtEvent event) {
- if (event.getSource() != DamageSource.generic) {
- player.attackEntityFrom(DamageSource.generic, 1);
- event.getSource().getSourceOfDamage().attackEntityFrom(DamageSource.generic, 1);
+ if (event.getSource() != DamageSource.GENERIC) {
+ player.attackEntityFrom(DamageSource.GENERIC, 1);
+ event.getSource().getTrueSource().attackEntityFrom(DamageSource.GENERIC, 1);
}
}
+
+ @Override
+ public Optional<Match> matches(NonNullList<ItemStack> arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
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 da56768..81b608d 100644
--- a/src/main/java/lance5057/tDefense/core/materials/traits/TraitDogToy.java
+++ b/src/main/java/lance5057/tDefense/core/materials/traits/TraitDogToy.java
@@ -1,5 +1,7 @@
package lance5057.tDefense.core.materials.traits;
+import java.util.Optional;
+
import net.minecraft.block.BlockFence;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
@@ -11,10 +13,12 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
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;
public class TraitDogToy extends AbstractTrait {
@@ -27,7 +31,7 @@ public class TraitDogToy extends AbstractTrait {
@Override
public void onBlock(ItemStack tool, EntityPlayer player, LivingHurtEvent event) {
- if (event.getSource().getSourceOfDamage() instanceof EntityLiving || event.getSource().getEntity() instanceof EntityLiving ) {
+ if (event.getSource().getTrueSource() instanceof EntityLiving || event.getSource().getImmediateSource() instanceof EntityLiving ) {
BlockPos pos = new BlockPos(player.posX + player.world.rand.nextInt(10) - 5, player.posY,
player.posZ + player.world.rand.nextInt(10) - 5);
IBlockState iblockstate = player.world.getBlockState(pos);
@@ -57,10 +61,10 @@ public class TraitDogToy extends AbstractTrait {
entWolf.onInitialSpawn(player.world.getDifficultyForLocation(new BlockPos(entWolf)),
(IEntityLivingData) null);
- if(event.getSource().getSourceOfDamage() instanceof EntityLiving)
- entWolf.setAttackTarget((EntityLivingBase) event.getSource().getSourceOfDamage());
+ if(event.getSource().getTrueSource() instanceof EntityLiving)
+ entWolf.setAttackTarget((EntityLivingBase) event.getSource().getTrueSource());
else
- entWolf.setAttackTarget((EntityLivingBase) event.getSource().getEntity());
+ entWolf.setAttackTarget((EntityLivingBase) event.getSource().getImmediateSource());
entWolf.setAngry(true);
entWolf.setCollarColor(EnumDyeColor.BLACK);
@@ -74,4 +78,10 @@ public class TraitDogToy extends AbstractTrait {
// applyItemEntityDataToEntity(player.world, player, null, entity);
}
}
+
+ @Override
+ public Optional<Match> matches(NonNullList<ItemStack> arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
diff --git a/src/main/java/lance5057/tDefense/core/materials/traits/TraitDulling.java b/src/main/java/lance5057/tDefense/core/materials/traits/TraitDulling.java
index 263f4e4..badd802 100644
--- a/src/main/java/lance5057/tDefense/core/materials/traits/TraitDulling.java
+++ b/src/main/java/lance5057/tDefense/core/materials/traits/TraitDulling.java
@@ -1,12 +1,16 @@
package lance5057.tDefense.core.materials.traits;
+import java.util.Optional;
+
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
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;
@@ -20,7 +24,7 @@ public class TraitDulling extends AbstractTrait {
@Override
public void onBlock(ItemStack tool, EntityPlayer player,
LivingHurtEvent event) {
- Entity src = event.getSource().getSourceOfDamage();
+ Entity src = event.getSource().getTrueSource();
if (src != null && src instanceof EntityLiving) {
EntityLivingBase liv = (EntityLivingBase) src;
@@ -37,4 +41,10 @@ public class TraitDulling extends AbstractTrait {
}
}
}
+
+ @Override
+ public Optional<Match> matches(NonNullList<ItemStack> arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
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 16b1c2b..90bc373 100644
--- a/src/main/java/lance5057/tDefense/core/materials/traits/TraitFirestarter.java
+++ b/src/main/java/lance5057/tDefense/core/materials/traits/TraitFirestarter.java
@@ -1,5 +1,7 @@
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;
@@ -7,11 +9,13 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
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;
@@ -25,7 +29,7 @@ public class TraitFirestarter extends AbstractTrait {
@Override
public void onBlock(ItemStack tool, EntityPlayer player,
LivingHurtEvent event) {
- Entity src = event.getSource().getSourceOfDamage();
+ Entity src = event.getSource().getTrueSource();
if (src != null && src instanceof EntityLiving) {
EntityLivingBase liv = (EntityLivingBase) src;
@@ -36,11 +40,17 @@ public class TraitFirestarter extends AbstractTrait {
if(TDToolHelper.checkIfMetal(tool))
{
Vec3d vec = player.getLookVec();
- BlockPos block = player.getPosition().add(vec.xCoord,-1,vec.zCoord);
+ BlockPos block = player.getPosition().add(vec.x,-1,vec.z);
player.world.setBlockState(block, Blocks.FIRE.getDefaultState());
}
}
}
}
}
+
+ @Override
+ public Optional<Match> matches(NonNullList<ItemStack> arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
diff --git a/src/main/java/lance5057/tDefense/core/parts/TDParts.java b/src/main/java/lance5057/tDefense/core/parts/TDParts.java
index bccabff..9aa05dc 100644
--- a/src/main/java/lance5057/tDefense/core/parts/TDParts.java
+++ b/src/main/java/lance5057/tDefense/core/parts/TDParts.java
@@ -1,14 +1,24 @@
package lance5057.tDefense.core.parts;
+import java.util.ArrayList;
+
+import lance5057.tDefense.Reference;
+import lance5057.tDefense.TinkersDefense;
import lance5057.tDefense.armor.materials.MaterialArmor;
import lance5057.tDefense.armor.materials.MaterialCloth;
import lance5057.tDefense.core.materials.ShieldMaterialStats;
import lance5057.tDefense.util.ModuleBase;
+import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import net.minecraftforge.event.RegistryEvent;
+import net.minecraftforge.event.RegistryEvent.Register;
+import net.minecraftforge.fml.common.Mod;
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;
import slimeknights.tconstruct.library.TinkerRegistry;
import slimeknights.tconstruct.library.materials.Material;
import slimeknights.tconstruct.library.materials.MaterialTypes;
@@ -18,77 +28,88 @@ import slimeknights.tconstruct.library.tools.ToolPart;
import slimeknights.tconstruct.tools.TinkerMaterials;
import slimeknights.tconstruct.tools.TinkerTools;
-public class TDParts extends ModuleBase
-{
+@Mod.EventBusSubscriber(modid = Reference.MOD_ID)
+public class TDParts extends ModuleBase {
public static PartMaterialType ShieldMat;
-
+
public static PartMaterialType ArmorplateMat;
public static PartMaterialType ChainmailMat;
public static PartMaterialType RivetMat;
public static PartMaterialType ClaspMat;
public static PartMaterialType ClothMat;
-
+
public static ToolPart armorPlate;
public static ToolPart chainmail;
public static ToolPart cloth;
public static ToolPart rivets;
public static ToolPart clasp;
-
+
public static ToolPart ringShank;
public static ToolPart setting;
public static ToolPart wire;
public static ToolPart filigree;
+ protected static ArrayList<Item> itemList = new ArrayList<Item>();
@Override
public void preInit(FMLPreInitializationEvent e) {
- armorPlate = regToolPart(Material.VALUE_Ingot * 4, "armor_plate");
-// armorPlate = new ToolPart(Material.VALUE_Ingot * 4);
-// armorPlate.setUnlocalizedName("armor_plate").setRegistryName("tinkersdefense:armor_plate");
-// GameRegistry.register(armorPlate);
-//
-// TinkerRegistry.registerStencilTableCrafting(Pattern.setTagForPart(new ItemStack(TinkerTools.pattern), armorPlate));
-//
- chainmail = regToolPart(Material.VALUE_Ingot * 3, "chainmail");
- cloth = regToolPart(Material.VALUE_Ingot * 3, "cloth");
- rivets = regToolPart(Material.VALUE_Ingot * 1, "rivets");
- clasp = regToolPart(Material.VALUE_Ingot * 1, "clasp");
-
- ringShank = regToolPart(Material.VALUE_Ingot * 2, "ringShank");
- setting = regToolPart(Material.VALUE_Ingot * 1, "setting");
- wire = regToolPart(Material.VALUE_Ingot * 1, "wire");
- filigree = regToolPart(Material.VALUE_Ingot * 1, "filigree");
-
- ShieldMat = new PartMaterialType(armorPlate, ShieldMaterialStats.TYPE);
- ArmorplateMat = new PartMaterialType(armorPlate, MaterialArmor.TYPE);
- ChainmailMat = new PartMaterialType(chainmail, MaterialArmor.TYPE);
- RivetMat = new PartMaterialType(rivets, MaterialTypes.EXTRA);
- ClaspMat = new PartMaterialType(clasp, MaterialTypes.EXTRA);
- ClothMat = new PartMaterialType(cloth, MaterialCloth.TYPE);
+
}
@Override
public void init(FMLInitializationEvent e) {
- // TODO Auto-generated method stub
}
@Override
public void postInit(FMLPostInitializationEvent e) {
// TODO Auto-generated method stub
+
+ }
+
+ public void registerItems(final RegistryEvent.Register<Item> event) {
+
+ final IForgeRegistry registry = event.getRegistry();
+
+ armorPlate = regToolPart(Material.VALUE_Ingot * 4, "armor_plate", event);
+ // armorPlate = new ToolPart(Material.VALUE_Ingot * 4);
+ // armorPlate.setUnlocalizedName("armor_plate").setRegistryName("tinkersdefense:armor_plate");
+ // GameRegistry.register(armorPlate);
+ //
+ // TinkerRegistry.registerStencilTableCrafting(Pattern.setTagForPart(new
+ // ItemStack(TinkerTools.pattern), armorPlate));
+ //
+ chainmail = regToolPart(Material.VALUE_Ingot * 3, "chainmail", event);
+ cloth = regToolPart(Material.VALUE_Ingot * 3, "cloth", event);
+ rivets = regToolPart(Material.VALUE_Ingot * 1, "rivets", event);
+ clasp = regToolPart(Material.VALUE_Ingot * 1, "clasp", event);
+
+ ringShank = regToolPart(Material.VALUE_Ingot * 2, "ringShank", event);
+ setting = regToolPart(Material.VALUE_Ingot * 1, "setting", event);
+ wire = regToolPart(Material.VALUE_Ingot * 1, "wire", event);
+ filigree = regToolPart(Material.VALUE_Ingot * 1, "filigree", event);
+ ShieldMat = new PartMaterialType(TDParts.armorPlate, ShieldMaterialStats.TYPE);
+
+ ArmorplateMat = new PartMaterialType(armorPlate, MaterialArmor.TYPE);
+ ChainmailMat = new PartMaterialType(chainmail, MaterialArmor.TYPE);
+ RivetMat = new PartMaterialType(rivets, MaterialTypes.EXTRA);
+ ClaspMat = new PartMaterialType(clasp, MaterialTypes.EXTRA);
+ ClothMat = new PartMaterialType(cloth, MaterialCloth.TYPE);
+
+ //registry.registerAll((Item[]) itemList.toArray());
}
-
- private ToolPart regToolPart(int castVolume, String name)
- {
+
+ private static ToolPart regToolPart(int castVolume, String name, RegistryEvent.Register<Item> event) {
ToolPart part = new ToolPart(castVolume);
- part.setUnlocalizedName(name).setRegistryName("tinkersdefense:"+name);
- GameRegistry.register(part);
+ part.setUnlocalizedName(name).setRegistryName("tinkersdefense:" + name);
+ event.getRegistry().register(part);
TinkerRegistry.registerStencilTableCrafting(Pattern.setTagForPart(new ItemStack(TinkerTools.pattern), part));
- //TinkerRegistry.registerTableCasting(output, cast, fluid, amount);
+ TinkersDefense.proxy.registerPartModel(part);
+ // TinkerRegistry.registerTableCasting(output, cast, fluid, amount);
+ itemList.add(part);
return part;
}
-
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/TDTools.java b/src/main/java/lance5057/tDefense/core/tools/TDTools.java
index c846f97..f03c108 100644
--- a/src/main/java/lance5057/tDefense/core/tools/TDTools.java
+++ b/src/main/java/lance5057/tDefense/core/tools/TDTools.java
@@ -1,7 +1,11 @@
package lance5057.tDefense.core.tools;
+import java.util.ArrayList;
+
import com.google.common.eventbus.Subscribe;
+import lance5057.tDefense.Reference;
+import lance5057.tDefense.TinkersDefense;
import lance5057.tDefense.armor.items.cloth.TinkersHood;
import lance5057.tDefense.armor.items.cloth.TinkersRobe;
import lance5057.tDefense.armor.items.cloth.TinkersShawl;
@@ -14,15 +18,20 @@ import lance5057.tDefense.core.tools.basic.Zweihander;
import lance5057.tDefense.core.tools.baubles.Amulet;
import lance5057.tDefense.core.tools.baubles.Ring;
import lance5057.tDefense.core.tools.baubles.Sheathe;
+import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.event.RegistryEvent;
+import net.minecraftforge.fml.common.Mod;
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;
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import net.minecraftforge.registries.IForgeRegistry;
import slimeknights.tconstruct.library.TinkerRegistry;
import slimeknights.tconstruct.library.tools.ToolCore;
+@Mod.EventBusSubscriber(modid = Reference.MOD_ID)
//@Pulse(id = TDTools.PulseId, description = "All the tools and everything related to it.")
public class TDTools {
@@ -55,6 +64,8 @@ public class TDTools {
public static ToolCore sheathe;
public static ToolCore ring;
public static ToolCore amulet;
+
+ static ArrayList<Item> itemList = new ArrayList<Item>();
// Tool Parts
@@ -71,7 +82,20 @@ public class TDTools {
// PRE-INITIALIZATION
@Subscribe
public void preInit(FMLPreInitializationEvent event) {
- // register items
+
+ }
+
+ private void regTools() {
+
+
+
+ // TinkerRegistry.registerToolStationCrafting(roundshield);
+ // TinkerRegistry.registerToolForgeCrafting(heatershield);
+ // TinkerRegistry.registerToolForgeCrafting(zweihander);
+ }
+
+ public void registerItems(final RegistryEvent.Register<Item> event)
+ {
roundshield = new RoundShield();
heatershield = new HeaterShield();
zweihander = new Zweihander();
@@ -86,46 +110,35 @@ public class TDTools {
sheathe = new Sheathe();
ring = new Ring();
amulet = new Amulet();
-
- MinecraftForge.EVENT_BUS.register(events);
-
- regTools();
- registerModifiers();
-
- // register blocks
-
- // register entities
-
- // proxy.preInit();
- }
-
- private void regTools() {
-
- regTool(roundshield, "roundshield");
- regTool(heatershield, "heatershield");
- regTool(zweihander, "zweihander");
- regTool(shears, "shears");
- regTool(fishingRod, "fishingRod");
-
- regTool(hood, "hood");
- regTool(shawl, "shawl");
- regTool(robe, "robe");
- regTool(shoes, "shoes");
- regTool(sheathe, "sheathe");
- regTool(ring, "ring");
- regTool(amulet, "amulet");
-
- // TinkerRegistry.registerToolStationCrafting(roundshield);
- // TinkerRegistry.registerToolForgeCrafting(heatershield);
- // TinkerRegistry.registerToolForgeCrafting(zweihander);
+ regTool(roundshield, "roundshield", event);
+ regTool(heatershield, "heatershield", event);
+ regTool(zweihander, "zweihander", event);
+ regTool(shears, "shears", event);
+ regTool(fishingRod, "fishingRod", event);
+
+ regTool(hood, "hood", event);
+ regTool(shawl, "shawl", event);
+ regTool(robe, "robe", event);
+ regTool(shoes, "shoes", event);
+
+ regTool(sheathe, "sheathe", event);
+ regTool(ring, "ring", event);
+ regTool(amulet, "amulet", event);
+
+// final IForgeRegistry registry = event.getRegistry();
+// for (Item i : itemList) {
+// event.getRegistry().register(i);
+// }
}
- private void regTool(ToolCore tool, String name) {
+ private static void regTool(ToolCore tool, String name, RegistryEvent.Register<Item> event) {
tool.setRegistryName(new ResourceLocation("tinkersdefense:" + name));
+ event.getRegistry().register(tool);
TinkerRegistry.registerTool(tool);
- GameRegistry.register(tool);
- }
+ TinkersDefense.proxy.registerToolModel(tool);
+ itemList.add(tool);
+ }
private void registerModifiers() {
@@ -134,6 +147,14 @@ public class TDTools {
// INITIALIZATION
@Subscribe
public void init(FMLInitializationEvent event) {
+ // register items
+
+
+ // register blocks
+
+ // register entities
+
+ // proxy.preInit();
regToolBuilding();
regRecipies();
@@ -165,6 +186,11 @@ public class TDTools {
@Subscribe
public void postInit(FMLPostInitializationEvent event) {
// proxy.postInit();
- }
+
+ MinecraftForge.EVENT_BUS.register(events);
+
+ regTools();
+ registerModifiers();
+ }
}
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 53722b1..d14b31a 100644
--- a/src/main/java/lance5057/tDefense/core/tools/bases/Shield.java
+++ b/src/main/java/lance5057/tDefense/core/tools/bases/Shield.java
@@ -5,35 +5,27 @@ import java.util.List;
import javax.annotation.Nullable;
import lance5057.tDefense.core.materials.ShieldMaterialStats;
-import net.minecraft.block.Block;
-import net.minecraft.block.material.Material;
+import lance5057.tDefense.core.parts.TDParts;
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 class Shield extends ToolCore //implements IShield, ISheathed, IArrowCatcher, IArrowDisplay
@@ -41,7 +33,6 @@ public class Shield extends ToolCore //implements IShield, ISheathed, IArrowCatc
public Shield(PartMaterialType... requiredComponents)
{
super(requiredComponents);
-
this.addPropertyOverride(new ResourceLocation("block"), new IItemPropertyGetter()
{
@SideOnly(Side.CLIENT)
@@ -92,7 +83,7 @@ public class Shield extends ToolCore //implements IShield, ISheathed, IArrowCatc
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
{
- return super.onItemUse(stack, playerIn, worldIn, pos, hand, facing, hitX, hitY, hitZ);
+ return super.onItemUse(playerIn, worldIn, pos, hand, facing, hitX, hitY, hitZ);
}
/**
diff --git a/src/main/java/lance5057/tDefense/holiday/xmas/XmasBase.java b/src/main/java/lance5057/tDefense/holiday/xmas/XmasBase.java
index 2c83902..c166f96 100644
--- a/src/main/java/lance5057/tDefense/holiday/xmas/XmasBase.java
+++ b/src/main/java/lance5057/tDefense/holiday/xmas/XmasBase.java
@@ -23,7 +23,7 @@ public class XmasBase extends ModuleBase {
public void preInit(FMLPreInitializationEvent e) {
// TODO Auto-generated method stub
items.preInit(e);
- EntityRegistry.registerModEntity(GumDropSlime.class, "gumdropslime", 0,
+ EntityRegistry.registerModEntity(null, GumDropSlime.class, "gumdropslime", 0,
TinkersDefense.instance, 64, 5, true, 0x963430, 0xDDDDDD);
//LootTableList.register(GumDropSlime.LOOT_TABLE);
}
diff --git a/src/main/java/lance5057/tDefense/holiday/xmas/XmasItems.java b/src/main/java/lance5057/tDefense/holiday/xmas/XmasItems.java
index 3ac3d58..4b22960 100644
--- a/src/main/java/lance5057/tDefense/holiday/xmas/XmasItems.java
+++ b/src/main/java/lance5057/tDefense/holiday/xmas/XmasItems.java
@@ -3,7 +3,6 @@ package lance5057.tDefense.holiday.xmas;
import lance5057.tDefense.util.Color16Util;
import lance5057.tDefense.util.ItemsBase;
import lance5057.tDefense.util.MetaItem;
-import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
diff --git a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
index af0a175..ea2a3c7 100644
--- a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
+++ b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
@@ -12,13 +12,16 @@ import lance5057.tDefense.core.renderers.BaubleRenderer;
import lance5057.tDefense.core.renderers.SheatheModel;
import lance5057.tDefense.core.tools.TDTools;
import lance5057.tDefense.holiday.HolidayClientProxy;
+import lance5057.tDefense.renderers.deserializers.AlphaColorTextureDeserializer;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemMeshDefinition;
+import net.minecraft.client.renderer.block.model.ModelBakery;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
import net.minecraft.client.renderer.entity.RenderPlayer;
+import net.minecraft.client.resources.IReloadableResourceManager;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
@@ -26,9 +29,12 @@ import net.minecraftforge.client.ClientCommandHandler;
import net.minecraftforge.client.model.ModelLoader;
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.ToolBuildGuiInfo;
+import slimeknights.tconstruct.library.client.material.MaterialRenderInfoLoader;
+import slimeknights.tconstruct.library.materials.Material;
+import slimeknights.tconstruct.library.tools.ToolCore;
+import slimeknights.tconstruct.library.tools.ToolPart;
//import lance5057.tDefense.core.renderer.TestSkinChanger;
@@ -74,8 +80,8 @@ public class ClientProxy extends CommonProxy {
@Override
public void preInit() {
ClientCommandHandler.instance.registerCommand(new TD_Commands());
- registerToolRenderers();
- registerPartModels();
+
+ MaterialRenderInfoLoader.addRenderInfo("alpha_color", AlphaColorTextureDeserializer.class);
coreProxy.preInit();
}
@@ -89,7 +95,7 @@ public class ClientProxy extends CommonProxy {
render = skinMap.get("slim");
render.addLayer(new BaubleRenderer());
-
+
createToolGuis();
setToolGuis();
registerToolGuis();
@@ -99,22 +105,45 @@ public class ClientProxy extends CommonProxy {
// armorProxy.init();
holiProxy.Init();
}
+
+ @Override
+ public void postInit()
+ {
+ //IReloadableResourceManager resourceManager = (IReloadableResourceManager) mc.getResourceManager();
+ //resourceManager.registerReloadListener(TDMaterialRenderInfoLoader.INSTANCE);
+ }
+
+ @Override
+ public void registerFluidModels(Fluid fluid) {
+ if (fluid == null) return;
+ Block block = fluid.getBlock();
+ if (block != null) {
+ Item item = Item.getItemFromBlock(block);
+ FluidStateMapper mapper = new FluidStateMapper(fluid);
+ if (item != null) {
+ ModelBakery.registerItemVariants(item);
+ ModelLoader.setCustomMeshDefinition(item, mapper);
+ }
+ ModelLoader.setCustomStateMapper(block, mapper);
+ }
+}
- public void registerToolRenderers() {
- ModelRegisterUtil.registerToolModel(TDTools.roundshield);
- ModelRegisterUtil.registerToolModel(TDTools.heatershield);
- ModelRegisterUtil.registerToolModel(TDTools.zweihander);
- ModelRegisterUtil.registerToolModel(TDTools.shears);
- ModelRegisterUtil.registerToolModel(TDTools.fishingRod);
-
- ModelRegisterUtil.registerToolModel(TDTools.hood);
- ModelRegisterUtil.registerToolModel(TDTools.shawl);
- ModelRegisterUtil.registerToolModel(TDTools.robe);
- ModelRegisterUtil.registerToolModel(TDTools.shoes);
-
- ModelRegisterUtil.registerToolModel(TDTools.sheathe);
- ModelRegisterUtil.registerToolModel(TDTools.ring);
- ModelRegisterUtil.registerToolModel(TDTools.amulet);
+ @Override
+ public void registerToolModel(ToolCore tool)
+ {
+ ModelRegisterUtil.registerToolModel(tool);
+ }
+
+ @Override
+ public void registerPartModel(ToolPart part)
+ {
+ ModelRegisterUtil.registerPartModel(part);
+ }
+
+ @Override
+ public void registerMatColor(Material mat, int color)
+ {
+ mat.setRenderInfo(color);
}
public void createToolGuis() {
@@ -284,27 +313,6 @@ public class ClientProxy extends CommonProxy {
}
@Override
- public void registerFluidModels(Fluid fluid) {
- if (fluid == null) {
- return;
- }
-
- Block block = fluid.getBlock();
- if (block != null) {
- Item item = Item.getItemFromBlock(block);
- FluidStateMapper mapper = new FluidStateMapper(fluid);
-
- // item-model
- if (item != null) {
- ModelLoader.registerItemVariants(item);
- ModelLoader.setCustomMeshDefinition(item, mapper);
- }
- // block-model
- ModelLoader.setCustomStateMapper(block, mapper);
- }
- }
-
- @Override
public void registerItemBlockRenderer(Block block, int meta, String file) {
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(block), meta,
new ModelResourceLocation(Reference.MOD_ID + ":" + file, "inventory"));
diff --git a/src/main/java/lance5057/tDefense/proxy/CommonProxy.java b/src/main/java/lance5057/tDefense/proxy/CommonProxy.java
index 407080d..a6b34ae 100644
--- a/src/main/java/lance5057/tDefense/proxy/CommonProxy.java
+++ b/src/main/java/lance5057/tDefense/proxy/CommonProxy.java
@@ -1,23 +1,25 @@
package lance5057.tDefense.proxy;
+import lance5057.tDefense.Reference;
import lance5057.tDefense.TinkersDefense;
import lance5057.tDefense.armor.items.straps.ItemStrapsInv;
import lance5057.tDefense.armor.items.straps.StrapsContainer;
import lance5057.tDefense.armor.items.straps.StrapsGui;
-import lance5057.tDefense.core.blocks.crestMount.Container_CrestMount;
-import lance5057.tDefense.core.blocks.crestMount.Gui_CrestMount;
-import lance5057.tDefense.core.blocks.crestMount.TileEntity_CrestMount;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.util.EnumHand;
-import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
+import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fml.common.Mod;
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.network.IGuiHandler;
-import net.minecraftforge.fml.common.network.NetworkRegistry;
-
+import slimeknights.tconstruct.library.materials.Material;
+import slimeknights.tconstruct.library.tools.ToolCore;
+import slimeknights.tconstruct.library.tools.ToolPart;
+@Mod.EventBusSubscriber(modid = Reference.MOD_ID)
public class CommonProxy implements IGuiHandler
{
//public static ModifierSoulHandler SoulHandler = null;
@@ -46,27 +48,27 @@ public class CommonProxy implements IGuiHandler
}
-// public EntityPlayer getPlayerEntity(MessageContext ctx)
-// {
-// return ctx.getServerHandler().playerEntity;
-// }
-//
-// public ModelBiped getArmorModel(int id)
-// {
-// return null;
-// }
-//
-// public World getClientWorld()
-// {
-// return null;
-// }
-//
+ public void registerToolModel(ToolCore tool)
+ {
+
+ }
+
+ public void registerPartModel(ToolPart part)
+ {
+
+ }
+
+ public void registerMatColor(Material mat, int color)
+ {
+
+ }
+
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
- if(ID == TinkersDefense.GUI_CREST_INV)
- return new Container_CrestMount(player.inventory,
- (TileEntity_CrestMount) world.getTileEntity(new BlockPos(x, y, z)));
+// if(ID == TinkersDefense.GUI_CREST_INV)
+// return new Container_CrestMount(player.inventory,
+// (TileEntity_CrestMount) world.getTileEntity(new BlockPos(x, y, z)));
// if(ID == TinkersDefense.GUI_ANVIL_INV)
// return new Container_FinishingAnvil(player.inventory,
// (TileEntity_FinishingAnvil) world.getTileEntity(x, y, z));
@@ -79,9 +81,9 @@ public class CommonProxy implements IGuiHandler
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
- if(ID == TinkersDefense.GUI_CREST_INV)
- return new Gui_CrestMount(player.inventory,
- (TileEntity_CrestMount) world.getTileEntity(new BlockPos(x, y, z)));
+// if(ID == TinkersDefense.GUI_CREST_INV)
+// return new Gui_CrestMount(player.inventory,
+// (TileEntity_CrestMount) world.getTileEntity(new BlockPos(x, y, z)));
// if(ID == TinkersDefense.GUI_ANVIL_INV)
// return new Gui_FinishingAnvil(player.inventory,
// (TileEntity_FinishingAnvil) world.getTileEntity(x, y, z));
@@ -104,4 +106,11 @@ public class CommonProxy implements IGuiHandler
{
}
+
+ @SubscribeEvent
+ public static void registerItems(RegistryEvent.Register<Item> event) {
+ TinkersDefense.mats.registerItems(event);
+ TinkersDefense.parts.registerItems(event);
+ TinkersDefense.tools.registerItems(event);
+ }
}
diff --git a/src/main/java/lance5057/tDefense/renderers/AlphaColorTexture.java b/src/main/java/lance5057/tDefense/renderers/AlphaColorTexture.java
new file mode 100644
index 0000000..15da871
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/renderers/AlphaColorTexture.java
@@ -0,0 +1,85 @@
+package lance5057.tDefense.renderers;
+
+import net.minecraft.util.ResourceLocation;
+import slimeknights.tconstruct.library.client.RenderUtil;
+import slimeknights.tconstruct.library.client.texture.AbstractColoredTexture;
+
+public class AlphaColorTexture extends AbstractColoredTexture {
+ protected final int colorLow;
+ protected final int colorMid;
+ protected final int colorHigh;
+ protected int minBrightness;
+ protected int maxBrightness;
+ protected int brightnessData[];
+
+ public AlphaColorTexture(int colorLow, int colorMid, int colorHigh, ResourceLocation baseTexture,
+ String spriteName) {
+ super(baseTexture, spriteName);
+ this.colorLow = colorLow;
+ this.colorMid = colorMid;
+ this.colorHigh = colorHigh;
+ }
+
+ @Override
+ protected void preProcess(int[] data) {
+ // setup brigthness data
+ int max = 0;
+ int min = 255;
+ brightnessData = new int[data.length];
+ for(int i = 0; i < data.length; i++) {
+ int pixel = data[i];
+ if(RenderUtil.alpha(pixel) == 0) {
+ continue;
+ }
+ int brightness = getPerceptualBrightness(pixel);
+ if(brightness < min) {
+ min = brightness;
+ }
+ if(brightness > max) {
+ max = brightness;
+ }
+ brightnessData[i] = brightness;
+ }
+
+ // calculate the actual limits where we change color
+ int brightnessDiff = max - min;
+ brightnessDiff /= 2;
+ minBrightness = Math.max(min + 1, min + (int) (brightnessDiff * 0.4f));
+ maxBrightness = Math.min(max - 1, max - (int) (brightnessDiff * 0.3f));
+ }
+
+ @Override
+ protected void postProcess(int[] data) {
+ // delete memory that we don't need anymore. We only cached it for faster loading anyway
+ brightnessData = null;
+ }
+
+ @Override
+ protected int colorPixel(int pixel, int pxCoord) {
+ int a = RenderUtil.alpha(pixel);
+ if(a == 0) {
+ return pixel;
+ }
+
+ int brightness = brightnessData[pxCoord];
+ int c = colorMid;
+ if(brightness < minBrightness) {
+ c = colorLow;
+ }
+ else if(brightness > maxBrightness) {
+ c = colorHigh;
+ }
+
+ // multiply in the color
+ int r = RenderUtil.red(c);
+ int b = RenderUtil.blue(c);
+ int g = RenderUtil.green(c);
+
+ r = mult(r, RenderUtil.red(pixel)) & 0xff;
+ g = mult(g, RenderUtil.blue(pixel)) & 0xff;
+ b = mult(b, RenderUtil.green(pixel)) & 0xff;
+
+ // put it back together
+ return RenderUtil.compose(r, g, b, a);
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/renderers/deserializers/AlphaColorTextureDeserializer.java b/src/main/java/lance5057/tDefense/renderers/deserializers/AlphaColorTextureDeserializer.java
new file mode 100644
index 0000000..2242526
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/renderers/deserializers/AlphaColorTextureDeserializer.java
@@ -0,0 +1,15 @@
+package lance5057.tDefense.renderers.deserializers;
+
+import lance5057.tDefense.renderers.info.TDMaterialRenderInfo;
+import slimeknights.tconstruct.library.client.MaterialRenderInfo;
+import slimeknights.tconstruct.library.client.material.deserializers.AbstractRenderInfoDeserializer;
+
+public class AlphaColorTextureDeserializer extends AbstractRenderInfoDeserializer {
+
+ protected String color;
+
+ @Override
+ public MaterialRenderInfo getMaterialRenderInfo() {
+ return new TDMaterialRenderInfo.AlphaColor(fromHex(color));
+ }
+} \ No newline at end of file
diff --git a/src/main/java/lance5057/tDefense/renderers/info/TDMaterialRenderInfo.java b/src/main/java/lance5057/tDefense/renderers/info/TDMaterialRenderInfo.java
new file mode 100644
index 0000000..a22d514
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/renderers/info/TDMaterialRenderInfo.java
@@ -0,0 +1,85 @@
+package lance5057.tDefense.renderers.info;
+
+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 {
+
+ TextureAtlasSprite getTexture(ResourceLocation baseTexture, String location);
+
+ boolean isStitched();
+
+ boolean useVertexColoring();
+
+ int getVertexColor();
+
+ // this actually would require its own thing, but we put it here for simplicity
+ String getTextureSuffix();
+
+ MaterialRenderInfo setTextureSuffix(String suffix);
+
+ abstract class AbstractMaterialRenderInfo implements MaterialRenderInfo {
+
+ private String suffix;
+
+ @Override
+ public boolean isStitched() {
+ return true;
+ }
+
+ @Override
+ public boolean useVertexColoring() {
+ return false;
+ }
+
+ @Override
+ public int getVertexColor() {
+ return 0xffffffff; // white and opaque
+ }
+
+ @Override
+ public String getTextureSuffix() {
+ return suffix;
+ }
+
+ @Override
+ public MaterialRenderInfo setTextureSuffix(String suffix) {
+ this.suffix = suffix;
+ return this;
+ }
+ }
+
+ class AlphaColor extends AbstractMaterialRenderInfo {
+
+ public final int color;
+
+ public AlphaColor(int color) {
+ this.color = color;
+ }
+
+ @Override
+ public TextureAtlasSprite getTexture(ResourceLocation baseTexture, String location) {
+ return new AlphaColorTexture(color, color, color, baseTexture, location);
+ }
+
+ @Override
+ public boolean isStitched() {
+ return false;
+ }
+
+ @Override
+ public boolean useVertexColoring() {
+ return true;
+ }
+
+ @Override
+ public int getVertexColor() {
+ return color;
+ }
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/util/BlocksBase.java b/src/main/java/lance5057/tDefense/util/BlocksBase.java
index d8ff0ab..d33f459 100644
--- a/src/main/java/lance5057/tDefense/util/BlocksBase.java
+++ b/src/main/java/lance5057/tDefense/util/BlocksBase.java
@@ -1,5 +1,7 @@
package lance5057.tDefense.util;
+import java.util.ArrayList;
+
import lance5057.tDefense.Reference;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
@@ -14,7 +16,8 @@ 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>();
+ protected static ArrayList<Item> itemList = new ArrayList<Item>();
public BlocksBase()
{
@@ -29,7 +32,7 @@ public abstract class BlocksBase {
protected Block setupRegister(String name, CreativeTabs tabName, float hardness)
{
Block block = new Block(Material.IRON).setCreativeTab(tabName).setUnlocalizedName(name).setRegistryName(Reference.MOD_ID, name).setHardness(hardness);
- GameRegistry.register(block);
+ blockList.add(block);
return block;
}
@@ -37,7 +40,7 @@ public abstract class BlocksBase {
{
ItemBlock item = new ItemBlock(block);
item.setCreativeTab(tabName).setMaxStackSize(size).setUnlocalizedName(name).setRegistryName(Reference.MOD_ID, name).setCreativeTab(tabName);
- GameRegistry.register(item);
+ itemList.add(item);
return item;
}
diff --git a/src/main/java/lance5057/tDefense/util/ItemsBase.java b/src/main/java/lance5057/tDefense/util/ItemsBase.java
index e146579..aa45463 100644
--- a/src/main/java/lance5057/tDefense/util/ItemsBase.java
+++ b/src/main/java/lance5057/tDefense/util/ItemsBase.java
@@ -1,16 +1,21 @@
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.minecraft.item.ItemStack;
+import net.minecraftforge.event.RegistryEvent;
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 slimeknights.mantle.client.CreativeTab;
+import net.minecraftforge.registries.IForgeRegistry;
public abstract class ItemsBase {
+ protected static ArrayList<Item> itemList = new ArrayList<Item>();
public ItemsBase()
{
@@ -22,10 +27,18 @@ public abstract class ItemsBase {
public abstract void postInit(FMLPostInitializationEvent e);
+ @SubscribeEvent
+ public static void registerItems(final RegistryEvent.Register<Item> event)
+ {
+ final IForgeRegistry registry = event.getRegistry();
+
+ registry.registerAll((Item[]) itemList.toArray());
+ }
+
protected Item register(String name, int size, CreativeTabs tabName)
{
Item item = new Item().setCreativeTab(tabName).setMaxStackSize(size).setUnlocalizedName(name).setRegistryName(Reference.MOD_ID, name);
- GameRegistry.register(item);
+ itemList.add(item);
return item;
}
@@ -33,7 +46,7 @@ public abstract class ItemsBase {
{
Item item = new MetaItem(names).setCreativeTab(tabName).setMaxStackSize(size).setUnlocalizedName(name).setRegistryName(Reference.MOD_ID, name);
- GameRegistry.register(item);
+ itemList.add(item);
return (MetaItem) item;
}
}
diff --git a/src/main/java/lance5057/tDefense/util/MetaItem.java b/src/main/java/lance5057/tDefense/util/MetaItem.java
index de51022..07b7c8e 100644
--- a/src/main/java/lance5057/tDefense/util/MetaItem.java
+++ b/src/main/java/lance5057/tDefense/util/MetaItem.java
@@ -5,6 +5,7 @@ import java.util.List;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
public class MetaItem extends Item
{
@@ -22,11 +23,11 @@ public class MetaItem extends Item
}
@Override
- public void getSubItems(Item itemIn, CreativeTabs tab, List<ItemStack> subItems)
+ public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> subItems)
{
for(int i = 0; i < items.length; i++)
{
- subItems.add(new ItemStack(itemIn, 1, i));
+ subItems.add(new ItemStack(this, 1, i));
}
}
}
diff --git a/src/main/java/lance5057/tDefense/util/RegEvents.java b/src/main/java/lance5057/tDefense/util/RegEvents.java
new file mode 100644
index 0000000..9d40e1c
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/util/RegEvents.java
@@ -0,0 +1,13 @@
+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
new file mode 100644
index 0000000..c36c4ee
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/util/TDMatHelper.java
@@ -0,0 +1,99 @@
+package lance5057.tDefense.util;
+
+import lance5057.tDefense.core.materials.ShieldMaterialStats;
+import slimeknights.tconstruct.library.fluid.FluidMolten;
+import slimeknights.tconstruct.library.materials.ArrowShaftMaterialStats;
+import slimeknights.tconstruct.library.materials.BowMaterialStats;
+import slimeknights.tconstruct.library.materials.BowStringMaterialStats;
+import slimeknights.tconstruct.library.materials.ExtraMaterialStats;
+import slimeknights.tconstruct.library.materials.FletchingMaterialStats;
+import slimeknights.tconstruct.library.materials.HandleMaterialStats;
+import slimeknights.tconstruct.library.materials.HeadMaterialStats;
+
+public class TDMatHelper {
+ public String name;
+ public int color;
+ public FluidMolten fluid;
+
+ public boolean isGem;
+
+ public HeadMaterialStats head;
+ public ShieldMaterialStats shield;
+ public BowMaterialStats bow;
+ public ExtraMaterialStats extra;
+ public FletchingMaterialStats fletching;
+ public BowStringMaterialStats bowstring;
+ public HandleMaterialStats handle;
+ public ArrowShaftMaterialStats shaft;
+
+ public TDMatHelper(String n, int c, FluidMolten f)
+ {
+ name = n;
+ color = c;
+ fluid = f;
+ }
+
+ public TDMatHelper(String n, int c)
+ {
+ name = n;
+ color = c;
+ fluid = null;
+ }
+
+ public TDMatHelper(String n, int c, boolean o)
+ {
+ name = n;
+ color = c;
+ fluid = null;
+
+ isGem = o;
+ }
+
+ public TDMatHelper setHead(HeadMaterialStats h)
+ {
+ head = h;
+ return this;
+ }
+
+ public TDMatHelper setHandle(HandleMaterialStats h)
+ {
+ handle = h;
+ return this;
+ }
+
+ public TDMatHelper setShield(ShieldMaterialStats h)
+ {
+ shield = h;
+ return this;
+ }
+
+ public TDMatHelper setExtra(ExtraMaterialStats h)
+ {
+ extra = h;
+ return this;
+ }
+
+ public TDMatHelper setBow(BowMaterialStats h)
+ {
+ bow = h;
+ return this;
+ }
+
+ public TDMatHelper setFletching(FletchingMaterialStats h)
+ {
+ fletching = h;
+ return this;
+ }
+
+ public TDMatHelper setString(BowStringMaterialStats h)
+ {
+ bowstring = h;
+ return this;
+ }
+
+ public TDMatHelper setShaft(ArrowShaftMaterialStats h)
+ {
+ shaft = h;
+ return this;
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/util/TDToolHelper.java b/src/main/java/lance5057/tDefense/util/TDToolHelper.java
index 8c5cfe1..d5b6e6e 100644
--- a/src/main/java/lance5057/tDefense/util/TDToolHelper.java
+++ b/src/main/java/lance5057/tDefense/util/TDToolHelper.java
@@ -31,8 +31,8 @@ public class TDToolHelper {
{
ItemTool i = (ItemTool) item.getItem();
- if(i.getToolMaterial() != i.getToolMaterial().WOOD ||
- i.getToolMaterial() != i.getToolMaterial().STONE)
+ if(i.getToolMaterialName() != "WOOD" ||
+ i.getToolMaterialName() != "STONE")
{
}
diff --git a/src/main/resources/assets/tinkersdefense/materials/amber.json b/src/main/resources/assets/tinkersdefense/materials/amber.json
new file mode 100644
index 0000000..811dc05
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/amber.json
@@ -0,0 +1,10 @@
+{
+ "type": "metal_textured",
+ "parameters": {
+ "texture": "tinkersdefense:materials/opal",
+ "color": "dba827",
+ "shinyness": 0.6,
+ "brightness": 0.4,
+ "hueshift": 0.1
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/amethyst.json b/src/main/resources/assets/tinkersdefense/materials/amethyst.json
new file mode 100644
index 0000000..b92d2c1
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/amethyst.json
@@ -0,0 +1,10 @@
+{
+ "type": "metal_textured",
+ "parameters": {
+ "texture": "tinkersdefense:materials/facetedgem",
+ "color": "b436e2",
+ "shinyness": 0.6,
+ "brightness": 0.4,
+ "hueshift": 0.1
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/cheese.json b/src/main/resources/assets/tinkersdefense/materials/cheese.json
new file mode 100644
index 0000000..9eaa178
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/cheese.json
@@ -0,0 +1,10 @@
+{
+ "type": "metal_textured",
+ "parameters": {
+ "texture": "minecraft:blocks/sponge",
+ "color": "ffff88",
+ "shinyness": 1.0,
+ "brightness": 0.0,
+ "hueshift": 0.0
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/citrine.json b/src/main/resources/assets/tinkersdefense/materials/citrine.json
new file mode 100644
index 0000000..ee6d378
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/citrine.json
@@ -0,0 +1,10 @@
+{
+ "type": "metal_textured",
+ "parameters": {
+ "texture": "tinkersdefense:materials/facetedgem",
+ "color": "ffe877",
+ "shinyness": 0.6,
+ "brightness": 0.4,
+ "hueshift": 0.1
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/diamond.json b/src/main/resources/assets/tinkersdefense/materials/diamond.json
new file mode 100644
index 0000000..59545d6
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/diamond.json
@@ -0,0 +1,6 @@
+{
+ "type": "block",
+ "parameters": {
+ "texture": "minecraft:blocks/diamond_block"
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/emerald.json b/src/main/resources/assets/tinkersdefense/materials/emerald.json
new file mode 100644
index 0000000..d72f1ea
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/emerald.json
@@ -0,0 +1,6 @@
+{
+ "type": "block",
+ "parameters": {
+ "texture": "minecraft:blocks/emerald_block"
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/enderpearl.json b/src/main/resources/assets/tinkersdefense/materials/enderpearl.json
new file mode 100644
index 0000000..bbc84ba
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/enderpearl.json
@@ -0,0 +1,6 @@
+{
+ "type": "block",
+ "parameters": {
+ "texture": "tinkersdefense:materials/ender_pearl"
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/garnet.json b/src/main/resources/assets/tinkersdefense/materials/garnet.json
new file mode 100644
index 0000000..142faca
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/garnet.json
@@ -0,0 +1,10 @@
+{
+ "type": "metal_textured",
+ "parameters": {
+ "texture": "tinkersdefense:materials/facetedgem",
+ "color": "9e1c1c",
+ "shinyness": 0.6,
+ "brightness": 0.4,
+ "hueshift": 0.1
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/ghasttear.json b/src/main/resources/assets/tinkersdefense/materials/ghasttear.json
new file mode 100644
index 0000000..c63d9f3
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/ghasttear.json
@@ -0,0 +1,9 @@
+{
+ "type": "metal",
+ "parameters": {
+ "color": "e8fbff",
+ "shinyness": 1,
+ "brightness": 1,
+ "hueshift": 1
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/glass.json b/src/main/resources/assets/tinkersdefense/materials/glass.json
new file mode 100644
index 0000000..21cc94a
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/glass.json
@@ -0,0 +1,6 @@
+{
+ "type": "alpha_color",
+ "parameters": {
+ "color": "ffffff"
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/glowstone.json b/src/main/resources/assets/tinkersdefense/materials/glowstone.json
new file mode 100644
index 0000000..9abfcda
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/glowstone.json
@@ -0,0 +1,6 @@
+{
+ "type": "block",
+ "parameters": {
+ "texture": "minecraft:blocks/glowstone"
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/greencandy.json b/src/main/resources/assets/tinkersdefense/materials/greencandy.json
new file mode 100644
index 0000000..5c3f699
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/greencandy.json
@@ -0,0 +1,6 @@
+{
+ "type": "block",
+ "parameters": {
+ "texture": "tinkersdefense:materials/greencandy"
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/lapis.json b/src/main/resources/assets/tinkersdefense/materials/lapis.json
new file mode 100644
index 0000000..70a86d5
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/lapis.json
@@ -0,0 +1,6 @@
+{
+ "type": "block",
+ "parameters": {
+ "texture": "minecraft:blocks/lapis_block"
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/opal.json b/src/main/resources/assets/tinkersdefense/materials/opal.json
new file mode 100644
index 0000000..dbef40b
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/opal.json
@@ -0,0 +1,6 @@
+{
+ "type": "block",
+ "parameters": {
+ "texture": "tinkersdefense:materials/opal"
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/quartz.json b/src/main/resources/assets/tinkersdefense/materials/quartz.json
new file mode 100644
index 0000000..817ad2c
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/quartz.json
@@ -0,0 +1,6 @@
+{
+ "type": "block",
+ "parameters": {
+ "texture": "minecraft:blocks/quartz_block_side"
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/redcandy.json b/src/main/resources/assets/tinkersdefense/materials/redcandy.json
new file mode 100644
index 0000000..8f71374
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/redcandy.json
@@ -0,0 +1,6 @@
+{
+ "type": "block",
+ "parameters": {
+ "texture": "tinkersdefense:materials/redcandy"
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/ruby.json b/src/main/resources/assets/tinkersdefense/materials/ruby.json
new file mode 100644
index 0000000..90f6a4f
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/ruby.json
@@ -0,0 +1,10 @@
+{
+ "type": "metal_textured",
+ "parameters": {
+ "texture": "tinkersdefense:materials/facetedgem",
+ "color": "ff0061",
+ "shinyness": 0.6,
+ "brightness": 0.4,
+ "hueshift": 0.1
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/sapphire.json b/src/main/resources/assets/tinkersdefense/materials/sapphire.json
new file mode 100644
index 0000000..a4cf3ac
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/sapphire.json
@@ -0,0 +1,10 @@
+{
+ "type": "metal_textured",
+ "parameters": {
+ "texture": "tinkersdefense:materials/facetedgem",
+ "color": "6e00ff",
+ "shinyness": 0.6,
+ "brightness": 0.4,
+ "hueshift": 0.1
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/starruby.json b/src/main/resources/assets/tinkersdefense/materials/starruby.json
new file mode 100644
index 0000000..d83fdbc
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/starruby.json
@@ -0,0 +1,10 @@
+{
+ "type": "metal_textured",
+ "parameters": {
+ "texture": "tinkersdefense:materials/stargem",
+ "color": "b00063",
+ "shinyness": 0.6,
+ "brightness": 0.4,
+ "hueshift": 0.1
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/starsapphire.json b/src/main/resources/assets/tinkersdefense/materials/starsapphire.json
new file mode 100644
index 0000000..1dd9441
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/starsapphire.json
@@ -0,0 +1,10 @@
+{
+ "type": "metal_textured",
+ "parameters": {
+ "texture": "tinkersdefense:materials/stargem",
+ "color": "7a629e",
+ "shinyness": 0.6,
+ "brightness": 0.4,
+ "hueshift": 0.1
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/tanzanite.json b/src/main/resources/assets/tinkersdefense/materials/tanzanite.json
new file mode 100644
index 0000000..d7679d3
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/tanzanite.json
@@ -0,0 +1,10 @@
+{
+ "type": "metal_textured",
+ "parameters": {
+ "texture": "tinkersdefense:materials/facetedgem",
+ "color": "8860e5",
+ "shinyness": 0.6,
+ "brightness": 0.4,
+ "hueshift": 0.1
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/materials/topaz.json b/src/main/resources/assets/tinkersdefense/materials/topaz.json
new file mode 100644
index 0000000..8f474d3
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/materials/topaz.json
@@ -0,0 +1,10 @@
+{
+ "type": "metal_textured",
+ "parameters": {
+ "texture": "tinkersdefense:materials/facetedgem",
+ "color": "ffc551",
+ "shinyness": 0.6,
+ "brightness": 0.4,
+ "hueshift": 0.1
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/tinkersdefense/textures/items/_chainmaille.png b/src/main/resources/assets/tinkersdefense/textures/items/_chainmail.png
index 403e542..403e542 100644
--- a/src/main/resources/assets/tinkersdefense/textures/items/_chainmaille.png
+++ b/src/main/resources/assets/tinkersdefense/textures/items/_chainmail.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/items/armor/shoes/_broken.png b/src/main/resources/assets/tinkersdefense/textures/items/armor/shoes/_broken.png
new file mode 100644
index 0000000..9df5a27
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/textures/items/armor/shoes/_broken.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/materials/ender_pearl.png b/src/main/resources/assets/tinkersdefense/textures/materials/ender_pearl.png
new file mode 100644
index 0000000..b88747b
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/textures/materials/ender_pearl.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/materials/facetedgem.png b/src/main/resources/assets/tinkersdefense/textures/materials/facetedgem.png
new file mode 100644
index 0000000..2935594
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/textures/materials/facetedgem.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/materials/greencandy.png b/src/main/resources/assets/tinkersdefense/textures/materials/greencandy.png
new file mode 100644
index 0000000..450e2e8
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/textures/materials/greencandy.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/materials/opal.png b/src/main/resources/assets/tinkersdefense/textures/materials/opal.png
new file mode 100644
index 0000000..1f71770
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/textures/materials/opal.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/materials/redcandy.png b/src/main/resources/assets/tinkersdefense/textures/materials/redcandy.png
new file mode 100644
index 0000000..7b2a24c
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/textures/materials/redcandy.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/materials/stargem.png b/src/main/resources/assets/tinkersdefense/textures/materials/stargem.png
new file mode 100644
index 0000000..f98e536
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/textures/materials/stargem.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/materials/starruby.png b/src/main/resources/assets/tinkersdefense/textures/materials/starruby.png
new file mode 100644
index 0000000..ec8191b
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/textures/materials/starruby.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/materials/starsapphire.png b/src/main/resources/assets/tinkersdefense/textures/materials/starsapphire.png
new file mode 100644
index 0000000..9a924eb
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/textures/materials/starsapphire.png
Binary files differ
diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info
index 5b87739..b549b4d 100644
--- a/src/main/resources/mcmod.info
+++ b/src/main/resources/mcmod.info
@@ -3,12 +3,12 @@
"modid": "tinkersdefense",
"name": "Tinkers' Defense",
"description": "A defense related expansion for TConstruct",
- "version": "1.4.1.0a",
- "mcversion": "1.10.2",
+ "version": "1.4.2.1a",
+ "mcversion": "1.12.2",
"url": "",
"authorList": ["Sir Lance"],
- "requiredMods": [ "Forge", "tconstruct","Baubles"],
- "dependencies": ["tconstruct","Baubles"],
+ "requiredMods": [ "forge", "tconstruct","baubles"],
+ "dependencies": ["tconstruct","baubles"],
"useDependencyInformation": "true"
}
]