diff options
| author | Onyx <sor1n.iliutza16@gmail.com> | 2015-12-01 20:55:30 +0000 |
|---|---|---|
| committer | Onyx <sor1n.iliutza16@gmail.com> | 2015-12-01 20:55:30 +0000 |
| commit | 01c8701b68986ccfa83e902515716838d6829311 (patch) | |
| tree | b21aa78f4df6ca9bac90e2726221114a41f2294a | |
| parent | 35da479288f75d6686c64a00e1dc77e7e7fd50e1 (diff) | |
- Fixed all of the bugs mentioned on github
- Added new config options
- Rabbits paw now increases the chance of spawning hearts, rather than
itself spawning some
- Hearts now have a much lower chance to spawn by default
- You can no longer increase your health past 20 hearts (aka double the
default health)
- The guide now also shows the total number of pages on each tab
- A new luck stat has been added to the Curse API
- Cleaned up the code a bit (removed unused methods, imports etc)
- The displayer's info now has a purple solid color background; the text
also has a much closer shadow and now shrinks in height as well as in
width when too big
- I have modified the potion list to use Mithion's code, credits have
been given
166 files changed, 6485 insertions, 7071 deletions
@@ -1,6 +1,72 @@ <?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0_71"/>
+ <classpathentry kind="lib" path="H:/Jewelrycraft/1.7.10/libs/NotEnoughItems-1.7.10-1.0.4.95-universal.jar"/>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" path="src/main/resources"/>
+ <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.10-10.13.3.1428-1.7.10/forgeSrc-1.7.10-10.13.3.1428-1.7.10.jar" sourcepath="C:/Users/Onyx/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.10-10.13.3.1428-1.7.10/forgeSrc-1.7.10-10.13.3.1428-1.7.10-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/net.minecraft/launchwrapper/1.11/9c0592c6e1e9ea296a70948081bd4cc84dda1289/launchwrapper-1.11.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/net.minecraft/launchwrapper/1.11/ea64c0bce5e9f465cd56566530133331568d2157/launchwrapper-1.11-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/1.3.9/40719ea6961c0cb6afaeb6a921eaa1f6afd4cfdf/jsr305-1.3.9.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.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 exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.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 exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.typesafe/config/1.2.1/f771f71fdae3df231bcd54d5ca2d57f0bf93f467/config-1.2.1.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.typesafe/config/1.2.1/bdacf4f82ce9b29cd474bfde2e91eeb0ca623d28/config-1.2.1-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.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 exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-compiler/2.11.1/b031d401aabbf7f5f725db500575da3dff90065f/scala-compiler-2.11.1-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.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 exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.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 exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.11.1/8355e4b6841f772a287167666bad6e9860ac4d3c/scala-library-2.11.1-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-parser-combinators_2.11/1.0.1/f05d7345bf5a58924f2837c6c1f4d73a938e1ff0/scala-parser-combinators_2.11-1.0.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-reflect/2.11.1/d4c5628e197a0d6af8e9b93a9be32190c547bc8a/scala-reflect-2.11.1-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-swing_2.11/1.0.1/b1cdd92bd47b1e1837139c1c53020e86bb9112ae/scala-swing_2.11-1.0.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-xml_2.11/1.0.2/7a80ec00aec122fba7cd4e0d4cdd87ff7e4cb6d0/scala-xml_2.11-1.0.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/4.5/6065cc95c661255349c1d0756657be17c29a4fd3/jopt-simple-4.5.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/4.5/3cf4c3c1a6f565419bfd53a0e564d6fb128deeea/jopt-simple-4.5-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/lzma/lzma/0.0.1/521616dc7487b42bef0e803bd2fa3faf668101d7/lzma-0.0.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.mojang/realms/1.3.5/807ae355ee63583becd7ea60e76aab1532bb42e/realms-1.3.5.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-compress/1.8.1/3caea4421428752206c7a94c3e3097f0c47f1bb8/commons-compress-1.8.1-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.3.3/18f4247ff4572a074444572cee34647c43e7c9c7/httpclient-4.3.3.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.3.3/65cba03c4f6207f2885f88206fcf52c53f8d111b/httpclient-4.3.3-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.3/f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f/commons-logging-1.1.3.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.3/28bb0405fddaf04f15058fbfbe01fe2780d7d3b6/commons-logging-1.1.3-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.2/31fbbff1ddbf98f3aa7377c94d33b0447c646b6e/httpcore-4.3.2.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.2/4809f38359edeea9487f747e09aa58ec8d3a54c5/httpcore-4.3.2-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/java3d/vecmath/1.3.1/a0ae4f51da409fa0c20fa0ca59e6bbc9413ae71d/vecmath-1.3.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/net.sf.trove4j/trove4j/3.0.3/42ccaf4761f0dfdfa805c9e340d99a755907e2dd/trove4j-3.0.3.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/net.sf.trove4j/trove4j/3.0.3/109c5be93362e6e651e417c51d1863477a22969c/trove4j-3.0.3-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.gradle/caches/modules-2/files-2.1/com.ibm.icu/icu4j-core-mojang/51.2/814397ccbafff1132758e551c37396c528d7f2d7/icu4j-core-mojang-51.2-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.paulscode/codecjorbis/20101023/c73b5636faf089d9f00e8732a829577de25237ee/codecjorbis-20101023.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.paulscode/codecjorbis/20101023/4ca2436396bc14ebd78b7db1d4e11ca607c8705e/codecjorbis-20101023-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.paulscode/codecwav/20101023/12f031cfe88fef5c1dd36c563c0a3a69bd7261da/codecwav-20101023.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.paulscode/codecwav/20101023/71ec00b9b9c1a6a2c3a8a25f481a23ddb5b21ddb/codecwav-20101023-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.paulscode/libraryjavasound/20101123/5c5e304366f75f9eaa2e8cca546a1fb6109348b3/libraryjavasound-20101123.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.paulscode/libraryjavasound/20101123/945ff5711de27751cf699641d1ea316ba6cf7589/libraryjavasound-20101123-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.paulscode/librarylwjglopenal/20100824/73e80d0794c39665aec3f62eee88ca91676674ef/librarylwjglopenal-20100824.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.paulscode/librarylwjglopenal/20100824/ecfc8dac1d41bef748997e4edf563d486923ee1e/librarylwjglopenal-20100824-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.paulscode/soundsystem/20120107/419c05fe9be71f792b2d76cfc9b67f1ed0fec7f6/soundsystem-20120107.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.paulscode/soundsystem/20120107/1b9f4eb11ef11fede7fd76a2e5e8203c2a8adcd/soundsystem-20120107-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/io.netty/netty-all/4.0.10.Final/9e50bd52ffe257a0e2cd8d971688d6ce7d174325/netty-all-4.0.10.Final.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/io.netty/netty-all/4.0.10.Final/9a214bc1e6350ead5234e4dd5eb3a2a802d1c658/netty-all-4.0.10.Final-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/17.0/9c6ef172e8de35fd8d4d8783e4821e57cdef7445/guava-17.0.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/17.0/7ca0efbeb87ca845b5d7a0ac9c21a4b7b95f7b28/guava-17.0-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.3.2/d2a489573c0ed2c4942b3660decad5d65087b406/commons-lang3-3.3.2-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/b1b6ea3b7e4aa4f492509a4952029cd8e48019ad/commons-io-2.4.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/f2d8698c46d1167ff24b06a840a87d91a02db891/commons-io-2.4-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.9/9ce04e34240f674bc72680f8b843b1457383161a/commons-codec-1.9.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.9/3f15fff45d57656685abfee9e8302bf14580044c/commons-codec-1.9-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/net.java.jinput/jinput/2.0.5/39c7796b469a600f72380316f6b1f11db6c2c7c4/jinput-2.0.5.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/net.java.jinput/jinput/2.0.5/82604cfeb87b9ab70ed70aa19a137de8ceb21504/jinput-2.0.5-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/net.java.jutils/jutils/1.0.0/e12fe1fda814bd348c1579329c86943d2cd3c6a6/jutils-1.0.0.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/net.java.jutils/jutils/1.0.0/d18678a00b216863206a1bb6190507e02a32971b/jutils-1.0.0-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.2.4/a60a5e993c98c864010053cb901b7eab25306568/gson-2.2.4.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.2.4/a6dc5db8a12928e583bd3f23e72d3ab611ecd58f/gson-2.2.4-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.mojang/authlib/1.5.16/ef1582b11fd0943d069cdcb72e99008ac209a283/authlib-1.5.16.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/com.mojang/authlib/1.5.16/f7d1af1fd1232bb4f2e7898f059b536ad5bc950/authlib-1.5.16-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.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 exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.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 exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl/2.9.1/f58c5aabcef0e41718a564be9f8e412fff8db847/lwjgl-2.9.1.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl/2.9.1/ccedb5b6f96913c6f78bc10249e747ded90baa51/lwjgl-2.9.1-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl_util/2.9.1/290d7ba8a1bd9566f5ddf16ad06f09af5ec9b20e/lwjgl_util-2.9.1.jar" sourcepath="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl_util/2.9.1/9f350d8a760247f2ae88e996b55f8f7121346c79/lwjgl_util-2.9.1-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/tv.twitch/twitch/5.16/1f55f009c61637c10c0acfb8b5ffc600f30044b4/twitch-5.16.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-actors/2.11.0/e1dfa274766d5278166b0d660294fe96396693b2/scala-actors-2.11.0-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.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 exported="true" kind="lib" path="C:/Users/Onyx/.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/Onyx/.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 exported="true" kind="lib" path="C:/Users/Onyx/.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 exported="true" kind="lib" path="C:/Users/Onyx/.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 exported="true" kind="lib" path="C:/Users/Onyx/.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 exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/tv.twitch/twitch-platform/5.16/7c6affe439099806a4f552da14c42f9d643d8b23/twitch-platform-5.16-natives-windows-32.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/tv.twitch/twitch-platform/5.16/39d0c3d363735b4785598e0e7fbf8297c706a9f9/twitch-platform-5.16-natives-windows-64.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/tv.twitch/twitch-platform/5.16/62503ee712766cf77f97252e5902786fd834b8c5/twitch-platform-5.16-natives-osx.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/tv.twitch/twitch-external-platform/4.5/18215140f010c05b9f86ef6f0f8871954d2ccebf/twitch-external-platform-4.5-natives-windows-32.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/tv.twitch/twitch-external-platform/4.5/c3cde57891b935d41b6680a9c5e1502eeab76d86/twitch-external-platform-4.5-natives-windows-64.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/codechicken/CodeChickenLib/1.7.10-1.1.1.104/d4cc6281ce640f55aa9ef87a9a8813efd498004e/CodeChickenLib-1.7.10-1.1.1.104-dev.jar"/>
+ <classpathentry kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/codechicken/CodeChickenCore/1.7.10-1.0.3.26/db470f9d656a194be24ae9aed04d0f5fa9e44e07/CodeChickenCore-1.7.10-1.0.3.26-dev.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl-platform/2.9.1/4c517eca808522457dd95ee8fc1fbcdbb602efbe/lwjgl-platform-2.9.1-natives-windows.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl-platform/2.9.1/aa9aae879af8eb378e22cfc64db56ec2ca9a44d1/lwjgl-platform-2.9.1-natives-linux.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl-platform/2.9.1/2d12c83fdfbc04ecabf02c7bc8cc54d034f0daac/lwjgl-platform-2.9.1-natives-osx.jar"/>
+ <classpathentry exported="true" kind="lib" path="C:/Users/Onyx/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.10-10.13.3.1428-1.7.10/start"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/Minecraft"/>
+ <classpathentry kind="lib" path="libs/EquivalentExchange3-1.7.10-0.3.505.jar"/>
+ <classpathentry kind="lib" path="libs/Waila-1.5.10_1.7.10.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>1.7.10</name>
+ <name>Jewelrycraft</name>
<comment></comment>
<projects>
</projects>
@@ -14,4 +14,11 @@ <natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
+ <linkedResources>
+ <link>
+ <name>.link0</name>
+ <type>2</type>
+ <location>C:/Users/Onyx/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.10-10.13.3.1428-1.7.10/start</location>
+ </link>
+ </linkedResources>
</projectDescription>
diff --git a/src/main/java/darkknight/jewelrycraft/CreativeTabLiquids.java b/src/main/java/darkknight/jewelrycraft/CreativeTabLiquids.java index 33e507d..45529cc 100644 --- a/src/main/java/darkknight/jewelrycraft/CreativeTabLiquids.java +++ b/src/main/java/darkknight/jewelrycraft/CreativeTabLiquids.java @@ -1,47 +1,47 @@ -package darkknight.jewelrycraft; - -import java.util.List; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.util.JewelrycraftUtil; - -/** - * The Class CreativeTabLiquids. - */ -public class CreativeTabLiquids extends CreativeTabs -{ - /** - * Instantiates a new creative tab liquids. - * - * @param name the name - */ - public CreativeTabLiquids(String name) - { - super(name); - } - - public boolean hasSearchBar() { - - return true; - } - - /** - * @return the Item for the icon - */ - @Override - public Item getTabIconItem() - { - return ItemList.bucket; - } - - /** - * @param par1List List of items to display - */ - @Override - public void displayAllReleventItems(List list) - { - for(int i = 0; i < JewelrycraftUtil.objects.size(); i++) - list.add(ItemList.bucket.getModifiedItemStack(JewelrycraftUtil.objects.get(i))); - } -} +package darkknight.jewelrycraft;
+
+import java.util.List;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+
+/**
+ * The Class CreativeTabLiquids.
+ */
+public class CreativeTabLiquids extends CreativeTabs
+{
+ /**
+ * Instantiates a new creative tab liquids.
+ *
+ * @param name the name
+ */
+ public CreativeTabLiquids(String name)
+ {
+ super(name);
+ }
+
+ public boolean hasSearchBar() {
+
+ return true;
+ }
+
+ /**
+ * @return the Item for the icon
+ */
+ @Override
+ public Item getTabIconItem()
+ {
+ return ItemList.bucket;
+ }
+
+ /**
+ * @param par1List List of items to display
+ */
+ @Override
+ public void displayAllReleventItems(List list)
+ {
+ for(int i = 0; i < JewelrycraftUtil.objects.size(); i++)
+ list.add(ItemList.bucket.getModifiedItemStack(JewelrycraftUtil.objects.get(i)));
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java b/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java index 2328c0b..653918d 100644 --- a/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java +++ b/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java @@ -32,17 +32,11 @@ import darkknight.jewelrycraft.potions.PotionList; import darkknight.jewelrycraft.proxy.CommonProxy;
import darkknight.jewelrycraft.recipes.CraftingRecipes;
import darkknight.jewelrycraft.thirdparty.ThirdPartyManager;
-import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.Variables;
import darkknight.jewelrycraft.worldGen.ChestGeneration;
import darkknight.jewelrycraft.worldGen.village.VillageHandler;
import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.init.Items;
import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraftforge.fluids.FluidContainerRegistry;
-import net.minecraftforge.fluids.FluidStack;
@Mod (modid = Variables.MODID, name = Variables.MODNAME, version = Variables.VERSION, guiFactory = Variables.CONFIG_GUI, acceptedMinecraftVersions = "[1.7.10,1.8)")
public class JewelrycraftMod
diff --git a/src/main/java/darkknight/jewelrycraft/achievements/AchievementsList.java b/src/main/java/darkknight/jewelrycraft/achievements/AchievementsList.java index c5b5179..fc474e2 100644 --- a/src/main/java/darkknight/jewelrycraft/achievements/AchievementsList.java +++ b/src/main/java/darkknight/jewelrycraft/achievements/AchievementsList.java @@ -1,7 +1,6 @@ package darkknight.jewelrycraft.achievements;
import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.util.Variables;
import net.minecraft.init.Items;
import net.minecraft.stats.Achievement;
import net.minecraftforge.common.AchievementPage;
diff --git a/src/main/java/darkknight/jewelrycraft/api/Curse.java b/src/main/java/darkknight/jewelrycraft/api/Curse.java index 5fe5642..9d08582 100644 --- a/src/main/java/darkknight/jewelrycraft/api/Curse.java +++ b/src/main/java/darkknight/jewelrycraft/api/Curse.java @@ -245,4 +245,12 @@ public abstract class Curse {
return 10;
}
+
+ /*
+ * This stat is used to determine the chance of certain actions happening
+ */
+ public int luck()
+ {
+ return 0;
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/api/IJewelryItem.java b/src/main/java/darkknight/jewelrycraft/api/IJewelryItem.java index 80121de..576f12b 100644 --- a/src/main/java/darkknight/jewelrycraft/api/IJewelryItem.java +++ b/src/main/java/darkknight/jewelrycraft/api/IJewelryItem.java @@ -1,63 +1,75 @@ -/** - * - */ -package darkknight.jewelrycraft.api; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraftforge.event.entity.player.PlayerEvent; - -/** - * @author Sorin - * - */ -public interface IJewelryItem -{ - /** - * @return Returns the id of the type, 0 is for ring, 1 is for bracelet, 2 is for necklace and 3 is for earrings - */ - public int type(); - - /** - * This is the action performed each player tick - * @param item The item stack of the item (allows for fine item search, like metadata and nbt) - * @param player The player wearing the jewelry - */ - public void onWearAction(ItemStack item, EntityPlayer player); - - /** - * This performs an action whenever a player gets attacked by an entity besides another Player - * @param item The item stack of the item (allows for fine item search, like metadata and nbt) - * @param player The player that was attacked - * @param source Source of the damage - * @param amount The amount of damage taken - */ - public void onPlayerAttackedAction(ItemStack item, EntityPlayer player, DamageSource source, float amount); - - /** - * This does an action whenever an Entity gets attacked by a player, this includes other Players - * @param item The item stack of the item (allows for fine item search, like metadata and nbt) - * @param player The attacking player - * @param entity The target entity - * @param amount The amount of damage dealt - */ - public void onEntityAttackedByPlayer(ItemStack item, EntityPlayer player, EntityLivingBase entity, float amount); - - /** - * This runs whenever a player dies - * @param item The item stack of the item (allows for fine item search, like metadata and nbt) - * @param player The player that died - * @param source The damage source that caused the death - */ - public void onPlayerDeadAction(ItemStack item, EntityPlayer player, DamageSource source); - - /** - * Runs whenever a player respawns (switches dimensions or actually respawns) - * @param item The item stack of the item (allows for fine item search, like metadata and nbt) - * @param player The player that respawns - * @param event The clone event that runs whenever a player respawns, either because he died or switched dimensions - */ - public void onPlayerRespawnAction(ItemStack item, PlayerEvent.Clone event); -} +/**
+ *
+ */
+package darkknight.jewelrycraft.api;
+
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.DamageSource;
+import net.minecraftforge.event.entity.player.PlayerEvent;
+
+/**
+ * @author Sorin
+ *
+ */
+public interface IJewelryItem
+{
+ /**
+ * @return Returns the id of the type, 0 is for ring, 1 is for bracelet, 2 is for necklace and 3 is for earrings
+ */
+ public int type();
+
+ /**
+ * This is the action performed each player tick
+ * @param item The item stack of the item (allows for fine item search, like metadata and nbt)
+ * @param player The player wearing the jewelry
+ */
+ public void onWearAction(ItemStack item, EntityPlayer player);
+
+ /**
+ * This performs an action whenever a player gets attacked by an entity besides another Player
+ * @param item The item stack of the item (allows for fine item search, like metadata and nbt)
+ * @param player The player that was attacked
+ * @param source Source of the damage
+ * @param amount The amount of damage taken
+ */
+ public void onPlayerAttackedAction(ItemStack item, EntityPlayer player, DamageSource source, float amount);
+
+ /**
+ * This does an action whenever an Entity gets attacked by a player, this includes other Players
+ * @param item The item stack of the item (allows for fine item search, like metadata and nbt)
+ * @param player The attacking player
+ * @param entity The target entity
+ * @param amount The amount of damage dealt
+ */
+ public void onEntityAttackedByPlayer(ItemStack item, EntityPlayer player, EntityLivingBase entity, float amount);
+
+ /**
+ * This runs whenever a player dies
+ * @param item The item stack of the item (allows for fine item search, like metadata and nbt)
+ * @param player The player that died
+ * @param source The damage source that caused the death
+ */
+ public void onPlayerDeadAction(ItemStack item, EntityPlayer player, DamageSource source);
+
+ /**
+ * Runs whenever a player respawns (switches dimensions or actually respawns)
+ * @param item The item stack of the item (allows for fine item search, like metadata and nbt)
+ * @param player The player that respawns
+ * @param event The clone event that runs whenever a player respawns, either because he died or switched dimensions
+ */
+ public void onPlayerRespawnAction(ItemStack item, PlayerEvent.Clone event);
+
+ /**
+ * This runs when the item is equipped
+ * @param item The item stack of the item (allows for fine item search, like metadata and nbt)
+ */
+ public void onJewelryEquipped(ItemStack item);
+
+ /**
+ * This runs when the item is unequipped
+ * @param item The item stack of the item (allows for fine item search, like metadata and nbt)
+ */
+ public void onJewelryUnequipped(ItemStack item);
+}
diff --git a/src/main/java/darkknight/jewelrycraft/api/ModifierEffects.java b/src/main/java/darkknight/jewelrycraft/api/ModifierEffects.java index be88d31..22e0ca8 100644 --- a/src/main/java/darkknight/jewelrycraft/api/ModifierEffects.java +++ b/src/main/java/darkknight/jewelrycraft/api/ModifierEffects.java @@ -42,6 +42,7 @@ public class ModifierEffects /**
* This runs every tick
+ *
* @param item The ItemStack representing the jewelry that runs the effect
* @param player The player wearing the jewelry wearing a jewelry with this modifier on it
* @param jewelry The actual jewelry item (used by me to determine the type of jewelry so I don't have to call item.getItem() blah blah blah)
@@ -51,6 +52,7 @@ public class ModifierEffects /**
* This runs when an entity is attacked. This event can be canceled.
+ *
* @param item The ItemStack representing the jewelry that runs the effect
* @param player The player wearing the jewelry wearing a jewelry with this modifier on it
* @param target The attacked entity
@@ -65,6 +67,7 @@ public class ModifierEffects /**
* This runs when a player gets damaged. This event can be canceled.
+ *
* @param item The ItemStack representing the jewelry that runs the effect
* @param player The attacked player wearing a jewelry with this modifier on it
* @param source The source of the damage
@@ -78,8 +81,8 @@ public class ModifierEffects }
/**
- * This is the same as onEntityAttackedCacellable, but this can not be canceled.
- * I recommend using this over onEntityAttackedCacellable, as it is more reliable.
+ * This is the same as onEntityAttackedCacellable, but this can not be canceled. I recommend using this over onEntityAttackedCacellable, as it is more reliable.
+ *
* @param item The ItemStack representing the jewelry that runs the effect
* @param player The player wearing the jewelry wearing a jewelry with this modifier on it
* @param target The attacked entity
@@ -90,8 +93,8 @@ public class ModifierEffects {}
/**
- * This is just like onPlayerAttackedCacellable, only that this can not be canceled.
- * I recommend using this over onPlayerAttackedCacellable, as it is more reliable.
+ * This is just like onPlayerAttackedCacellable, only that this can not be canceled. I recommend using this over onPlayerAttackedCacellable, as it is more reliable.
+ *
* @param item The ItemStack representing the jewelry that runs the effect
* @param player The attacked player wearing a jewelry with this modifier on it
* @param source The source of the damage
@@ -103,6 +106,7 @@ public class ModifierEffects /**
* This runs when the player dies
+ *
* @param item The ItemStack representing the jewelry that runs the effect
* @param player The player that died wearing a jewelry with this modifier on it
* @param source The source of the killing blow
@@ -113,10 +117,29 @@ public class ModifierEffects /**
* This runs when the player respawns
+ *
* @param item The ItemStack representing the jewelry that runs the effect
* @param event The PlayerEvent that runs when the player respawns (this is also called when a player moves between dimensions)
* @param jewelry The actual jewelry item (aka item.getItem(), almost)
*/
public void onPlayerRespawn(ItemStack item, PlayerEvent.Clone event, Item jewelry)
{}
+
+ /**
+ * This runs when the item containing this modifier is equipped
+ *
+ * @param item The ItemStack representing the jewelry that runs the effect
+ * @param jewelry The actual jewelry item (aka item.getItem(), almost)
+ */
+ public void onJewelryEquipped(ItemStack item, Item jewelry)
+ {}
+
+ /**
+ * This runs when the item containing this modifier is unquipped
+ *
+ * @param item The ItemStack representing the jewelry that runs the effect
+ * @param jewelry The actual jewelry item (aka item.getItem(), almost)
+ */
+ public void onJewelryUnequipped(ItemStack item, Item jewelry)
+ {}
}
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockCrystal.java b/src/main/java/darkknight/jewelrycraft/block/BlockCrystal.java index 28f154c..e987c27 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockCrystal.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockCrystal.java @@ -3,7 +3,6 @@ */
package darkknight.jewelrycraft.block;
-import java.io.IOException;
import java.util.List;
import java.util.Random;
import cpw.mods.fml.relauncher.Side;
@@ -11,9 +10,7 @@ import cpw.mods.fml.relauncher.SideOnly; import darkknight.jewelrycraft.config.ConfigHandler;
import darkknight.jewelrycraft.proxy.ClientProxy.BlockRenderIDs;
import darkknight.jewelrycraft.tileentity.TileEntityCrystal;
-import darkknight.jewelrycraft.tileentity.TileEntityShadowEye;
import net.minecraft.block.Block;
-import net.minecraft.block.BlockContainer;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockDisplayer.java b/src/main/java/darkknight/jewelrycraft/block/BlockDisplayer.java index 8d11806..ba8884b 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockDisplayer.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockDisplayer.java @@ -1,245 +1,244 @@ -package darkknight.jewelrycraft.block; - -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import darkknight.jewelrycraft.tileentity.TileEntityDisplayer; -import darkknight.jewelrycraft.util.Variables; - -public class BlockDisplayer extends BlockContainer -{ - Random rand = new Random(); - - /** - * @param par2Material - */ - protected BlockDisplayer(Material par2Material) - { - super(par2Material); - } - - /** - * @param world - * @param var2 - * @return - */ - @Override - public TileEntity createNewTileEntity(World world, int var2) - { - return new TileEntityDisplayer(); - } - - /** - * @return - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * @param iblockaccess - * @param i - * @param j - * @param k - * @param l - * @return - */ - @Override - public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) - { - return false; - } - - /** - * @return - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * @return - */ - @Override - public int getRenderType() - { - return -1; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param entityPlayer - * @param par6 - * @param par7 - * @param par8 - * @param par9 - * @return - */ - @Override - public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9) - { - TileEntityDisplayer te = (TileEntityDisplayer)world.getTileEntity(i, j, k); - ItemStack item = entityPlayer.inventory.getCurrentItem(); - if (te != null){ - if (item != null && item != new ItemStack(Item.getItemById(0), 0, 0) && !world.isRemote){ - if (!te.hasObject){ - te.object = item.copy(); - te.quantity += item.stackSize; - te.object.stackSize = 1; - te.hasObject = true; - if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, item.stackSize); - te.isDirty = true; - }else if (te.object.getItem() == item.getItem() && te.object != null && te.object != new ItemStack(Item.getItemById(0), 0, 0) && te.object.getItemDamage() == item.getItemDamage()) if (te.object.hasTagCompound() && item.hasTagCompound() && te.object.getTagCompound().equals(item.getTagCompound())){ - te.quantity += item.stackSize; - if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, item.stackSize); - te.isDirty = true; - }else if (!te.object.hasTagCompound() && !item.hasTagCompound()){ - te.quantity += item.stackSize; - if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, item.stackSize); - te.isDirty = true; - } - }else if (item == null || item == new ItemStack(Item.getItemById(0), 0, 0)) if (!entityPlayer.capabilities.isCreativeMode) for(int inv = 0; inv < entityPlayer.inventory.getSizeInventory(); inv++){ - item = entityPlayer.inventory.getStackInSlot(inv); - if (item != null && te.object.getItem() == item.getItem() && te.object != null && te.object != new ItemStack(Item.getItemById(0), 0, 0) && te.object.getItemDamage() == item.getItemDamage()) if (te.object.hasTagCompound() && item.hasTagCompound() && te.object.getTagCompound().equals(item.getTagCompound())){ - te.quantity += item.stackSize; - if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(inv, item.stackSize); - te.isDirty = true; - te.markDirty(); - }else if (!te.object.hasTagCompound() && !item.hasTagCompound()){ - te.quantity += item.stackSize; - if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(inv, item.stackSize); - te.isDirty = true; - } - } - else if (entityPlayer.capabilities.isCreativeMode && te.hasObject && te.object.getItem() != null){ - te.quantity += 64; - te.isDirty = true; - } - te.isDirty = true; - } - return true; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param player - */ - @Override - public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player) - { - TileEntityDisplayer te = (TileEntityDisplayer)world.getTileEntity(i, j, k); - if (te != null && !world.isRemote) if (te.hasObject && te.object != null && te.object != new ItemStack(Item.getItemById(0), 0, 0) && player.inventory.addItemStackToInventory(te.object)) if (!player.isSneaking()){ - if (te.quantity > te.object.getMaxStackSize()){ - te.object.stackSize = te.object.getMaxStackSize() - 1; - player.inventory.addItemStackToInventory(te.object); - te.object.stackSize = 1; - te.quantity -= te.object.getMaxStackSize(); - te.isDirty = true; - }else{ - te.object.stackSize = te.quantity - 1; - player.inventory.addItemStackToInventory(te.object); - te.hasObject = false; - te.object = new ItemStack(Item.getItemById(0), 0, 0); - te.quantity = 0; - te.isDirty = true; - } - te.isDirty = true; - }else{ - if (te.quantity >= 2){ - player.inventory.addItemStackToInventory(te.object); - te.object.stackSize = 1; - te.quantity--; - te.isDirty = true; - }else{ - player.inventory.addItemStackToInventory(te.object); - te.object.stackSize = 1; - te.hasObject = false; - te.object = new ItemStack(Item.getItemById(0), 0, 0); - te.quantity = 0; - te.isDirty = true; - } - te.isDirty = true; - } - } - - /** - * @param world - * @param x - * @param y - * @param z - * @param stack - */ - public void dropItem(World world, double x, double y, double z, ItemStack stack) - { - EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 1.5D, z + 0.5D, stack); - entityitem.motionX = 0; - entityitem.motionZ = 0; - entityitem.motionY = 0.11000000298023224D; - world.spawnEntityInWorld(entityitem); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param block - * @param par6 - */ - @Override - public void breakBlock(World world, int i, int j, int k, Block block, int par6) - { - TileEntityDisplayer te = (TileEntityDisplayer)world.getTileEntity(i, j, k); - if (te != null && te.hasObject){ - te.object.stackSize = te.quantity; - dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.object); - world.removeTileEntity(i, j, k); - } - super.breakBlock(world, i, j, k, block, par6); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param entityLiving - * @param par6ItemStack - */ - @Override - public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack) - { - int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - world.setBlockMetadataWithNotify(i, j, k, rotation, 2); - } - - /** - * @param icon - */ - @Override - public void registerBlockIcons(IIconRegister icon) - { - blockIcon = icon.registerIcon(Variables.MODID + ":displayer"); - } -} +package darkknight.jewelrycraft.block;
+
+import java.util.Random;
+import darkknight.jewelrycraft.tileentity.TileEntityDisplayer;
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
+public class BlockDisplayer extends BlockContainer
+{
+ Random rand = new Random();
+
+ /**
+ * @param par2Material
+ */
+ protected BlockDisplayer(Material par2Material)
+ {
+ super(par2Material);
+ }
+
+ /**
+ * @param world
+ * @param var2
+ * @return
+ */
+ @Override
+ public TileEntity createNewTileEntity(World world, int var2)
+ {
+ return new TileEntityDisplayer();
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public boolean renderAsNormalBlock()
+ {
+ return false;
+ }
+
+ /**
+ * @param iblockaccess
+ * @param i
+ * @param j
+ * @param k
+ * @param l
+ * @return
+ */
+ @Override
+ public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l)
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public boolean isOpaqueCube()
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public int getRenderType()
+ {
+ return -1;
+ }
+
+ /**
+ * @param world
+ * @param i
+ * @param j
+ * @param k
+ * @param entityPlayer
+ * @param par6
+ * @param par7
+ * @param par8
+ * @param par9
+ * @return
+ */
+ @Override
+ public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9)
+ {
+ TileEntityDisplayer te = (TileEntityDisplayer)world.getTileEntity(i, j, k);
+ ItemStack item = entityPlayer.inventory.getCurrentItem();
+ if (te != null){
+ if (item != null && item != new ItemStack(Item.getItemById(0), 0, 0) && !world.isRemote){
+ if (!te.hasObject){
+ te.object = item.copy();
+ te.quantity += item.stackSize;
+ te.object.stackSize = 1;
+ te.hasObject = true;
+ if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, item.stackSize);
+ te.isDirty = true;
+ }else if (te.object.getItem() == item.getItem() && te.object != null && te.object != new ItemStack(Item.getItemById(0), 0, 0) && te.object.getItemDamage() == item.getItemDamage()) if (te.object.hasTagCompound() && item.hasTagCompound() && te.object.getTagCompound().equals(item.getTagCompound())){
+ te.quantity += item.stackSize;
+ if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, item.stackSize);
+ te.isDirty = true;
+ }else if (!te.object.hasTagCompound() && !item.hasTagCompound()){
+ te.quantity += item.stackSize;
+ if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, item.stackSize);
+ te.isDirty = true;
+ }
+ }else if (item == null || item == new ItemStack(Item.getItemById(0), 0, 0)) if (!entityPlayer.capabilities.isCreativeMode) for(int inv = 0; inv < entityPlayer.inventory.getSizeInventory(); inv++){
+ item = entityPlayer.inventory.getStackInSlot(inv);
+ if (item != null && te.object.getItem() == item.getItem() && te.object != null && te.object != new ItemStack(Item.getItemById(0), 0, 0) && te.object.getItemDamage() == item.getItemDamage()) if (te.object.hasTagCompound() && item.hasTagCompound() && te.object.getTagCompound().equals(item.getTagCompound())){
+ te.quantity += item.stackSize;
+ if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(inv, item.stackSize);
+ te.isDirty = true;
+ te.markDirty();
+ }else if (!te.object.hasTagCompound() && !item.hasTagCompound()){
+ te.quantity += item.stackSize;
+ if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(inv, item.stackSize);
+ te.isDirty = true;
+ }
+ }
+ else if (entityPlayer.capabilities.isCreativeMode && te.hasObject && te.object.getItem() != null){
+ te.quantity += 64;
+ te.isDirty = true;
+ }
+ te.isDirty = true;
+ }
+ return true;
+ }
+
+ /**
+ * @param world
+ * @param i
+ * @param j
+ * @param k
+ * @param player
+ */
+ @Override
+ public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player)
+ {
+ TileEntityDisplayer te = (TileEntityDisplayer)world.getTileEntity(i, j, k);
+ if (te != null && !world.isRemote) if (te.hasObject && te.object != null && te.object != new ItemStack(Item.getItemById(0), 0, 0) && player.inventory.addItemStackToInventory(te.object)) if (!player.isSneaking()){
+ if (te.quantity > te.object.getMaxStackSize()){
+ te.object.stackSize = te.object.getMaxStackSize() - 1;
+ player.inventory.addItemStackToInventory(te.object);
+ te.object.stackSize = 1;
+ te.quantity -= te.object.getMaxStackSize();
+ te.isDirty = true;
+ }else{
+ te.object.stackSize = te.quantity - 1;
+ player.inventory.addItemStackToInventory(te.object);
+ te.hasObject = false;
+ te.object = new ItemStack(Item.getItemById(0), 0, 0);
+ te.quantity = 0;
+ te.isDirty = true;
+ }
+ te.isDirty = true;
+ }else{
+ if (te.quantity >= 2){
+ player.inventory.addItemStackToInventory(te.object);
+ te.object.stackSize = 1;
+ te.quantity--;
+ te.isDirty = true;
+ }else{
+ player.inventory.addItemStackToInventory(te.object);
+ te.object.stackSize = 1;
+ te.hasObject = false;
+ te.object = new ItemStack(Item.getItemById(0), 0, 0);
+ te.quantity = 0;
+ te.isDirty = true;
+ }
+ te.isDirty = true;
+ }
+ }
+
+ /**
+ * @param world
+ * @param x
+ * @param y
+ * @param z
+ * @param stack
+ */
+ public void dropItem(World world, double x, double y, double z, ItemStack stack)
+ {
+ EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 1.5D, z + 0.5D, stack);
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ world.spawnEntityInWorld(entityitem);
+ }
+
+ /**
+ * @param world
+ * @param i
+ * @param j
+ * @param k
+ * @param block
+ * @param par6
+ */
+ @Override
+ public void breakBlock(World world, int i, int j, int k, Block block, int par6)
+ {
+ TileEntityDisplayer te = (TileEntityDisplayer)world.getTileEntity(i, j, k);
+ if (te != null && te.hasObject){
+ te.object.stackSize = te.quantity;
+ dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.object);
+ world.removeTileEntity(i, j, k);
+ }
+ super.breakBlock(world, i, j, k, block, par6);
+ }
+
+ /**
+ * @param world
+ * @param i
+ * @param j
+ * @param k
+ * @param entityLiving
+ * @param par6ItemStack
+ */
+ @Override
+ public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack)
+ {
+ int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
+ world.setBlockMetadataWithNotify(i, j, k, rotation, 2);
+ }
+
+ /**
+ * @param icon
+ */
+ @Override
+ public void registerBlockIcons(IIconRegister icon)
+ {
+ blockIcon = icon.registerIcon("minecraft:emerald_block");
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockHandPedestal.java b/src/main/java/darkknight/jewelrycraft/block/BlockHandPedestal.java index f88048e..4059101 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockHandPedestal.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockHandPedestal.java @@ -1,169 +1,169 @@ -package darkknight.jewelrycraft.block; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import darkknight.jewelrycraft.tileentity.TileEntityHandPedestal; - -public class BlockHandPedestal extends BlockContainer -{ - - /** - * @param material - */ - protected BlockHandPedestal(Material material) - { - super(material); - setBlockBounds(0.2F, 0F, 0.2F, 0.8F, 1.0F, 0.8F); - } - - /** - * @param world - * @param var2 - * @return - */ - @Override - public TileEntity createNewTileEntity(World world, int var2) - { - return new TileEntityHandPedestal(); - } - - /** - * @return - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * @param iblockaccess - * @param i - * @param j - * @param k - * @param l - * @return - */ - @Override - public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) - { - return false; - } - - /** - * @return - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * @return - */ - @Override - public int getRenderType() - { - return -1; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param entityPlayer - * @param par6 - * @param par7 - * @param par8 - * @param par9 - * @return - */ - @Override - public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9) - { - TileEntityHandPedestal te = (TileEntityHandPedestal)world.getTileEntity(i, j, k); - ItemStack item = entityPlayer.inventory.getCurrentItem(); - if (te != null){ - if (!world.isRemote && te.getHeldItemStack() == null && item != null){ - te.setHeldItemStack(item.copy()); - if (!entityPlayer.capabilities.isCreativeMode) item.stackSize--; - te.markDirty(); - }else if (entityPlayer.isSneaking()) if (entityPlayer.inventory.addItemStackToInventory(te.getHeldItemStack())){ - te.removeHeldItemStack(); - } - te.markDirty(); - } - return true; - } - - /** - * @param world - * @param x - * @param y - * @param z - * @param stack - */ - public void dropItem(World world, double x, double y, double z, ItemStack stack) - { - EntityItem entityitem = new EntityItem(world, x + 0.5, y + 1.5, z + 0.5, stack); - entityitem.motionX = 0; - entityitem.motionZ = 0; - entityitem.motionY = 0.11000000298023224D; - world.spawnEntityInWorld(entityitem); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param block - * @param par6 - */ - @Override - public void breakBlock(World world, int i, int j, int k, Block block, int par6) - { - TileEntityHandPedestal te = (TileEntityHandPedestal)world.getTileEntity(i, j, k); - if (te != null && te.getHeldItemStack() != null){ - dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.getHeldItemStack()); - world.removeTileEntity(i, j, k); - } - super.breakBlock(world, i, j, k, block, par6); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param entityLiving - * @param par6ItemStack - */ - @Override - public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack) - { - int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 8 / 360 + 0.5) & 7; - world.setBlockMetadataWithNotify(i, j, k, rotation, 2); - } - - /** - * @param icon - */ - @Override - public void registerBlockIcons(IIconRegister icon) - { - blockIcon = icon.registerIcon("minecraft:stonebrick"); - } +package darkknight.jewelrycraft.block;
+
+import darkknight.jewelrycraft.tileentity.TileEntityHandPedestal;
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
+public class BlockHandPedestal extends BlockContainer
+{
+
+ /**
+ * @param material
+ */
+ protected BlockHandPedestal(Material material)
+ {
+ super(material);
+ setBlockBounds(0.2F, 0F, 0.2F, 0.8F, 1.0F, 0.8F);
+ }
+
+ /**
+ * @param world
+ * @param var2
+ * @return
+ */
+ @Override
+ public TileEntity createNewTileEntity(World world, int var2)
+ {
+ return new TileEntityHandPedestal();
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public boolean renderAsNormalBlock()
+ {
+ return false;
+ }
+
+ /**
+ * @param iblockaccess
+ * @param i
+ * @param j
+ * @param k
+ * @param l
+ * @return
+ */
+ @Override
+ public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l)
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public boolean isOpaqueCube()
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public int getRenderType()
+ {
+ return -1;
+ }
+
+ /**
+ * @param world
+ * @param i
+ * @param j
+ * @param k
+ * @param entityPlayer
+ * @param par6
+ * @param par7
+ * @param par8
+ * @param par9
+ * @return
+ */
+ @Override
+ public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9)
+ {
+ TileEntityHandPedestal te = (TileEntityHandPedestal)world.getTileEntity(i, j, k);
+ ItemStack item = entityPlayer.inventory.getCurrentItem();
+ if (te != null){
+ if (!world.isRemote && te.getHeldItemStack() == null && item != null){
+ te.setHeldItemStack(item.copy());
+ if (!entityPlayer.capabilities.isCreativeMode) item.stackSize--;
+ te.markDirty();
+ }else if (entityPlayer.isSneaking()) if (entityPlayer.inventory.addItemStackToInventory(te.getHeldItemStack())){
+ te.removeHeldItemStack();
+ }
+ te.markDirty();
+ }
+ return true;
+ }
+
+ /**
+ * @param world
+ * @param x
+ * @param y
+ * @param z
+ * @param stack
+ */
+ public void dropItem(World world, double x, double y, double z, ItemStack stack)
+ {
+ EntityItem entityitem = new EntityItem(world, x + 0.5, y + 1.5, z + 0.5, stack);
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ world.spawnEntityInWorld(entityitem);
+ }
+
+ /**
+ * @param world
+ * @param i
+ * @param j
+ * @param k
+ * @param block
+ * @param par6
+ */
+ @Override
+ public void breakBlock(World world, int i, int j, int k, Block block, int par6)
+ {
+ TileEntityHandPedestal te = (TileEntityHandPedestal)world.getTileEntity(i, j, k);
+ if (te != null && te.getHeldItemStack() != null){
+ dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.getHeldItemStack());
+ world.removeTileEntity(i, j, k);
+ }
+ super.breakBlock(world, i, j, k, block, par6);
+ }
+
+ /**
+ * @param world
+ * @param i
+ * @param j
+ * @param k
+ * @param entityLiving
+ * @param par6ItemStack
+ */
+ @Override
+ public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack)
+ {
+ int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 8 / 360 + 0.5) & 7;
+ world.setBlockMetadataWithNotify(i, j, k, rotation, 2);
+ }
+
+ /**
+ * @param icon
+ */
+ @Override
+ public void registerBlockIcons(IIconRegister icon)
+ {
+ blockIcon = icon.registerIcon("minecraft:stonebrick");
+ }
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockItemCrystal.java b/src/main/java/darkknight/jewelrycraft/block/BlockItemCrystal.java index a8fb0b1..ca3490a 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockItemCrystal.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockItemCrystal.java @@ -1,36 +1,35 @@ -package darkknight.jewelrycraft.block; - -import java.io.IOException; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; - -public class BlockItemCrystal extends ItemBlock -{ - public BlockItemCrystal(Block block) { - super(block); - setHasSubtypes(true); - } - - @Override - public int getMetadata (int damageValue) - { - return damageValue; - } - - @Override - public String getUnlocalizedName(ItemStack itemstack) - { - return getUnlocalizedName() + "." + itemstack.getItemDamage(); - } - - @Override - @SideOnly (Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int pass) - { - return stack.getItemDamage() < 16 ? BlockCrystal.colors[stack.getItemDamage()] : 0; - } - +package darkknight.jewelrycraft.block;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class BlockItemCrystal extends ItemBlock
+{
+ public BlockItemCrystal(Block block) {
+ super(block);
+ setHasSubtypes(true);
+ }
+
+ @Override
+ public int getMetadata (int damageValue)
+ {
+ return damageValue;
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack itemstack)
+ {
+ return getUnlocalizedName() + "." + itemstack.getItemDamage();
+ }
+
+ @Override
+ @SideOnly (Side.CLIENT)
+ public int getColorFromItemStack(ItemStack stack, int pass)
+ {
+ return stack.getItemDamage() < 16 ? BlockCrystal.colors[stack.getItemDamage()] : 0;
+ }
+
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockJCOre.java b/src/main/java/darkknight/jewelrycraft/block/BlockJCOre.java index 4e5ca6d..5265a6a 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockJCOre.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockJCOre.java @@ -1,14 +1,12 @@ -package darkknight.jewelrycraft.block; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockOre; -import net.minecraft.block.material.Material; - -public class BlockJCOre extends BlockOre -{ - protected BlockJCOre() - { - super(); - setHarvestLevel("pickaxe", 3); - } -} +package darkknight.jewelrycraft.block;
+
+import net.minecraft.block.BlockOre;
+
+public class BlockJCOre extends BlockOre
+{
+ protected BlockJCOre()
+ {
+ super();
+ setHarvestLevel("pickaxe", 3);
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockJewelrsCraftingTable.java b/src/main/java/darkknight/jewelrycraft/block/BlockJewelrsCraftingTable.java index 7a6bf38..71b1a23 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockJewelrsCraftingTable.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockJewelrsCraftingTable.java @@ -1,6 +1,10 @@ package darkknight.jewelrycraft.block;
import java.util.Random;
+import darkknight.jewelrycraft.config.ConfigHandler;
+import darkknight.jewelrycraft.tileentity.TileEntityJewelrsCraftingTable;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
@@ -8,7 +12,6 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChatComponentText;
@@ -16,10 +19,6 @@ import net.minecraft.util.MathHelper; import net.minecraft.util.StatCollector;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.tileentity.TileEntityJewelrsCraftingTable;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-import darkknight.jewelrycraft.util.Variables;
public class BlockJewelrsCraftingTable extends BlockContainer {
Random rand = new Random();
@@ -111,9 +110,10 @@ public class BlockJewelrsCraftingTable extends BlockContainer { public int getRenderType() {
return -1;
}
-
- @Override
- public void registerBlockIcons(IIconRegister icon) {
- blockIcon = icon.registerIcon(Variables.MODID + ":jewelrsCraftingTable");
- }
+
+ @Override
+ public void registerBlockIcons(IIconRegister icon)
+ {
+ blockIcon = icon.registerIcon("minecraft:planks_spruce");
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockList.java b/src/main/java/darkknight/jewelrycraft/block/BlockList.java index 9d3a54b..7f59e7f 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockList.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockList.java @@ -27,7 +27,6 @@ public class BlockList public static Block shadowOre, smelter, molder, displayer, jewelCraftingTable, shadowBlock, shadowEye, handPedestal, shadowHand, midasTouchBlock, crystal;
public static BlockMoltenMetal moltenMetal;
public static Fluid moltenMetalFluid;
- private static boolean isInitialized = false;
public static void preInit(FMLPreInitializationEvent e)
{
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockMidasTouch.java b/src/main/java/darkknight/jewelrycraft/block/BlockMidasTouch.java index 4e09e4a..337428d 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockMidasTouch.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockMidasTouch.java @@ -1,83 +1,78 @@ -package darkknight.jewelrycraft.block; - -import java.util.ArrayList; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import darkknight.jewelrycraft.tileentity.TileEntityMidasTouch; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; - -public class BlockMidasTouch extends BlockContainer -{ - protected BlockMidasTouch(Material mat) - { - super(mat); - setHarvestLevel("pickaxe", 2); - } - - @Override - public TileEntity createNewTileEntity(World world, int var2) - { - return new TileEntityMidasTouch(); - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) - { - return false; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } - - public int quantityDropped(Random rand) - { - return 0; - } - - public Item getItemDropped(int id, Random rand, int size) - { - return Items.gold_nugget; - } - - public void onBlockHarvested(World world, int i, int j, int k, int meta, EntityPlayer player) - { - } - - public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) - { - TileEntity tile = world.getTileEntity(x, y, z); - if (((TileEntityMidasTouch)tile).target != null) this.setBlockBounds(0.5f - ((TileEntityMidasTouch)tile).target.width / 2, 0F, 0.5f - ((TileEntityMidasTouch)tile).target.width / 2, 0.5f + ((TileEntityMidasTouch)tile).target.width / 2, ((TileEntityMidasTouch)tile).target.height, 0.5f + ((TileEntityMidasTouch)tile).target.width / 2); - } - - @Override - public void registerBlockIcons(IIconRegister icon) - { - blockIcon = icon.registerIcon("minecraft:gold_block"); - } -} +package darkknight.jewelrycraft.block;
+
+import java.util.Random;
+import darkknight.jewelrycraft.tileentity.TileEntityMidasTouch;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
+public class BlockMidasTouch extends BlockContainer
+{
+ protected BlockMidasTouch(Material mat)
+ {
+ super(mat);
+ setHarvestLevel("pickaxe", 2);
+ }
+
+ @Override
+ public TileEntity createNewTileEntity(World world, int var2)
+ {
+ return new TileEntityMidasTouch();
+ }
+
+ @Override
+ public boolean renderAsNormalBlock()
+ {
+ return false;
+ }
+
+ @Override
+ public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l)
+ {
+ return false;
+ }
+
+ @Override
+ public boolean isOpaqueCube()
+ {
+ return false;
+ }
+
+ @Override
+ public int getRenderType()
+ {
+ return -1;
+ }
+
+ public int quantityDropped(Random rand)
+ {
+ return 0;
+ }
+
+ public Item getItemDropped(int id, Random rand, int size)
+ {
+ return Items.gold_nugget;
+ }
+
+ public void onBlockHarvested(World world, int i, int j, int k, int meta, EntityPlayer player)
+ {
+ }
+
+ public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z)
+ {
+ TileEntity tile = world.getTileEntity(x, y, z);
+ if (((TileEntityMidasTouch)tile).target != null) this.setBlockBounds(0.5f - ((TileEntityMidasTouch)tile).target.width / 2, 0F, 0.5f - ((TileEntityMidasTouch)tile).target.width / 2, 0.5f + ((TileEntityMidasTouch)tile).target.width / 2, ((TileEntityMidasTouch)tile).target.height, 0.5f + ((TileEntityMidasTouch)tile).target.width / 2);
+ }
+
+ @Override
+ public void registerBlockIcons(IIconRegister icon)
+ {
+ blockIcon = icon.registerIcon("minecraft:gold_block");
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockMolder.java b/src/main/java/darkknight/jewelrycraft/block/BlockMolder.java index 8c152e3..0c58784 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockMolder.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockMolder.java @@ -1,206 +1,136 @@ -package darkknight.jewelrycraft.block; - -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.MathHelper; -import net.minecraft.util.StatCollector; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; -import darkknight.jewelrycraft.util.Variables; - -public class BlockMolder extends BlockContainer -{ - Random rand = new Random(); - - /** - * @param par2Material - */ - protected BlockMolder(Material par2Material) - { - super(par2Material); - setBlockBounds(0.1F, 0F, 0.1F, 0.9F, 0.2F, 0.9F); - } - - /** - * @param world - * @param var2 - * @return - */ - @Override - public TileEntity createNewTileEntity(World world, int var2) - { - return new TileEntityMolder(); - } - - /** - * @return - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param entityPlayer - * @param par6 - * @param par7 - * @param par8 - * @param par9 - * @return - */ - @Override - public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9) - { - TileEntityMolder te = (TileEntityMolder)world.getTileEntity(i, j, k); - ItemStack item = entityPlayer.inventory.getCurrentItem(); - if (te != null && !world.isRemote){ - if (item != null && !te.hasMold && item.getItem() == ItemList.molds){ - te.mold = item.copy(); - te.hasMold = true; - if (!entityPlayer.capabilities.isCreativeMode) --item.stackSize; - entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".molder.addedmold", te.mold.getDisplayName()))); - te.isDirty = true; - } - if (te.hasMold && entityPlayer.isSneaking() && !te.hasMoltenMetal){ - dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.mold.copy()); - te.mold = new ItemStack(Item.getItemById(0), 0, 0); - te.hasMold = false; - te.isDirty = true; - }else if (te.hasMoltenMetal) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.hasmoltenmetal"))); - } - return true; - } - - /** - * @param world - * @param x - * @param y - * @param z - * @param stack - */ - public void dropItem(World world, double x, double y, double z, ItemStack stack) - { - EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, stack); - entityitem.motionX = 0; - entityitem.motionZ = 0; - entityitem.motionY = 0.11000000298023224D; - world.spawnEntityInWorld(entityitem); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param par5 - * @param par6 - */ - @Override - public void breakBlock(World world, int i, int j, int k, Block par5, int par6) - { - TileEntityMolder te = (TileEntityMolder)world.getTileEntity(i, j, k); - if (te != null){ - if (te.hasJewelBase) dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.jewelBase.copy()); - if (te.hasMold) dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.mold.copy()); - world.removeTileEntity(i, j, k); - } - super.breakBlock(world, i, j, k, par5, par6); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param entityLiving - * @param par6ItemStack - */ - @Override - public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack) - { - int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - world.setBlockMetadataWithNotify(i, j, k, rotation, 2); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param player - */ - @Override - public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player) - { - TileEntityMolder me = (TileEntityMolder)world.getTileEntity(i, j, k); - if (me != null && !world.isRemote){ - if (me.hasJewelBase){ - dropItem(me.getWorldObj(), me.xCoord, me.yCoord, me.zCoord, me.jewelBase.copy()); - me.jewelBase = new ItemStack(Item.getItemById(0), 0, 0); - me.hasJewelBase = false; - }else if (me.hasMoltenMetal && me.cooling >= 0) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.metaliscooling") + " (" + (ConfigHandler.INGOT_COOLING_TIME - me.cooling) * 100 / ConfigHandler.INGOT_COOLING_TIME + "%)")); - else if (me.mold.getItem() == ItemList.molds && !me.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.moldisempty"))); - else if (me.mold.getItem() != ItemList.molds) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.moldismissing"))); - me.isDirty = true; - } - } - - /** - * @param iblockaccess - * @param i - * @param j - * @param k - * @param l - * @return - */ - @Override - public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) - { - return false; - } - - /** - * @return - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * @return - */ - @Override - public int getRenderType() - { - return -1; - } - - /** - * @param icon - */ - @Override - public void registerBlockIcons(IIconRegister icon) - { - blockIcon = icon.registerIcon(Variables.MODID + ":molder"); - } -} +package darkknight.jewelrycraft.block;
+
+import java.util.Random;
+import darkknight.jewelrycraft.config.ConfigHandler;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.tileentity.TileEntityMolder;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.StatCollector;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
+public class BlockMolder extends BlockContainer
+{
+ Random rand = new Random();
+
+ protected BlockMolder(Material par2Material)
+ {
+ super(par2Material);
+ setBlockBounds(0.1F, 0F, 0.1F, 0.9F, 0.2F, 0.9F);
+ }
+
+ @Override
+ public TileEntity createNewTileEntity(World world, int var2)
+ {
+ return new TileEntityMolder();
+ }
+
+ @Override
+ public boolean renderAsNormalBlock()
+ {
+ return false;
+ }
+
+ @Override
+ public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9)
+ {
+ TileEntityMolder te = (TileEntityMolder)world.getTileEntity(i, j, k);
+ ItemStack item = entityPlayer.inventory.getCurrentItem();
+ if (te != null && !world.isRemote){
+ if (item != null && !te.hasMold && item.getItem() == ItemList.molds){
+ te.mold = item.copy();
+ te.hasMold = true;
+ if (!entityPlayer.capabilities.isCreativeMode) --item.stackSize;
+ entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".molder.addedmold", te.mold.getDisplayName())));
+ te.isDirty = true;
+ }
+ if (te.hasMold && entityPlayer.isSneaking() && !te.hasMoltenMetal){
+ dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.mold.copy());
+ te.mold = new ItemStack(Item.getItemById(0), 0, 0);
+ te.hasMold = false;
+ te.isDirty = true;
+ }else if (te.hasMoltenMetal) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.hasmoltenmetal")));
+ }
+ return true;
+ }
+
+ public void dropItem(World world, double x, double y, double z, ItemStack stack)
+ {
+ EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, stack);
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ world.spawnEntityInWorld(entityitem);
+ }
+
+ @Override
+ public void breakBlock(World world, int i, int j, int k, Block par5, int par6)
+ {
+ TileEntityMolder te = (TileEntityMolder)world.getTileEntity(i, j, k);
+ if (te != null){
+ if (te.hasJewelBase) dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.jewelBase.copy());
+ if (te.hasMold) dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.mold.copy());
+ world.removeTileEntity(i, j, k);
+ }
+ super.breakBlock(world, i, j, k, par5, par6);
+ }
+
+ @Override
+ public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack)
+ {
+ int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
+ world.setBlockMetadataWithNotify(i, j, k, rotation, 2);
+ }
+
+ @Override
+ public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player)
+ {
+ TileEntityMolder me = (TileEntityMolder)world.getTileEntity(i, j, k);
+ if (me != null && !world.isRemote){
+ if (me.hasJewelBase){
+ dropItem(me.getWorldObj(), me.xCoord, me.yCoord, me.zCoord, me.jewelBase.copy());
+ me.jewelBase = new ItemStack(Item.getItemById(0), 0, 0);
+ me.hasJewelBase = false;
+ }else if (me.hasMoltenMetal && me.cooling >= 0) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.metaliscooling") + " (" + (ConfigHandler.INGOT_COOLING_TIME - me.cooling) * 100 / ConfigHandler.INGOT_COOLING_TIME + "%)"));
+ else if (me.mold.getItem() == ItemList.molds && !me.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.moldisempty")));
+ else if (me.mold.getItem() != ItemList.molds) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.moldismissing")));
+ me.isDirty = true;
+ }
+ }
+
+ @Override
+ public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l)
+ {
+ return false;
+ }
+
+ @Override
+ public boolean isOpaqueCube()
+ {
+ return false;
+ }
+
+ @Override
+ public int getRenderType()
+ {
+ return -1;
+ }
+
+ @Override
+ public void registerBlockIcons(IIconRegister icon)
+ {
+ blockIcon = icon.registerIcon("minecraft:cobblestone");
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockShadow.java b/src/main/java/darkknight/jewelrycraft/block/BlockShadow.java index 7f8041d..ae9ceaa 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockShadow.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockShadow.java @@ -1,5 +1,8 @@ package darkknight.jewelrycraft.block;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.tileentity.TileEntityBlockShadow;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
@@ -10,9 +13,6 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.tileentity.TileEntityBlockShadow;
public class BlockShadow extends BlockContainer
{
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockShadowEye.java b/src/main/java/darkknight/jewelrycraft/block/BlockShadowEye.java index 53688ce..7a2277e 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockShadowEye.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockShadowEye.java @@ -1,135 +1,135 @@ -package darkknight.jewelrycraft.block; - -import java.util.Random; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import darkknight.jewelrycraft.tileentity.TileEntityShadowEye; - -public class BlockShadowEye extends BlockContainer -{ - Random rand = new Random(); - - protected BlockShadowEye() - { - super(Material.rock); - } - - /** - * @param world - * @param var2 - * @return - */ - @Override - public TileEntity createNewTileEntity(World world, int var2) - { - return new TileEntityShadowEye(); - } - - /** - * @return - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * @param iblockaccess - * @param i - * @param j - * @param k - * @param l - * @return - */ - @Override - public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) - { - return false; - } - - /** - * @return - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * @return - */ - @Override - public int getRenderType() - { - return -1; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param entityPlayer - * @param par6 - * @param par7 - * @param par8 - * @param par9 - * @return - */ - @Override - public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9) - { - TileEntityShadowEye tile = (TileEntityShadowEye)world.getTileEntity(i, j, k); - if (!tile.active && tile.opening == 1){ - tile.active = true; - tile.target = entityPlayer; - tile.shouldAddData = true; - } - return true; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param player - */ - @Override - public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player) - {} - - /** - * @param world - * @param i - * @param j - * @param k - * @param entityLiving - * @param par6ItemStack - */ - @Override - public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack) - { - int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - world.setBlockMetadataWithNotify(i, j, k, rotation, 2); - } - - /** - * @param icon - */ - @Override - public void registerBlockIcons(IIconRegister icon) - { - blockIcon = icon.registerIcon("minecraft:stonebrick"); - } -} +package darkknight.jewelrycraft.block;
+
+import java.util.Random;
+import darkknight.jewelrycraft.tileentity.TileEntityShadowEye;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
+public class BlockShadowEye extends BlockContainer
+{
+ Random rand = new Random();
+
+ protected BlockShadowEye()
+ {
+ super(Material.rock);
+ }
+
+ /**
+ * @param world
+ * @param var2
+ * @return
+ */
+ @Override
+ public TileEntity createNewTileEntity(World world, int var2)
+ {
+ return new TileEntityShadowEye();
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public boolean renderAsNormalBlock()
+ {
+ return false;
+ }
+
+ /**
+ * @param iblockaccess
+ * @param i
+ * @param j
+ * @param k
+ * @param l
+ * @return
+ */
+ @Override
+ public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l)
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public boolean isOpaqueCube()
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public int getRenderType()
+ {
+ return -1;
+ }
+
+ /**
+ * @param world
+ * @param i
+ * @param j
+ * @param k
+ * @param entityPlayer
+ * @param par6
+ * @param par7
+ * @param par8
+ * @param par9
+ * @return
+ */
+ @Override
+ public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9)
+ {
+ TileEntityShadowEye tile = (TileEntityShadowEye)world.getTileEntity(i, j, k);
+ if (!tile.active && tile.opening == 1){
+ tile.active = true;
+ tile.target = entityPlayer;
+ tile.shouldAddData = true;
+ }
+ return true;
+ }
+
+ /**
+ * @param world
+ * @param i
+ * @param j
+ * @param k
+ * @param player
+ */
+ @Override
+ public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player)
+ {}
+
+ /**
+ * @param world
+ * @param i
+ * @param j
+ * @param k
+ * @param entityLiving
+ * @param par6ItemStack
+ */
+ @Override
+ public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack)
+ {
+ int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
+ world.setBlockMetadataWithNotify(i, j, k, rotation, 2);
+ }
+
+ /**
+ * @param icon
+ */
+ @Override
+ public void registerBlockIcons(IIconRegister icon)
+ {
+ blockIcon = icon.registerIcon("minecraft:stonebrick");
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockShadowHand.java b/src/main/java/darkknight/jewelrycraft/block/BlockShadowHand.java index 2d488ca..bd33536 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockShadowHand.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockShadowHand.java @@ -1,139 +1,139 @@ -package darkknight.jewelrycraft.block; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import darkknight.jewelrycraft.tileentity.TileEntityShadowHand; - -public class BlockShadowHand extends BlockContainer -{ - /** - * @param material - */ - protected BlockShadowHand(Material material) - { - super(material); - setBlockBounds(0.2F, 0F, 0.2F, 0.8F, 1.0F, 0.8F); - } - - /** - * @param world - * @param var2 - * @return - */ - @Override - public TileEntity createNewTileEntity(World world, int var2) - { - return new TileEntityShadowHand(); - } - - /** - * @return - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * @param iblockaccess - * @param i - * @param j - * @param k - * @param l - * @return - */ - @Override - public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) - { - return false; - } - - /** - * @return - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * @return - */ - @Override - public int getRenderType() - { - return -1; - } - - /** - * @param world - * @param x - * @param y - * @param z - * @param stack - */ - public void dropItem(World world, double x, double y, double z, ItemStack stack) - { - EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 1.5D, z + 0.5D, stack); - entityitem.motionX = 0; - entityitem.motionZ = 0; - entityitem.motionY = 0.11000000298023224D; - world.spawnEntityInWorld(entityitem); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param block - * @param par6 - */ - @Override - public void breakBlock(World world, int i, int j, int k, Block block, int par6) - { - if (world.getTileEntity(i, j, k) instanceof TileEntityShadowHand){ - TileEntityShadowHand te = (TileEntityShadowHand)world.getTileEntity(i, j, k); - if (te != null && te.getHeldItemStack() != null){ - dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.getHeldItemStack()); - world.removeTileEntity(i, j, k); - } - } - super.breakBlock(world, i, j, k, block, par6); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param entityLiving - * @param par6ItemStack - */ - @Override - public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack) - { - int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 8.0F / 360.0F + 0.5D) & 7; - world.setBlockMetadataWithNotify(i, j, k, rotation, 2); - } - - /** - * @param icon - */ - @Override - public void registerBlockIcons(IIconRegister icon) - { - blockIcon = icon.registerIcon("minecraft:coal_block"); - } +package darkknight.jewelrycraft.block;
+
+import darkknight.jewelrycraft.tileentity.TileEntityShadowHand;
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
+public class BlockShadowHand extends BlockContainer
+{
+ /**
+ * @param material
+ */
+ protected BlockShadowHand(Material material)
+ {
+ super(material);
+ setBlockBounds(0.2F, 0F, 0.2F, 0.8F, 1.0F, 0.8F);
+ }
+
+ /**
+ * @param world
+ * @param var2
+ * @return
+ */
+ @Override
+ public TileEntity createNewTileEntity(World world, int var2)
+ {
+ return new TileEntityShadowHand();
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public boolean renderAsNormalBlock()
+ {
+ return false;
+ }
+
+ /**
+ * @param iblockaccess
+ * @param i
+ * @param j
+ * @param k
+ * @param l
+ * @return
+ */
+ @Override
+ public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l)
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public boolean isOpaqueCube()
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public int getRenderType()
+ {
+ return -1;
+ }
+
+ /**
+ * @param world
+ * @param x
+ * @param y
+ * @param z
+ * @param stack
+ */
+ public void dropItem(World world, double x, double y, double z, ItemStack stack)
+ {
+ EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 1.5D, z + 0.5D, stack);
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ world.spawnEntityInWorld(entityitem);
+ }
+
+ /**
+ * @param world
+ * @param i
+ * @param j
+ * @param k
+ * @param block
+ * @param par6
+ */
+ @Override
+ public void breakBlock(World world, int i, int j, int k, Block block, int par6)
+ {
+ if (world.getTileEntity(i, j, k) instanceof TileEntityShadowHand){
+ TileEntityShadowHand te = (TileEntityShadowHand)world.getTileEntity(i, j, k);
+ if (te != null && te.getHeldItemStack() != null){
+ dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.getHeldItemStack());
+ world.removeTileEntity(i, j, k);
+ }
+ }
+ super.breakBlock(world, i, j, k, block, par6);
+ }
+
+ /**
+ * @param world
+ * @param i
+ * @param j
+ * @param k
+ * @param entityLiving
+ * @param par6ItemStack
+ */
+ @Override
+ public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack)
+ {
+ int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 8.0F / 360.0F + 0.5D) & 7;
+ world.setBlockMetadataWithNotify(i, j, k, rotation, 2);
+ }
+
+ /**
+ * @param icon
+ */
+ @Override
+ public void registerBlockIcons(IIconRegister icon)
+ {
+ blockIcon = icon.registerIcon("minecraft:coal_block");
+ }
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java b/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java index 3c9b680..db8e254 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java @@ -5,7 +5,6 @@ import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.item.ItemList;
import darkknight.jewelrycraft.item.ItemMoltenMetalBucket;
import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.tileentity.TileEntityMoltenMetal;
import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
@@ -21,7 +20,6 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.MathHelper;
@@ -208,9 +206,10 @@ public class BlockSmelter extends BlockContainer { public int getRenderType() {
return -1;
}
-
- @Override
- public void registerBlockIcons(IIconRegister icon) {
- blockIcon = icon.registerIcon(Variables.MODID + ":smelter");
- }
+
+ @Override
+ public void registerBlockIcons(IIconRegister icon)
+ {
+ blockIcon = icon.registerIcon("minecraft:iron_block");
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/block/render/BlockCrystalRenderer.java b/src/main/java/darkknight/jewelrycraft/block/render/BlockCrystalRenderer.java index 061a8ea..a571927 100644 --- a/src/main/java/darkknight/jewelrycraft/block/render/BlockCrystalRenderer.java +++ b/src/main/java/darkknight/jewelrycraft/block/render/BlockCrystalRenderer.java @@ -4,11 +4,6 @@ package darkknight.jewelrycraft.block.render;
import java.util.Random;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.IBlockAccess;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.relauncher.Side;
@@ -17,131 +12,131 @@ import darkknight.jewelrycraft.block.BlockCrystal; import darkknight.jewelrycraft.config.ConfigHandler;
import darkknight.jewelrycraft.proxy.ClientProxy.BlockRenderIDs;
import darkknight.jewelrycraft.tileentity.TileEntityCrystal;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.RenderBlocks;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
/**
* @author Sorin
*/
-@SideOnly (Side.CLIENT)
-public class BlockCrystalRenderer implements ISimpleBlockRenderingHandler
-{
- @Override
- public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
- {
- Tessellator tessellator = Tessellator.instance;
- GL11.glPushMatrix();
- GL11.glDisable(GL11.GL_LIGHTING);
- tessellator.startDrawingQuads();
- if (metadata < 16) tessellator.setColorRGBA_I(((BlockCrystal)block).colors[metadata], 100);
- GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
- this.renderWorldBlock(null, 0, 0, 0, block, modelID, renderer);
- tessellator.draw();
- GL11.glTranslatef(0.5f, 0.5f, 0.5f);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glPopMatrix();
- }
-
- @Override
- public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
- {
- int crystals = 5;
- Random rnd = new Random();
- Tessellator tessellator = Tessellator.instance;
- IIcon icon = ((BlockCrystal)block).getIcon(0, 0);
- double umin = icon.getMinU();
- double vmin = icon.getMinV();
- double umax = icon.getMaxU();
- double vmax = icon.getMaxV();
- tessellator.addTranslation(x, y, z);
- if (world != null && world.getTileEntity(x, y, z) != null && ConfigHandler.CRYSTAL_GLOW) tessellator.setBrightness(((TileEntityCrystal)world.getTileEntity(x, y, z)).shine);
- else tessellator.setBrightness(230);
- // 37435, 76464
- if (world != null) rnd.setSeed(2 * x * 3 * y * z * 5);
- else rnd.setSeed(76464);
- if (world != null && world.getBlockMetadata(x, y, z) < 16) tessellator.setColorRGBA_I(((BlockCrystal)block).colors[world.getBlockMetadata(x, y, z)], 100);
- crystal(tessellator, umin, vmin, umax, vmax, 0.8D, 0.2D, 0D, 0D, 0D, 0.0D, 0.0D);
- for(int i = 0; i < crystals; i++){
- double rotation = Math.PI * 2.0f / (float)crystals * (float)i;
- double xp1 = Math.sin(rotation) * ((0.15F + rnd.nextFloat())/2f);
- double zp1 = Math.cos(rotation) * ((0.15F + rnd.nextFloat())/2f);
- double height = 0.2f + rnd.nextFloat();
- double topHeight = 0.1f + rnd.nextFloat() / 2f;
- crystal(tessellator, umin, vmin, umax, vmax, height, topHeight, -xp1, 0D, zp1, xp1, zp1);
- }
- if (world != null){
- crystals = 4;
- for(int i = 0; i < crystals; i++){
- double rotation = Math.PI * 2F / (float)crystals * (float)i;
- double xp1 = Math.sin(rotation) * ((0.15F + rnd.nextFloat())/2f);
- double zp1 = Math.cos(rotation) * ((0.15F + rnd.nextFloat())/2f);
- double height = 0.1f + rnd.nextFloat();
- double topHeight = 0.1f + rnd.nextFloat() / 2f;
- float xOff = (rnd.nextFloat() * 1.5f - 0.5f) * (rnd.nextFloat()/2f);
- float zOff = (rnd.nextFloat() * 1.5f - 0.5f) * (rnd.nextFloat()/2f);
- crystal(tessellator, umin, vmin, umax, vmax, height, topHeight, xOff, 0D, zOff, xp1, zp1);
- }
- }
- tessellator.addTranslation(-x, -y, -z);
- return true;
- }
-
- private void crystal(Tessellator tessellator, double umin, double vmin, double umax, double vmax, double height, double topHeight, double posX, double posY, double posZ, double rotX, double rotZ)
- {
- // Negative X
- tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umin, vmin);
- tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umin, vmax);
- tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umax, vmax);
- tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umax, vmin);
- // Positive X
- tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umin, vmin);
- tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umin, vmax);
- tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umax, vmax);
- tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umax, vmin);
- // Negative Z
- tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umin, vmin);
- tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umin, vmax);
- tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umax, vmax);
- tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umax, vmin);
- // Positive Z
- tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umin, vmin);
- tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umin, vmax);
- tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umax, vmax);
- tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umax, vmin);
- // Top -X
- tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umin, vmin);
- tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, vmax);
- tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, vmax);
- tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umax, vmin);
- // Top +X
- tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umin, vmin);
- tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, vmax);
- tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, vmax);
- tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umax, vmin);
- // Top +Z
- tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umin, vmin);
- tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, vmax);
- tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, vmax);
- tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umax, vmin);
- // Top -Z
- tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umin, vmin);
- tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, vmax);
- tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, vmax);
- tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umax, vmin);
- // Bottom
- tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umin, vmin);
- tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umin, vmax);
- tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umax, vmax);
- tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umax, vmin);
- }
-
- @Override
- public boolean shouldRender3DInInventory(int modelId)
- {
- return true;
- }
-
- @Override
- public int getRenderId()
- {
- return BlockRenderIDs.CRYSTAL.id();
- }
+@SideOnly(Side.CLIENT)
+public class BlockCrystalRenderer implements ISimpleBlockRenderingHandler {
+ @Override
+ public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {
+ Tessellator tessellator = Tessellator.instance;
+ GL11.glPushMatrix();
+ GL11.glDisable(GL11.GL_LIGHTING);
+ tessellator.startDrawingQuads();
+ if (metadata < 16) tessellator.setColorRGBA_I(((BlockCrystal) block).colors[metadata], 100);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.5f);
+ this.renderWorldBlock(null, 0, 0, 0, block, modelID, renderer);
+ tessellator.draw();
+ GL11.glTranslatef(0.5f, 0.5f, 0.5f);
+ GL11.glEnable(GL11.GL_LIGHTING);
+ GL11.glPopMatrix();
+ }
+
+ @Override
+ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
+ int crystals = 5;
+ Random rnd = new Random();
+ Tessellator tessellator = Tessellator.instance;
+ IIcon icon = ((BlockCrystal) block).getIcon(0, 0);
+ double umin = icon.getMinU();
+ double vmin = icon.getMinV();
+ double umax = icon.getMaxU();
+ double vmax = icon.getMaxV();
+ tessellator.addTranslation(x, y, z);
+ if (world != null && world.getTileEntity(x, y, z) != null && ConfigHandler.CRYSTAL_GLOW) tessellator.setBrightness(((TileEntityCrystal) world.getTileEntity(x, y, z)).shine);
+ else tessellator.setBrightness(230);
+ // 37435, 76464
+ if (world != null) rnd.setSeed(2 * x * 3 * y * z * 5);
+ else rnd.setSeed(76464);
+ if (world != null && world.getBlockMetadata(x, y, z) < 16) tessellator.setColorRGBA_I(((BlockCrystal) block).colors[world.getBlockMetadata(x, y, z)], 100);
+ crystal(tessellator, umin, vmin, umax, vmax, 0.8D, 0.2D, 0D, 0D, 0D, 0.0D, 0.0D);
+ for (int i = 0; i < crystals; i++) {
+ double rotation = Math.PI * 2.0f / (float) crystals * (float) i;
+ double xp1 = Math.sin(rotation) * ((0.15F + rnd.nextFloat()) / 2f);
+ double zp1 = Math.cos(rotation) * ((0.15F + rnd.nextFloat()) / 2f);
+ double height = 0.2f + rnd.nextFloat();
+ double topHeight = 0.1f + rnd.nextFloat() / 2f;
+ crystal(tessellator, umin, vmin, umax, vmax, height, topHeight, -xp1, 0D, zp1, xp1, zp1);
+ }
+ if (world != null) {
+ crystals = 4;
+ for (int i = 0; i < crystals; i++) {
+ double rotation = Math.PI * 2F / (float) crystals * (float) i;
+ double xp1 = Math.sin(rotation) * ((0.15F + rnd.nextFloat()) / 2f);
+ double zp1 = Math.cos(rotation) * ((0.15F + rnd.nextFloat()) / 2f);
+ double height = 0.1f + rnd.nextFloat();
+ double topHeight = 0.1f + rnd.nextFloat() / 2f;
+ float xOff = (rnd.nextFloat() * 1.5f - 0.5f) * (rnd.nextFloat() / 2f);
+ float zOff = (rnd.nextFloat() * 1.5f - 0.5f) * (rnd.nextFloat() / 2f);
+ crystal(tessellator, umin, vmin, umax, vmax, height, topHeight, xOff, 0D, zOff, xp1, zp1);
+ }
+ }
+ tessellator.addTranslation(-x, -y, -z);
+ return true;
+ }
+
+ private void crystal(Tessellator tessellator, double umin, double vmin, double umax, double vmax, double height, double topHeight, double posX, double posY, double posZ, double rotX, double rotZ) {
+ // Negative X
+ tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umin, vmin);
+ tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umin, vmax);
+ tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umax, vmax);
+ tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umax, vmin);
+ // Positive X
+ tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umin, vmin);
+ tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umin, vmax);
+ tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umax, vmax);
+ tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umax, vmin);
+ // Negative Z
+ tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umin, vmin);
+ tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umin, vmax);
+ tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umax, vmax);
+ tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umax, vmin);
+ // Positive Z
+ tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umin, vmin);
+ tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umin, vmax);
+ tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umax, vmax);
+ tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umax, vmin);
+ // Top -X
+ tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umin, vmin);
+ tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, vmax);
+ tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, vmax);
+ tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umax, vmin);
+ // Top +X
+ tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umin, vmin);
+ tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, vmax);
+ tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, vmax);
+ tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umax, vmin);
+ // Top +Z
+ tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umin, vmin);
+ tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, vmax);
+ tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, vmax);
+ tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umax, vmin);
+ // Top -Z
+ tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umin, vmin);
+ tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, vmax);
+ tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, vmax);
+ tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umax, vmin);
+ // Bottom
+ tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umin, vmin);
+ tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umin, vmax);
+ tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umax, vmax);
+ tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umax, vmin);
+ }
+
+ @Override
+ public boolean shouldRender3DInInventory(int modelId) {
+ return true;
+ }
+
+ @Override
+ public int getRenderId() {
+ return BlockRenderIDs.CRYSTAL.id();
+ }
+
}
diff --git a/src/main/java/darkknight/jewelrycraft/client/AbstractTab.java b/src/main/java/darkknight/jewelrycraft/client/AbstractTab.java index 5ff4d2f..cdfb394 100644 --- a/src/main/java/darkknight/jewelrycraft/client/AbstractTab.java +++ b/src/main/java/darkknight/jewelrycraft/client/AbstractTab.java @@ -1,68 +1,69 @@ -package darkknight.jewelrycraft.client; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiButton; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.*; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.util.Variables; - -/** - * @author TinkersCOnstruct - */ -@SideOnly(Side.CLIENT) -public abstract class AbstractTab extends GuiButton -{ - ResourceLocation texture = new ResourceLocation(Variables.MODID, "textures/gui/hearts.png"); - ItemStack renderStack; - RenderItem itemRenderer = new RenderItem(); - - public AbstractTab(int id, int posX, int posY, ItemStack renderStack) - { - super(id, posX, posY, 18, 18, ""); - this.renderStack = renderStack; - } - - @Override - public void drawButton (Minecraft mc, int mouseX, int mouseY) - { - if (this.visible) - { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - int xOffset = this.enabled ? 0 : 8; - - mc.renderEngine.bindTexture(this.texture); - this.drawTexturedModalRect(this.xPosition, yPosition, 144 + xOffset, 32, 18, 18); - - GL11.glPushMatrix(); - RenderHelper.enableGUIStandardItemLighting(); - this.zLevel = 100.0F; - this.itemRenderer.zLevel = 100.0F; - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - this.itemRenderer.renderItemAndEffectIntoGUI(mc.fontRenderer, mc.renderEngine, renderStack, xPosition + 1, yPosition + 1); - this.itemRenderer.renderItemOverlayIntoGUI(mc.fontRenderer, mc.renderEngine, renderStack, xPosition + 1, yPosition + 1); - GL11.glDisable(GL11.GL_LIGHTING); - this.itemRenderer.zLevel = 0.0F; - this.zLevel = 0.0F; - RenderHelper.disableStandardItemLighting(); - GL11.glPopMatrix(); - } - } - - @Override - public boolean mousePressed (Minecraft mc, int mouseX, int mouseY) - { - boolean inWindow = this.enabled && this.visible && mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height; - if (inWindow) this.onTabClicked(); - return inWindow; - } - - public abstract void onTabClicked (); - - public abstract boolean shouldAddToList (); +package darkknight.jewelrycraft.client;
+
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.GuiButton;
+import net.minecraft.client.renderer.RenderHelper;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+
+/**
+ * @author TinkersCOnstruct
+ */
+@SideOnly(Side.CLIENT)
+public abstract class AbstractTab extends GuiButton
+{
+ ResourceLocation texture = new ResourceLocation(Variables.MODID, "textures/gui/hearts.png");
+ ItemStack renderStack;
+ RenderItem itemRenderer = new RenderItem();
+
+ public AbstractTab(int id, int posX, int posY, ItemStack renderStack)
+ {
+ super(id, posX, posY, 18, 18, "");
+ this.renderStack = renderStack;
+ }
+
+ @Override
+ public void drawButton (Minecraft mc, int mouseX, int mouseY)
+ {
+ if (this.visible)
+ {
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ int xOffset = this.enabled ? 0 : 8;
+
+ mc.renderEngine.bindTexture(this.texture);
+ this.drawTexturedModalRect(this.xPosition, yPosition, 144 + xOffset, 32, 18, 18);
+
+ GL11.glPushMatrix();
+ RenderHelper.enableGUIStandardItemLighting();
+ this.zLevel = 100.0F;
+ this.itemRenderer.zLevel = 100.0F;
+ GL11.glEnable(GL11.GL_LIGHTING);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ this.itemRenderer.renderItemAndEffectIntoGUI(mc.fontRenderer, mc.renderEngine, renderStack, xPosition + 1, yPosition + 1);
+ this.itemRenderer.renderItemOverlayIntoGUI(mc.fontRenderer, mc.renderEngine, renderStack, xPosition + 1, yPosition + 1);
+ GL11.glDisable(GL11.GL_LIGHTING);
+ this.itemRenderer.zLevel = 0.0F;
+ this.zLevel = 0.0F;
+ RenderHelper.disableStandardItemLighting();
+ GL11.glPopMatrix();
+ }
+ }
+
+ @Override
+ public boolean mousePressed (Minecraft mc, int mouseX, int mouseY)
+ {
+ boolean inWindow = this.enabled && this.visible && mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height;
+ if (inWindow) this.onTabClicked();
+ return inWindow;
+ }
+
+ public abstract void onTabClicked ();
+
+ public abstract boolean shouldAddToList ();
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/client/JewelryInventory.java b/src/main/java/darkknight/jewelrycraft/client/JewelryInventory.java index cf8543e..895b345 100644 --- a/src/main/java/darkknight/jewelrycraft/client/JewelryInventory.java +++ b/src/main/java/darkknight/jewelrycraft/client/JewelryInventory.java @@ -1,166 +1,166 @@ -package darkknight.jewelrycraft.client; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import darkknight.jewelrycraft.item.ItemBracelet; -import darkknight.jewelrycraft.item.ItemEarrings; -import darkknight.jewelrycraft.item.ItemNecklace; -import darkknight.jewelrycraft.item.ItemRing; -import darkknight.jewelrycraft.util.PlayerUtils; -import darkknight.jewelrycraft.util.Variables; - -public class JewelryInventory implements IInventory -{ - public EntityPlayer player; - public ItemStack[] inventory = new ItemStack[18]; - - /** - * @param player - */ - public JewelryInventory(EntityPlayer player) - { - this.player = player; - NBTTagCompound nbt = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - for(int i = 0; i < 18; i++) - inventory[i] = ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("ext" + i)); - } - - /** - * @return - */ - @Override - public int getSizeInventory() - { - return inventory.length; - } - - /** - * @param slot - * @return - */ - @Override - public ItemStack getStackInSlot(int slot) - { - return inventory[slot]; - } - - /** - * @param slot - * @param amount - * @return - */ - @Override - public ItemStack decrStackSize(int slot, int amount) - { - ItemStack stack = getStackInSlot(slot); - if (stack != null) if (stack.stackSize > amount){ - stack = stack.splitStack(amount); - markDirty(); - }else setInventorySlotContents(slot, null); - return stack; - } - - /** - * @param slot - * @return - */ - @Override - public ItemStack getStackInSlotOnClosing(int slot) - { - ItemStack stack = getStackInSlot(slot); - setInventorySlotContents(slot, null); - return stack; - } - - /** - * @param slot - * @param stack - */ - @Override - public void setInventorySlotContents(int slot, ItemStack stack) - { - inventory[slot] = stack; - if (stack != null && stack.stackSize > getInventoryStackLimit()) stack.stackSize = getInventoryStackLimit(); - markDirty(); - } - - /** - * @return - */ - @Override - public String getInventoryName() - { - return "Jewelry"; - } - - /** - * @return - */ - @Override - public boolean hasCustomInventoryName() - { - return false; - } - - /** - * @return - */ - @Override - public int getInventoryStackLimit() - { - return 1; - } - - /** - * - */ - @Override - public void markDirty() - { - NBTTagCompound nbt = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - for(int i = 0; i < 18; i++) - if (inventory[i] != null) nbt.setTag("ext" + i, inventory[i].writeToNBT(nbt.getCompoundTag("ext" + i))); - else nbt.removeTag("ext" + i); - } - - /** - * @param player - * @return - */ - @Override - public boolean isUseableByPlayer(EntityPlayer player) - { - return true; - } - - /** - * - */ - @Override - public void openInventory() - {} - - /** - * - */ - @Override - public void closeInventory() - {} - - /** - * @param slot - * @param stack - * @return - */ - @Override - public boolean isItemValidForSlot(int slot, ItemStack stack) - { - if (slot >= 0 && slot <= 9 && stack.getItem() instanceof ItemRing) return true; - else if (slot >= 10 && slot <= 13 && stack.getItem() instanceof ItemBracelet) return true; - else if (slot >= 14 && slot <= 16 && stack.getItem() instanceof ItemNecklace) return true; - else if (slot == 17 && stack.getItem() instanceof ItemEarrings) return true; - return false; - } +package darkknight.jewelrycraft.client;
+
+import darkknight.jewelrycraft.item.ItemBracelet;
+import darkknight.jewelrycraft.item.ItemEarrings;
+import darkknight.jewelrycraft.item.ItemNecklace;
+import darkknight.jewelrycraft.item.ItemRing;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
+public class JewelryInventory implements IInventory
+{
+ public EntityPlayer player;
+ public ItemStack[] inventory = new ItemStack[18];
+
+ /**
+ * @param player
+ */
+ public JewelryInventory(EntityPlayer player)
+ {
+ this.player = player;
+ NBTTagCompound nbt = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ inventory[i] = ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("ext" + i));
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public int getSizeInventory()
+ {
+ return inventory.length;
+ }
+
+ /**
+ * @param slot
+ * @return
+ */
+ @Override
+ public ItemStack getStackInSlot(int slot)
+ {
+ return inventory[slot];
+ }
+
+ /**
+ * @param slot
+ * @param amount
+ * @return
+ */
+ @Override
+ public ItemStack decrStackSize(int slot, int amount)
+ {
+ ItemStack stack = getStackInSlot(slot);
+ if (stack != null) if (stack.stackSize > amount){
+ stack = stack.splitStack(amount);
+ markDirty();
+ }else setInventorySlotContents(slot, null);
+ return stack;
+ }
+
+ /**
+ * @param slot
+ * @return
+ */
+ @Override
+ public ItemStack getStackInSlotOnClosing(int slot)
+ {
+ ItemStack stack = getStackInSlot(slot);
+ setInventorySlotContents(slot, null);
+ return stack;
+ }
+
+ /**
+ * @param slot
+ * @param stack
+ */
+ @Override
+ public void setInventorySlotContents(int slot, ItemStack stack)
+ {
+ inventory[slot] = stack;
+ if (stack != null && stack.stackSize > getInventoryStackLimit()) stack.stackSize = getInventoryStackLimit();
+ markDirty();
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public String getInventoryName()
+ {
+ return "Jewelry";
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public boolean hasCustomInventoryName()
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public int getInventoryStackLimit()
+ {
+ return 1;
+ }
+
+ /**
+ *
+ */
+ @Override
+ public void markDirty()
+ {
+ NBTTagCompound nbt = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (inventory[i] != null) nbt.setTag("ext" + i, inventory[i].writeToNBT(nbt.getCompoundTag("ext" + i)));
+ else nbt.removeTag("ext" + i);
+ }
+
+ /**
+ * @param player
+ * @return
+ */
+ @Override
+ public boolean isUseableByPlayer(EntityPlayer player)
+ {
+ return true;
+ }
+
+ /**
+ *
+ */
+ @Override
+ public void openInventory()
+ {}
+
+ /**
+ *
+ */
+ @Override
+ public void closeInventory()
+ {}
+
+ /**
+ * @param slot
+ * @param stack
+ * @return
+ */
+ @Override
+ public boolean isItemValidForSlot(int slot, ItemStack stack)
+ {
+ if (slot >= 0 && slot <= 9 && stack.getItem() instanceof ItemRing) return true;
+ else if (slot >= 10 && slot <= 13 && stack.getItem() instanceof ItemBracelet) return true;
+ else if (slot >= 14 && slot <= 16 && stack.getItem() instanceof ItemNecklace) return true;
+ else if (slot == 17 && stack.getItem() instanceof ItemEarrings) return true;
+ return false;
+ }
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/client/Page.java b/src/main/java/darkknight/jewelrycraft/client/Page.java index d1ca8fd..866f6f3 100644 --- a/src/main/java/darkknight/jewelrycraft/client/Page.java +++ b/src/main/java/darkknight/jewelrycraft/client/Page.java @@ -1,10 +1,8 @@ package darkknight.jewelrycraft.client;
import java.util.ArrayList;
-
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
-
import darkknight.jewelrycraft.client.gui.GuiGuide;
import darkknight.jewelrycraft.util.Variables;
import net.minecraft.client.Minecraft;
diff --git a/src/main/java/darkknight/jewelrycraft/client/TabCurses.java b/src/main/java/darkknight/jewelrycraft/client/TabCurses.java index d5e8fdd..3468324 100644 --- a/src/main/java/darkknight/jewelrycraft/client/TabCurses.java +++ b/src/main/java/darkknight/jewelrycraft/client/TabCurses.java @@ -1,10 +1,9 @@ package darkknight.jewelrycraft.client;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
import darkknight.jewelrycraft.JewelrycraftMod;
import darkknight.jewelrycraft.item.ItemList;
import darkknight.jewelrycraft.network.PacketKeyPressEvent;
+import net.minecraft.item.ItemStack;
public class TabCurses extends AbstractTab
{
diff --git a/src/main/java/darkknight/jewelrycraft/client/TabJewelry.java b/src/main/java/darkknight/jewelrycraft/client/TabJewelry.java index 65d4a3b..31cd7b4 100644 --- a/src/main/java/darkknight/jewelrycraft/client/TabJewelry.java +++ b/src/main/java/darkknight/jewelrycraft/client/TabJewelry.java @@ -1,26 +1,26 @@ -package darkknight.jewelrycraft.client; - -import net.minecraft.item.ItemStack; -import darkknight.jewelrycraft.JewelrycraftMod; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.network.PacketKeyPressEvent; - -public class TabJewelry extends AbstractTab -{ - public TabJewelry() - { - super(0, 0, 0, new ItemStack(ItemList.necklace)); - } - - @Override - public void onTabClicked () - { - JewelrycraftMod.netWrapper.sendToServer(new PacketKeyPressEvent(0)); - } - - @Override - public boolean shouldAddToList () - { - return true; - } +package darkknight.jewelrycraft.client;
+
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.network.PacketKeyPressEvent;
+import net.minecraft.item.ItemStack;
+
+public class TabJewelry extends AbstractTab
+{
+ public TabJewelry()
+ {
+ super(0, 0, 0, new ItemStack(ItemList.necklace));
+ }
+
+ @Override
+ public void onTabClicked ()
+ {
+ JewelrycraftMod.netWrapper.sendToServer(new PacketKeyPressEvent(0));
+ }
+
+ @Override
+ public boolean shouldAddToList ()
+ {
+ return true;
+ }
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/client/TabRegistry.java b/src/main/java/darkknight/jewelrycraft/client/TabRegistry.java index e35f305..fdc579f 100644 --- a/src/main/java/darkknight/jewelrycraft/client/TabRegistry.java +++ b/src/main/java/darkknight/jewelrycraft/client/TabRegistry.java @@ -2,16 +2,15 @@ package darkknight.jewelrycraft.client; import java.util.ArrayList;
import java.util.List;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.inventory.GuiInventory;
-import net.minecraft.network.play.client.C0DPacketCloseWindow;
-import net.minecraftforge.client.event.GuiScreenEvent;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.client.*;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.inventory.GuiInventory;
+import net.minecraft.network.play.client.C0DPacketCloseWindow;
+import net.minecraftforge.client.event.GuiScreenEvent;
/**
* @author TinkersConstruct
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java index 6708ec5..16b946c 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java @@ -2,32 +2,25 @@ package darkknight.jewelrycraft.client.gui; import java.util.ArrayList;
import java.util.List;
-import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;
import darkknight.jewelrycraft.JewelrycraftMod;
import darkknight.jewelrycraft.api.Curse;
-import darkknight.jewelrycraft.client.Page;
import darkknight.jewelrycraft.client.TabCurses;
import darkknight.jewelrycraft.client.TabRegistry;
import darkknight.jewelrycraft.config.ConfigHandler;
import darkknight.jewelrycraft.events.KeyBindings;
-import darkknight.jewelrycraft.network.PacketSendClientPlayerInfo;
import darkknight.jewelrycraft.network.PacketSendServerPlayerInfo;
import darkknight.jewelrycraft.network.PacketSendServerPlayersInfo;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.PlayerUtils;
import darkknight.jewelrycraft.util.Variables;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.inventory.Container;
import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
-import scala.swing.event.Key;
public class GuiCurseInfo extends GuiContainer {
World world;
@@ -125,7 +118,6 @@ public class GuiCurseInfo extends GuiContainer { GL11.glDisable(GL11.GL_BLEND);
GL11.glPopMatrix();
}
- int halfDescrSize = fontRendererObj.getStringWidth(curse.getDescription()) / 2;
mc.renderEngine.bindTexture(new ResourceLocation(Variables.MODID, "textures/gui/" + curse.getTexturePack() + ".png"));
int tag = curse.getTextureID();
GL11.glPushMatrix();
@@ -170,7 +162,6 @@ public class GuiCurseInfo extends GuiContainer { this.drawString(fontRendererObj, descr.get(i).toString(), (int) (guiLeft / 0.75F) + 12, (int) (guiTop / 0.75F) + 184 + i * 12 - (descr.size() > 1 ? 6 : 0), 0xffffff);
GL11.glPopMatrix();
}
- int halfDescrSize = fontRendererObj.getStringWidth(curse.getDescription()) / 2;
mc.renderEngine.bindTexture(new ResourceLocation(Variables.MODID, "textures/gui/" + curse.getTexturePack() + ".png"));
int tag = curse.getTextureID();
GL11.glPushMatrix();
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java index 5f52897..aa47840 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java @@ -2,6 +2,9 @@ package darkknight.jewelrycraft.client.gui; import java.util.ArrayList;
import java.util.List;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.block.BlockList;
+import darkknight.jewelrycraft.block.BlockShadowEye;
import net.minecraft.block.Block;
import net.minecraft.block.BlockAir;
import net.minecraft.client.Minecraft;
@@ -14,180 +17,201 @@ import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
-import org.lwjgl.opengl.GL11;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.JewelrycraftMod;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.block.BlockShadowEye;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-public class GuiGuide extends GuiContainer {
- public int page, rot, del;
- public boolean prevHover, nextHover;
- World world;
- private final GuiTab[] tabs = new GuiTab[] { new GuiTabIntroduction(0), new GuiTabBlocks(1), new GuiTabItems(2), new GuiTabGemsAndIngots(3), new GuiTabCurses(4), new GuiTabModifiers(5), new GuiTabRitual(6) };
- private GuiTab activeTab;
- ResourceLocation pageTexture, flippedPageTexture;
-
- //GUIDE
+public class GuiGuide extends GuiContainer
+{
+ public int page, rot, del;
+ public boolean prevHover, nextHover;
+ World world;
+ private final GuiTab[] tabs = new GuiTab[]{new GuiTabIntroduction(0), new GuiTabBlocks(1), new GuiTabItems(2), new GuiTabGemsAndIngots(3), new GuiTabCurses(4), new GuiTabModifiers(5), new GuiTabRitual(6)};
+ private GuiTab activeTab;
+ ResourceLocation pageTexture, flippedPageTexture;
+ // GUIDE
public static GuiTab prevActive = new GuiTabIntroduction(0);
public static int prevPage = 1;
-
- public GuiGuide(Container container, World world, ResourceLocation pageTex, ResourceLocation flipPageTex) {
- super(container);
- page = prevPage;
- rot = 0;
- del = 0;
- this.world = world;
- activeTab = prevActive;
- pageTexture = pageTex;
- flippedPageTexture = flipPageTex;
- this.xSize = 240;
- }
-
- @Override
- protected void drawGuiContainerBackgroundLayer(float f, int i, int j) {
- nextHover = false;
- prevHover = false;
- if (del == 0) rot++;
- del++;
- if (del >= 2) del = 0;
- Minecraft.getMinecraft().getTextureManager().bindTexture(pageTexture);
- drawTexturedModalRect(guiLeft + 147 / 2 + 20, guiTop - 10, 0, 0, 145, 179);
- Minecraft.getMinecraft().getTextureManager().bindTexture(flippedPageTexture);
- drawTexturedModalRect(guiLeft - 147 / 2 + 21, guiTop - 10, 0, 0, 145, 179);
- for (GuiRectangle tab : tabs) {
- int srcX = 24;
- int sizeX = 19;
- if (tab == activeTab) {
- srcX += 38;
- sizeX += 3;
- }
- else if (tab.inRect(this, i, j)) srcX += 19;
- tab.draw(this, srcX, 180, sizeX, 18);
- }
- if (i >= guiLeft + 195 + 20 && i <= guiLeft + 195 + 20 + 11 && j >= guiTop + 127 + 20 && j <= guiTop + 127 + 20 + 14 && page + 2 <= activeTab.getMaxPages()) {
- drawTexturedModalRect(guiLeft + 195 + 20, guiTop + 127 + 20, 0, 180, 11, 14);
- nextHover = true;
- }
- if (i >= guiLeft + 20 - 61 && i <= guiLeft - 61 + 20 + 11 && j >= guiTop + 127 + 20 && j <= guiTop + 127 + 20 + 14 && page - 2 > 0) {
- drawTexturedModalRect(guiLeft - 61 + 20, guiTop + 127 + 20, 11, 180, 11, 14);
- prevHover = true;
- }
- activeTab.drawBackground(this, i, j, page);
- activeTab.drawBackground(this, i, j, page + 1);
- ArrayList<String> text = new ArrayList<String>();
- text.add(Integer.toString(page));
- drawHoveringText(text, guiLeft - 10 + 20 - text.get(0).length(), guiTop + 150 + 25, fontRendererObj);
- text.remove(Integer.toString(page));
- text.add(Integer.toString(page + 1));
- drawHoveringText(text, guiLeft - 10 + 20 + 147 - text.get(0).length(), guiTop + 150 + 25, fontRendererObj);
- for (int tab = 0; tab < tabs.length; tab++)
- renderItem(tabs[tab].getIcon(), guiLeft - 52, guiTop + 26 + tab * 19, activeTab.getIcon());
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer(int x, int y) {
- activeTab.drawForeground(this, x, y, page);
- activeTab.drawForeground(this, x, y, page + 1);
- for (GuiTab tab : tabs)
- tab.drawString(this, x, y, tab.getName());
- }
-
- @Override
- protected void mouseClicked(int x, int y, int button) {
- if (nextHover && page + 2 <= activeTab.getMaxPages()) {
- page += 2;
- prevPage = page;
- }
- else if (prevHover && page > 1) {
- page -= 2;
- prevPage = page;
- }
- activeTab.mouseClick(this, x, y, button);
- for (GuiTab tab : tabs)
- if (activeTab != tab) if (tab.inRect(this, x, y)) {
- activeTab = tab;
- prevActive = tab;
- page = 1;
- prevPage = page;
- break;
- }
- }
-
- public void renderItem(ItemStack item, float x, float y, ItemStack activeIcon) {
- GL11.glPushMatrix();
- GL11.glDisable(GL11.GL_LIGHTING);
- EntityItem entityitem = new EntityItem(world, 0.0D, 0.0D, 0.0D, item);
- entityitem.hoverStart = 0.0F;
- if (item.isItemEqual(new ItemStack(BlockList.smelter))) {
- y -= 3;
- x += 1;
- }
- GL11.glTranslatef(x, y, 100);
- float scale = 30F;
- GL11.glScalef(-scale, scale, scale);
- if (activeIcon != null && item.isItemEqual(activeIcon)) GL11.glRotatef(rot, 0, 1, 0);
- if (item.isItemEqual(new ItemStack(BlockList.smelter))) GL11.glScalef(1.5F, 1.5F, 1.5F);
- else if (item.isItemEqual(new ItemStack(BlockList.handPedestal))) {
- GL11.glScalef(1.2F, 1.2F, 1.2F);
- GL11.glTranslatef(0F, -0.05F, 0F);
- }
- GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
- if (!(Block.getBlockFromItem(entityitem.getEntityItem().getItem()) instanceof BlockAir)) RenderHelper.enableStandardItemLighting();
- if (RenderManager.instance.options.fancyGraphics) RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
- else {
- GL11.glRotatef(180F, 0F, 1F, 0F);
- RenderManager.instance.options.fancyGraphics = true;
- RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
- RenderManager.instance.options.fancyGraphics = false;
- }
- if (!(Block.getBlockFromItem(entityitem.getEntityItem().getItem()) instanceof BlockAir)) RenderHelper.disableStandardItemLighting();
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glPopMatrix();
- }
-
- public void renderItem(ItemStack item, float x, float y, float scale, boolean rotate, float xRot, float yRot, float zRot) {
- GL11.glPushMatrix();
- EntityItem entityitem = new EntityItem(world, 0.0D, 0.0D, 0.0D, item);
- entityitem.hoverStart = 0.0F;
- GL11.glTranslatef(x, y, 100);
- GL11.glScalef(-scale, scale, scale);
- GL11.glRotatef(160.0F, 1.0F, 0.0F, 0.0F);
- if (rotate) GL11.glRotatef(rot, 0.0F, 1.0F, 0.0F);
- else {
- GL11.glRotatef(xRot, 1, 0, 0);
- GL11.glRotatef(yRot, 0, 1, 0);
- GL11.glRotatef(zRot, 0, 0, 1);
- if (xRot >= 90F || zRot >= 90F) GL11.glTranslatef(0F, -0.2F, 0F);
- if (Block.getBlockFromItem(entityitem.getEntityItem().getItem()) instanceof BlockShadowEye) GL11.glTranslatef(0F, 0F, 0.025F);
- }
- if (!(Block.getBlockFromItem(entityitem.getEntityItem().getItem()) instanceof BlockAir)) RenderHelper.enableStandardItemLighting();
- if (RenderManager.instance.options.fancyGraphics) RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
- else {
- RenderManager.instance.options.fancyGraphics = true;
- RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
- RenderManager.instance.options.fancyGraphics = false;
- }
- if (!(Block.getBlockFromItem(entityitem.getEntityItem().getItem()) instanceof BlockAir)) RenderHelper.disableStandardItemLighting();
- GL11.glPopMatrix();
- }
-
- public int getLeft() {
- return guiLeft;
- }
-
- public int getTop() {
- return guiTop;
- }
-
- public FontRenderer getFont() {
- return fontRendererObj;
- }
-
- @SuppressWarnings("rawtypes")
- public void drawHoverString(List lst, int x, int y) {
- drawHoveringText(lst, x, y, fontRendererObj);
- }
+
+ public GuiGuide(Container container, World world, ResourceLocation pageTex, ResourceLocation flipPageTex)
+ {
+ super(container);
+ page = prevPage;
+ rot = 0;
+ del = 0;
+ this.world = world;
+ activeTab = prevActive;
+ pageTexture = pageTex;
+ flippedPageTexture = flipPageTex;
+ this.xSize = 240;
+ }
+
+ @Override
+ protected void drawGuiContainerBackgroundLayer(float f, int i, int j)
+ {
+ nextHover = false;
+ prevHover = false;
+ if (del == 0)
+ rot++;
+ del++;
+ if (del >= 2)
+ del = 0;
+ Minecraft.getMinecraft().getTextureManager().bindTexture(pageTexture);
+ drawTexturedModalRect(guiLeft + 147 / 2 + 20, guiTop - 10, 0, 0, 145, 179);
+ Minecraft.getMinecraft().getTextureManager().bindTexture(flippedPageTexture);
+ drawTexturedModalRect(guiLeft - 147 / 2 + 21, guiTop - 10, 0, 0, 145, 179);
+ for(GuiRectangle tab: tabs){
+ int srcX = 24;
+ int sizeX = 19;
+ if (tab == activeTab) {
+ srcX += 38;
+ sizeX += 3;
+ }else
+ if (tab.inRect(this, i, j))
+ srcX += 19;
+ tab.draw(this, srcX, 180, sizeX, 18);
+ }
+ if (i >= guiLeft + 195 + 20 && i <= guiLeft + 195 + 20 + 11 && j >= guiTop + 127 + 20 && j <= guiTop + 127 + 20 + 14 && page + 2 <= activeTab.getMaxPages()) {
+ drawTexturedModalRect(guiLeft + 195 + 20, guiTop + 127 + 20, 0, 180, 11, 14);
+ nextHover = true;
+ }
+ if (i >= guiLeft + 20 - 61 && i <= guiLeft - 61 + 20 + 11 && j >= guiTop + 127 + 20 && j <= guiTop + 127 + 20 + 14 && page - 2 > 0) {
+ drawTexturedModalRect(guiLeft - 61 + 20, guiTop + 127 + 20, 11, 180, 11, 14);
+ prevHover = true;
+ }
+ activeTab.drawBackground(this, i, j, page);
+ activeTab.drawBackground(this, i, j, page + 1);
+ ArrayList<String> text = new ArrayList<String>();
+ text.add(page + "/" + activeTab.getMaxPages());
+ drawHoveringText(text, guiLeft - 10 + 20 - text.get(0).length(), guiTop + 150 + 25, fontRendererObj);
+ if (page < activeTab.getMaxPages()) {
+ text.remove(0);
+ text.add((page + 1) + "/" + activeTab.getMaxPages());
+ drawHoveringText(text, guiLeft - 10 + 20 + 147 - text.get(0).length(), guiTop + 150 + 25, fontRendererObj);
+ }
+ for(int tab = 0; tab < tabs.length; tab++)
+ renderItem(tabs[tab].getIcon(), guiLeft - 52, guiTop + 26 + tab * 19, activeTab.getIcon());
+ }
+
+ @Override
+ protected void drawGuiContainerForegroundLayer(int x, int y)
+ {
+ activeTab.drawForeground(this, x, y, page);
+ activeTab.drawForeground(this, x, y, page + 1);
+ for(GuiTab tab: tabs)
+ tab.drawString(this, x, y, tab.getName());
+ }
+
+ @Override
+ protected void mouseClicked(int x, int y, int button)
+ {
+ if (nextHover && page + 2 <= activeTab.getMaxPages()) {
+ page += 2;
+ prevPage = page;
+ }else
+ if (prevHover && page > 1) {
+ page -= 2;
+ prevPage = page;
+ }
+ activeTab.mouseClick(this, x, y, button);
+ for(GuiTab tab: tabs)
+ if (activeTab != tab)
+ if (tab.inRect(this, x, y)) {
+ activeTab = tab;
+ prevActive = tab;
+ page = 1;
+ prevPage = page;
+ break;
+ }
+ }
+
+ public void renderItem(ItemStack item, float x, float y, ItemStack activeIcon)
+ {
+ GL11.glPushMatrix();
+ GL11.glDisable(GL11.GL_LIGHTING);
+ EntityItem entityitem = new EntityItem(world, 0.0D, 0.0D, 0.0D, item);
+ entityitem.hoverStart = 0.0F;
+ if (item.isItemEqual(new ItemStack(BlockList.smelter))) {
+ y -= 3;
+ x += 1;
+ }
+ GL11.glTranslatef(x, y, 100);
+ float scale = 30F;
+ GL11.glScalef(-scale, scale, scale);
+ if (activeIcon != null && item.isItemEqual(activeIcon))
+ GL11.glRotatef(rot, 0, 1, 0);
+ if (item.isItemEqual(new ItemStack(BlockList.smelter)))
+ GL11.glScalef(1.5F, 1.5F, 1.5F);
+ else if (item.isItemEqual(new ItemStack(BlockList.handPedestal))) {
+ GL11.glScalef(1.2F, 1.2F, 1.2F);
+ GL11.glTranslatef(0F, -0.05F, 0F);
+ }
+ GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
+ if (!(Block.getBlockFromItem(entityitem.getEntityItem().getItem()) instanceof BlockAir))
+ RenderHelper.enableStandardItemLighting();
+ if (RenderManager.instance.options.fancyGraphics)
+ RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
+ else{
+ GL11.glRotatef(180F, 0F, 1F, 0F);
+ RenderManager.instance.options.fancyGraphics = true;
+ RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
+ RenderManager.instance.options.fancyGraphics = false;
+ }
+ if (!(Block.getBlockFromItem(entityitem.getEntityItem().getItem()) instanceof BlockAir))
+ RenderHelper.disableStandardItemLighting();
+ GL11.glEnable(GL11.GL_LIGHTING);
+ GL11.glPopMatrix();
+ }
+
+ public void renderItem(ItemStack item, float x, float y, float scale, boolean rotate, float xRot, float yRot, float zRot)
+ {
+ GL11.glPushMatrix();
+ EntityItem entityitem = new EntityItem(world, 0.0D, 0.0D, 0.0D, item);
+ entityitem.hoverStart = 0.0F;
+ GL11.glTranslatef(x, y, 100);
+ GL11.glScalef(-scale, scale, scale);
+ GL11.glRotatef(160.0F, 1.0F, 0.0F, 0.0F);
+ if (rotate)
+ GL11.glRotatef(rot, 0.0F, 1.0F, 0.0F);
+ else{
+ GL11.glRotatef(xRot, 1, 0, 0);
+ GL11.glRotatef(yRot, 0, 1, 0);
+ GL11.glRotatef(zRot, 0, 0, 1);
+ if (xRot >= 90F || zRot >= 90F)
+ GL11.glTranslatef(0F, -0.2F, 0F);
+ if (Block.getBlockFromItem(entityitem.getEntityItem().getItem()) instanceof BlockShadowEye)
+ GL11.glTranslatef(0F, 0F, 0.025F);
+ }
+ if (!(Block.getBlockFromItem(entityitem.getEntityItem().getItem()) instanceof BlockAir))
+ RenderHelper.enableStandardItemLighting();
+ if (RenderManager.instance.options.fancyGraphics)
+ RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
+ else{
+ RenderManager.instance.options.fancyGraphics = true;
+ RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
+ RenderManager.instance.options.fancyGraphics = false;
+ }
+ if (!(Block.getBlockFromItem(entityitem.getEntityItem().getItem()) instanceof BlockAir))
+ RenderHelper.disableStandardItemLighting();
+ GL11.glPopMatrix();
+ }
+
+ public int getLeft()
+ {
+ return guiLeft;
+ }
+
+ public int getTop()
+ {
+ return guiTop;
+ }
+
+ public FontRenderer getFont()
+ {
+ return fontRendererObj;
+ }
+
+ @SuppressWarnings ("rawtypes")
+ public void drawHoverString(List lst, int x, int y)
+ {
+ drawHoveringText(lst, x, y, fontRendererObj);
+ RenderHelper.enableGUIStandardItemLighting();
+ }
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiHandler.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiHandler.java index e91abc0..0218886 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiHandler.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiHandler.java @@ -1,10 +1,5 @@ package darkknight.jewelrycraft.client.gui;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.inventory.InventoryBasic;
-import net.minecraft.tileentity.TileEntityChest;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.world.World;
import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.network.NetworkRegistry;
import darkknight.jewelrycraft.JewelrycraftMod;
@@ -15,6 +10,11 @@ import darkknight.jewelrycraft.client.gui.container.ContainerJewelryModifier; import darkknight.jewelrycraft.client.gui.container.ContainerJewelryTab;
import darkknight.jewelrycraft.client.gui.container.ContainerRingChest;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.InventoryBasic;
+import net.minecraft.tileentity.TileEntityChest;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
public class GuiHandler implements IGuiHandler
{
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelry.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelry.java index 3ca0a20..b08ea37 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelry.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelry.java @@ -1,14 +1,14 @@ package darkknight.jewelrycraft.client.gui;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.client.gui.inventory.GuiInventory;
-import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import darkknight.jewelrycraft.client.TabJewelry;
import darkknight.jewelrycraft.client.TabRegistry;
import darkknight.jewelrycraft.client.gui.container.ContainerJewelryTab;
import darkknight.jewelrycraft.events.KeyBindings;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.client.gui.inventory.GuiInventory;
+import net.minecraft.util.ResourceLocation;
public class GuiJewelry extends GuiContainer
{
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelryModifier.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelryModifier.java index a083f57..23f137f 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelryModifier.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelryModifier.java @@ -4,31 +4,24 @@ import java.util.ArrayList; import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.logging.Level;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.client.gui.GuiTextField;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ChatComponentText;
-import net.minecraft.util.ResourceLocation;
-
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
-
import darkknight.jewelrycraft.JewelrycraftMod;
import darkknight.jewelrycraft.client.gui.container.ContainerJewelryModifier;
import darkknight.jewelrycraft.network.PacketRequestSetSlot;
import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.GuiButton;
+import net.minecraft.client.gui.GuiTextField;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
public class GuiJewelryModifier extends GuiContainer {
private ResourceLocation texture;
- private GuiButton addItems;
private GuiTextField searchField, pages;
- private boolean clicked;
private int page = 1, maxPages = 1, selectedX = 0, selectedY = 0, selectedPage = 0, enabled = 0;
private ItemStack selectedItem;
private ArrayList<ItemStack> selectedItems = new ArrayList<ItemStack>();
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiRectangle.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiRectangle.java index f4c35fb..7a20854 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiRectangle.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiRectangle.java @@ -1,96 +1,96 @@ -package darkknight.jewelrycraft.client.gui; - -import java.util.Arrays; -import net.minecraft.item.ItemStack; - -public class GuiRectangle -{ - private int x; - private int y; - private int w; - private int h; - - /** - * @param x - * @param y - * @param w - * @param h - */ - public GuiRectangle(int x, int y, int w, int h) - { - this.x = x; - this.y = y; - this.w = w; - this.h = h; - } - - /** - * @param gui - * @param mouseX - * @param mouseY - * @return - */ - public boolean inRect(GuiGuide gui, int mouseX, int mouseY) - { - mouseX -= gui.getLeft(); - mouseY -= gui.getTop(); - return x <= mouseX && mouseX <= x + w && y <= mouseY && mouseY <= y + h; - } - - /** - * @param x - */ - public void setX(int x) - { - this.x = x; - } - - /** - * @param y - */ - public void setY(int y) - { - this.y = y; - } - - /** - * @param gui - * @param srcX - * @param srcY - */ - public void draw(GuiGuide gui, int srcX, int srcY) - { - gui.drawTexturedModalRect(gui.getLeft() + x, gui.getTop() + y, srcX, srcY, w, h); - } - - /** - * @param gui - * @param srcX - * @param srcY - * @param width - * @param height - */ - public void draw(GuiGuide gui, int srcX, int srcY, int width, int height) - { - gui.drawTexturedModalRect(gui.getLeft() + x, gui.getTop() + y, srcX, srcY, width, height); - } - - /** - * @param gui - * @param mouseX - * @param mouseY - * @param str - */ - public void drawString(GuiGuide gui, int mouseX, int mouseY, String str) - { - if (inRect(gui, mouseX, mouseY)) gui.drawHoverString(Arrays.asList(str.split("\n")), mouseX - gui.getLeft(), mouseY - gui.getTop()); - } - - /** - * @return - */ - public ItemStack getIcon() - { - return null; - } -} +package darkknight.jewelrycraft.client.gui;
+
+import java.util.Arrays;
+import net.minecraft.item.ItemStack;
+
+public class GuiRectangle
+{
+ private int x;
+ private int y;
+ private int w;
+ private int h;
+
+ /**
+ * @param x
+ * @param y
+ * @param w
+ * @param h
+ */
+ public GuiRectangle(int x, int y, int w, int h)
+ {
+ this.x = x;
+ this.y = y;
+ this.w = w;
+ this.h = h;
+ }
+
+ /**
+ * @param gui
+ * @param mouseX
+ * @param mouseY
+ * @return
+ */
+ public boolean inRect(GuiGuide gui, int mouseX, int mouseY)
+ {
+ mouseX -= gui.getLeft();
+ mouseY -= gui.getTop();
+ return x <= mouseX && mouseX <= x + w && y <= mouseY && mouseY <= y + h;
+ }
+
+ /**
+ * @param x
+ */
+ public void setX(int x)
+ {
+ this.x = x;
+ }
+
+ /**
+ * @param y
+ */
+ public void setY(int y)
+ {
+ this.y = y;
+ }
+
+ /**
+ * @param gui
+ * @param srcX
+ * @param srcY
+ */
+ public void draw(GuiGuide gui, int srcX, int srcY)
+ {
+ gui.drawTexturedModalRect(gui.getLeft() + x, gui.getTop() + y, srcX, srcY, w, h);
+ }
+
+ /**
+ * @param gui
+ * @param srcX
+ * @param srcY
+ * @param width
+ * @param height
+ */
+ public void draw(GuiGuide gui, int srcX, int srcY, int width, int height)
+ {
+ gui.drawTexturedModalRect(gui.getLeft() + x, gui.getTop() + y, srcX, srcY, width, height);
+ }
+
+ /**
+ * @param gui
+ * @param mouseX
+ * @param mouseY
+ * @param str
+ */
+ public void drawString(GuiGuide gui, int mouseX, int mouseY, String str)
+ {
+ if (inRect(gui, mouseX, mouseY)) gui.drawHoverString(Arrays.asList(str.split("\n")), mouseX - gui.getLeft(), mouseY - gui.getTop());
+ }
+
+ /**
+ * @return
+ */
+ public ItemStack getIcon()
+ {
+ return null;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiRingChest.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiRingChest.java index e72fd81..c31b311 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiRingChest.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiRingChest.java @@ -1,50 +1,50 @@ -package darkknight.jewelrycraft.client.gui; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; -import darkknight.jewelrycraft.client.gui.container.ContainerRingChest; - -public class GuiRingChest extends GuiContainer -{ - public ContainerRingChest container; - ResourceLocation texture; - - /** - * @param container - * @param texture - */ - public GuiRingChest(ContainerRingChest container, ResourceLocation texture) - { - super(container); - this.container = container; - xSize = 176; - ySize = 166; - this.texture = texture; - } - - /** - * @param f - * @param mouseX - * @param mouseY - */ - @Override - public void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY) - { - GL11.glColor3f(1, 1, 1); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - } - - /** - * @param mouseX - * @param mouseY - */ - @Override - public void drawGuiContainerForegroundLayer(int mouseX, int mouseY) - { - fontRendererObj.drawString("Linked Chest", 8, 6, 0x404040); - fontRendererObj.drawString("Inventory", 8, 72, 0x404040); - } -} +package darkknight.jewelrycraft.client.gui;
+
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.client.gui.container.ContainerRingChest;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.util.ResourceLocation;
+
+public class GuiRingChest extends GuiContainer
+{
+ public ContainerRingChest container;
+ ResourceLocation texture;
+
+ /**
+ * @param container
+ * @param texture
+ */
+ public GuiRingChest(ContainerRingChest container, ResourceLocation texture)
+ {
+ super(container);
+ this.container = container;
+ xSize = 176;
+ ySize = 166;
+ this.texture = texture;
+ }
+
+ /**
+ * @param f
+ * @param mouseX
+ * @param mouseY
+ */
+ @Override
+ public void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY)
+ {
+ GL11.glColor3f(1, 1, 1);
+ Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
+ drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
+ }
+
+ /**
+ * @param mouseX
+ * @param mouseY
+ */
+ @Override
+ public void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
+ {
+ fontRendererObj.drawString("Linked Chest", 8, 6, 0x404040);
+ fontRendererObj.drawString("Inventory", 8, 72, 0x404040);
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabBlocks.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabBlocks.java index d3f92e3..afbcc3e 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabBlocks.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabBlocks.java @@ -1,16 +1,13 @@ package darkknight.jewelrycraft.client.gui;
-import java.awt.Desktop;
-import java.net.URL;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.StatCollector;
import darkknight.jewelrycraft.block.BlockList;
import darkknight.jewelrycraft.client.Page;
import darkknight.jewelrycraft.item.ItemList;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.StatCollector;
public class GuiTabBlocks extends GuiTab
{
@@ -63,11 +60,11 @@ public class GuiTabBlocks extends GuiTab Page.addCraftingRecipeTextPage(gui, gui.getLeft() + xPos, gui.getTop(), false, text, x, y, true, new ItemStack(BlockList.smelter), new ItemStack(Blocks.cobblestone), new ItemStack(Items.bucket), new ItemStack(Blocks.cobblestone), new ItemStack(Blocks.cobblestone), null, new ItemStack(Blocks.cobblestone), new ItemStack(Blocks.cobblestone), new ItemStack(Items.lava_bucket), new ItemStack(Blocks.cobblestone));
break;
case 4:
- text = "is right click on it with any ore or ingot. It can melt multimple ingots/ores at a time. Crouch (default: Shift) + Right Click will remove all items added. If right clicked when done smelting, it will say what the block contains.";
+ text = "is right click on it with any ore or ingot. It can melt multiple ingots/ores at a time. Crouch (default: Shift) + Right Click will remove all items added. If right clicked when done smelting, it will say what the block contains.";
Page.addTextPage(gui, gui.getLeft() + xPos, gui.getTop(), text);
break;
case 5:
- text = "The molder is a key piece in creating jewellery. You need to pour the molten metal out of the smelter somewhere. That somewhere is the molder. But before pouring the molten metal in it, you must first add a mold. You can do that by simply right clicking the block with the mold of your";
+ text = "The molder is a key piece in creating jewelry. You need to pour the molten metal out of the smelter somewhere. That somewhere is the molder. But before pouring the molten metal in it, you must first add a mold. You can do that by simply right clicking the block with the mold of your";
Page.addCraftingRecipeTextPage(gui, gui.getLeft() + xPos, gui.getTop(), false, text, x, y, true, new ItemStack(BlockList.molder), new ItemStack(Blocks.cobblestone), null, new ItemStack(Blocks.cobblestone), new ItemStack(Blocks.cobblestone), new ItemStack(Blocks.cobblestone), new ItemStack(Blocks.cobblestone));
break;
case 6:
@@ -75,7 +72,7 @@ public class GuiTabBlocks extends GuiTab Page.addTextPage(gui, gui.getLeft() + xPos, gui.getTop(), text);
break;
case 7:
- text = "This table allows you to add a gem to a piece of jewellery. Right click the block while holding a jewellery to add it in. Then do the same with a gem (you can find a list with all possible gems in this guide). Crouch + Right Click to retreive placed items. Left Click the block to see the";
+ text = "This table allows you to add a gem to a piece of jewelry. Right click the block while holding jewelry to add it in. Then do the same with a gem (you can find a list with all possible gems in this guide). Crouch + Right Click to retreive placed items. Left Click the block to see the";
if (del == 0) values++;
del++;
if (del >= 300) del = 0;
@@ -107,7 +104,7 @@ public class GuiTabBlocks extends GuiTab Page.addCraftingRecipeTextPage(gui, gui.getLeft() + xPos, gui.getTop(), false, text, x, y, true, new ItemStack(BlockList.shadowEye), new ItemStack(Blocks.stonebrick), new ItemStack(Blocks.stained_hardened_clay, 1, 15), new ItemStack(Blocks.stonebrick), new ItemStack(Blocks.stained_hardened_clay, 1, 15), new ItemStack(Items.ender_eye), new ItemStack(Blocks.stained_hardened_clay, 1, 15), new ItemStack(Blocks.stonebrick), new ItemStack(Blocks.stained_hardened_clay, 1, 15), new ItemStack(Blocks.stonebrick));
break;
case 14:
- text = "piece of jewelery in the middle pedestal and your modifiers of choice in the other ones (you don't need to put an item in every single pedestal). After you do that simply right click the eye to activate the ritual. Be careful not to leave the premise or you'll die! When the ritual is done, Shift+Right Click on the central hand pedestal to retrieve your newly modified item!";
+ text = "piece of jewelry in the middle pedestal and your modifiers of choice in the other ones (you don't need to put an item in every single pedestal). After you do that simply right click the eye to activate the ritual. Be careful not to leave the premise or you'll die! When the ritual is done, Shift+Right Click on the central hand pedestal to retrieve your newly modified item!";
Page.addTextPage(gui, gui.getLeft() + xPos, gui.getTop(), text);
break;
case 15:
@@ -129,7 +126,7 @@ public class GuiTabBlocks extends GuiTab @Override
public int getMaxPages()
{
- return 16;
+ return 15;
}
/**
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabCurses.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabCurses.java index 4157a38..9e544cb 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabCurses.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabCurses.java @@ -1,19 +1,11 @@ package darkknight.jewelrycraft.client.gui;
-import java.awt.Desktop;
-import java.net.URL;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.StatCollector;
import darkknight.jewelrycraft.api.Curse;
-import darkknight.jewelrycraft.block.BlockList;
import darkknight.jewelrycraft.client.Page;
import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.StatCollector;
public class GuiTabCurses extends GuiTab
{
@@ -56,7 +48,7 @@ public class GuiTabCurses extends GuiTab Page.addImageTextPage(gui, gui.getLeft() + xPos, gui.getTop() - 5, new ItemStack(ItemList.testItem, 1, 4), text, 40f, 0, 0, Curse.getCurseList().get(page-1).getDisplayName(), 45, 10, false);
break;
case 6:
- text = "Whatever you touch turns into gold. Believe me, this is no good to you, you can't even harvest this gold.";
+ text = "Whatever you touch turns into gold. Believe me, this is no good to you, you can't even harvest this gold. At lest the items you can't. But if you touched an entity with your bear hands while the curse is active and then no longer have it, you should be able to mine it with an iron pick or higher. THe golden statue will drop gold nuggets depending on the size of the entity.";
Page.addImageTextPage(gui, gui.getLeft() + xPos, gui.getTop() - 5, new ItemStack(ItemList.testItem, 1, 5), text, 40f, 0, 0, Curse.getCurseList().get(page-1).getDisplayName(), 45, 10, false);
break;
case 7:
@@ -64,7 +56,7 @@ public class GuiTabCurses extends GuiTab Page.addImageTextPage(gui, gui.getLeft() + xPos, gui.getTop() - 5, new ItemStack(ItemList.testItem, 1, 6), text, 40f, 0, 0, Curse.getCurseList().get(page-1).getDisplayName(), 45, 10, false);
break;
case 8:
- text = "There is a random chance that you'll steal 1 heart from an entity that is collided with you. If you are low on health, you will heal. If you are fully healed, an extra heart will be added to you. You can steal up to 2 hearts per entity (3 if you complete the challenge). When you steal a heart, that entity will have their max health reduced by 1.";
+ text = "There is a random chance that you'll steal 1 heart from an entity that is collided with you. If you are low on health, you will heal. If you are fully healed, an extra heart will be added to you. You can steal up to 2 hearts per entity (3 if you complete the challenge). When you steal a heart, that entity will have their max health reduced by 1. Challenges are found in the Achievements menu.";
Page.addImageTextPage(gui, gui.getLeft() + xPos, gui.getTop() - 5, new ItemStack(ItemList.testItem, 1, 7), text, 40f, 0, 0, Curse.getCurseList().get(page-1).getDisplayName(), 45, 10, false);
break;
case 9:
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabGemsAndIngots.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabGemsAndIngots.java index a124703..f72766a 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabGemsAndIngots.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabGemsAndIngots.java @@ -1,12 +1,12 @@ package darkknight.jewelrycraft.client.gui;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
-import org.lwjgl.opengl.GL11;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-import darkknight.jewelrycraft.util.Variables;
public class GuiTabGemsAndIngots extends GuiTab
{
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabIntroduction.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabIntroduction.java index 158a1f5..1aac70e 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabIntroduction.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabIntroduction.java @@ -1,11 +1,10 @@ package darkknight.jewelrycraft.client.gui;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.StatCollector;
import darkknight.jewelrycraft.client.Page;
import darkknight.jewelrycraft.item.ItemList;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.StatCollector;
public class GuiTabIntroduction extends GuiTab
{
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabItems.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabItems.java index e6883f9..a66798b 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabItems.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabItems.java @@ -2,17 +2,17 @@ package darkknight.jewelrycraft.client.gui; import java.awt.Desktop;
import java.net.URL;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.StatCollector;
import darkknight.jewelrycraft.block.BlockList;
import darkknight.jewelrycraft.client.Page;
import darkknight.jewelrycraft.item.ItemList;
import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StatCollector;
public class GuiTabItems extends GuiTab
{
@@ -81,7 +81,7 @@ public class GuiTabItems extends GuiTab Page.addCraftingRecipeTextPage(gui, gui.getLeft() + xPos, gui.getTop(), false, text, x, y, true, new ItemStack(ItemList.clayMolds, 1, 3), new ItemStack(Items.clay_ball), new ItemStack(Items.clay_ball), new ItemStack(Items.clay_ball), new ItemStack(Items.clay_ball), null, new ItemStack(Items.clay_ball), new ItemStack(Items.clay_ball), new ItemStack(Items.clay_ball), new ItemStack(Items.clay_ball));
break;
case 8:
- text = "To create a necklace you need a mold for it. However, this one can't be used. It is too soft. It needs to be hardened in order for it to be used.";
+ text = "To create earrings you need a mold for them. However, this one can't be used. It is too soft. It needs to be hardened in order for it to be used.";
Page.addCraftingRecipeTextPage(gui, gui.getLeft() + xPos, gui.getTop(), false, text, x, y, true, new ItemStack(ItemList.clayMolds, 1, 4), null, null, null, new ItemStack(Items.clay_ball), null, new ItemStack(Items.clay_ball), null, null, null);
break;
case 9:
@@ -121,7 +121,7 @@ public class GuiTabItems extends GuiTab Page.addImageTextPage(gui, gui.getLeft() + xPos, gui.getTop() - 5, new ItemStack(ItemList.jewelryModifier), text, 40f, 0, 0, true, 45, 10, false);
break;
case 14:
- text = "who want to test the mod and can't wait for the normal processes to finish (Smelter, Jewelers Table, Ritual).";
+ text = "who want to test the mod and can't wait for the normal processes to finish (Smelter, Jeweler's Table, Ritual).";
Page.addTextPage(gui, gui.getLeft() + xPos, gui.getTop(), text);
break;
case 15:
@@ -139,7 +139,7 @@ public class GuiTabItems extends GuiTab @Override
public int getMaxPages()
{
- return 16;
+ return 15;
}
/**
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabModifiers.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabModifiers.java index dd8573f..4f155c5 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabModifiers.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabModifiers.java @@ -1,11 +1,11 @@ package darkknight.jewelrycraft.client.gui;
+import darkknight.jewelrycraft.client.Page;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
-import darkknight.jewelrycraft.client.Page;
-import darkknight.jewelrycraft.util.Variables;
public class GuiTabModifiers extends GuiTab
{
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabOresToIngots.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabOresToIngots.java index b7f192d..a0b0e4b 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabOresToIngots.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabOresToIngots.java @@ -1,81 +1,78 @@ -package darkknight.jewelrycraft.client.gui; - -import java.util.HashMap; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.StatCollector; -import org.lwjgl.opengl.GL11; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.util.JewelrycraftUtil; -import darkknight.jewelrycraft.util.Variables; - -public class GuiTabOresToIngots extends GuiTab -{ - /** - * @param id - */ - public GuiTabOresToIngots(int id) - { - super(id); - } - - public String getName() - { - return StatCollector.translateToLocal("guide." + Variables.MODID + ".tab.oretoingot"); - } - - /** - * @return - */ - @Override - public ItemStack getIcon() - { - return new ItemStack(BlockList.shadowOre); - } - - /** - * @param gui - * @param x - * @param y - * @param page - */ - @Override - public void drawBackground(GuiGuide gui, int x, int y, int page) - { - int xPos = page % 2 == 0 ? 107 : -35; - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - int i = 0; - for(ItemStack ore: JewelrycraftUtil.oreToIngot.keySet()){ - if (i >= (page - 1) * 5 && i < page * 5){ - gui.renderItem(ore, gui.getLeft() + xPos + 10, gui.getTop() + 12 + 32 * (i - 5 * (page - 1)), 30f, true, 0, 0, 0); - gui.renderItem(JewelrycraftUtil.oreToIngot.get(ore), gui.getLeft() + xPos + 10, gui.getTop() + 28 + 32 * (i - 5 * (page - 1)), 30f, true, 0, 0, 0); - gui.getFont().drawString(String.format("%-1.18s", ore.getDisplayName()), gui.getLeft() + xPos + 20, gui.getTop() + 2 + 32 * (i - 5 * (page - 1)), 0); - gui.getFont().drawString(String.format("%-1.18s", JewelrycraftUtil.oreToIngot.get(ore).getDisplayName()), gui.getLeft() + xPos + 20, gui.getTop() + 18 + 32 * (i - 5 * (page - 1)), 0); - GL11.glDisable(GL11.GL_LIGHTING); - } - i++; - } - GL11.glDisable(GL11.GL_BLEND); - } - - /** - * @return - */ - @Override - public int getMaxPages() - { - return JewelrycraftUtil.oreToIngot.size() / 5 + 2; - } - - /** - * @param gui - * @param x - * @param y - * @param page - */ - @Override - public void drawForeground(GuiGuide gui, int x, int y, int page) - {} -} +package darkknight.jewelrycraft.client.gui;
+
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.block.BlockList;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.StatCollector;
+
+public class GuiTabOresToIngots extends GuiTab
+{
+ /**
+ * @param id
+ */
+ public GuiTabOresToIngots(int id)
+ {
+ super(id);
+ }
+
+ public String getName()
+ {
+ return StatCollector.translateToLocal("guide." + Variables.MODID + ".tab.oretoingot");
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public ItemStack getIcon()
+ {
+ return new ItemStack(BlockList.shadowOre);
+ }
+
+ /**
+ * @param gui
+ * @param x
+ * @param y
+ * @param page
+ */
+ @Override
+ public void drawBackground(GuiGuide gui, int x, int y, int page)
+ {
+ int xPos = page % 2 == 0 ? 107 : -35;
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ int i = 0;
+ for(ItemStack ore: JewelrycraftUtil.oreToIngot.keySet()){
+ if (i >= (page - 1) * 5 && i < page * 5){
+ gui.renderItem(ore, gui.getLeft() + xPos + 10, gui.getTop() + 12 + 32 * (i - 5 * (page - 1)), 30f, true, 0, 0, 0);
+ gui.renderItem(JewelrycraftUtil.oreToIngot.get(ore), gui.getLeft() + xPos + 10, gui.getTop() + 28 + 32 * (i - 5 * (page - 1)), 30f, true, 0, 0, 0);
+ gui.getFont().drawString(String.format("%-1.18s", ore.getDisplayName()), gui.getLeft() + xPos + 20, gui.getTop() + 2 + 32 * (i - 5 * (page - 1)), 0);
+ gui.getFont().drawString(String.format("%-1.18s", JewelrycraftUtil.oreToIngot.get(ore).getDisplayName()), gui.getLeft() + xPos + 20, gui.getTop() + 18 + 32 * (i - 5 * (page - 1)), 0);
+ GL11.glDisable(GL11.GL_LIGHTING);
+ }
+ i++;
+ }
+ GL11.glDisable(GL11.GL_BLEND);
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public int getMaxPages()
+ {
+ return JewelrycraftUtil.oreToIngot.size() / 5 + 2;
+ }
+
+ /**
+ * @param gui
+ * @param x
+ * @param y
+ * @param page
+ */
+ @Override
+ public void drawForeground(GuiGuide gui, int x, int y, int page)
+ {}
+}
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabRitual.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabRitual.java index 5e3c06e..30f220c 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabRitual.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabRitual.java @@ -1,132 +1,131 @@ -package darkknight.jewelrycraft.client.gui; - -import org.lwjgl.opengl.GL11; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.client.Page; -import darkknight.jewelrycraft.util.Variables; - -public class GuiTabRitual extends GuiTab -{ - public GuiTabRitual(int id) - { - super(id); - } - - public String getName() - { - return StatCollector.translateToLocal("guide." + Variables.MODID + ".tab.ritual"); - } - - @Override - public ItemStack getIcon() - { - return new ItemStack(BlockList.handPedestal); - } - - @Override - public void drawBackground(GuiGuide gui, int x, int y, int page) - { - int xPos = page % 2 == 0 ? 107 : -35; - switch(page) - { - case 1: - Page.drawText(gui, EnumChatFormatting.DARK_BLUE + "\u00a7n" + "Layer 1", gui.getLeft() + xPos + 35, gui.getTop() - 30); - for(int i = -1; i < 10; i++) - for(int j = 0; j < 11; j++) - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*i, gui.getTop() + 11*j, x, y, new ItemStack(Blocks.air), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*1, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*1, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*9, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*9, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0); - - //Top - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*2, gui.getTop() + 11*1, x, y, new ItemStack(BlockList.handPedestal), 0, 45, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*4, gui.getTop() + 11*0, x, y, new ItemStack(BlockList.handPedestal), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*6, gui.getTop() + 11*1, x, y, new ItemStack(BlockList.handPedestal), 0, -45, 0); - - //Left - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*3, x, y, new ItemStack(BlockList.handPedestal), 0, 45, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*-1, gui.getTop() + 11*5, x, y, new ItemStack(BlockList.handPedestal), 0, 90, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*7, x, y, new ItemStack(BlockList.handPedestal), 0, 135, 0); - - //Bottom - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*2, gui.getTop() + 11*9, x, y, new ItemStack(BlockList.handPedestal), 0, 135, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*4, gui.getTop() + 11*10, x, y, new ItemStack(BlockList.handPedestal), 0, 180, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*6, gui.getTop() + 11*9, x, y, new ItemStack(BlockList.handPedestal), 0, 225, 0); - - //Right - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*3, x, y, new ItemStack(BlockList.handPedestal), 0, -35, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*9, gui.getTop() + 11*5, x, y, new ItemStack(BlockList.handPedestal), 0, 270, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*7, x, y, new ItemStack(BlockList.handPedestal), 0, 225, 0); - - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*2, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*4, gui.getTop() + 11*5, x, y, new ItemStack(BlockList.handPedestal), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*6, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0); - break; - - case 2: - Page.drawText(gui, EnumChatFormatting.DARK_BLUE + "\u00a7n" + "Layer 2", gui.getLeft() + xPos + 35, gui.getTop() - 30); - for(int i = -1; i < 10; i++) - for(int j = 0; j < 11; j++) - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*i, gui.getTop() + 11*j, x, y, new ItemStack(Blocks.air), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*1, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*1, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*9, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*9, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0); - - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*2, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*6, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0); - break; - - case 3: - Page.drawText(gui, EnumChatFormatting.DARK_BLUE + "\u00a7n" + "Layer 3", gui.getLeft() + xPos + 35, gui.getTop() - 30); - for(int i = -1; i < 10; i++) - for(int j = 0; j < 11; j++) - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*i, gui.getTop() + 11*j, x, y, new ItemStack(Blocks.air), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*1, x, y, new ItemStack(BlockList.shadowBlock), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*1, x, y, new ItemStack(BlockList.shadowBlock), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*9, x, y, new ItemStack(BlockList.shadowBlock), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*9, x, y, new ItemStack(BlockList.shadowBlock), 0, 0, 0); - - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*2, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*6, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0); - break; - - case 4: - Page.drawText(gui, EnumChatFormatting.DARK_BLUE + "\u00a7n" + "Layer 4", gui.getLeft() + xPos + 35, gui.getTop() - 30); - for(int i = -1; i < 10; i++) - for(int j = 0; j < 11; j++) - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*i, gui.getTop() + 11*j, x, y, new ItemStack(Blocks.air), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*2, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stone_brick_stairs), 0, 90, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*3, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stone_brick_stairs), 0, -90, 180); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*4, gui.getTop() + 11*5, x, y, new ItemStack(BlockList.shadowEye), 0, 90, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*5, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stone_brick_stairs), 0, 90, 180); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*6, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stone_brick_stairs), 0, -90, 0); - break; - - case 5: - Page.drawText(gui, EnumChatFormatting.DARK_BLUE + "\u00a7n" + "Layer 5", gui.getLeft() + xPos + 35, gui.getTop() - 30); - for(int i = -1; i < 10; i++) - for(int j = 0; j < 11; j++) - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*i, gui.getTop() + 11*j, x, y, new ItemStack(Blocks.air), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*3, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stone_slab, 1, 5), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*4, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stone_slab, 1, 5), 0, 0, 0); - Page.addSlotItem(gui, gui.getLeft() + xPos + 11*5, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stone_slab, 1, 5), 0, 0, 0); - break; - } - } - - @Override - public int getMaxPages() - { - return 5; - } - - @Override - public void drawForeground(GuiGuide gui, int x, int y, int page) - {} -} +package darkknight.jewelrycraft.client.gui;
+
+import darkknight.jewelrycraft.block.BlockList;
+import darkknight.jewelrycraft.client.Page;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StatCollector;
+
+public class GuiTabRitual extends GuiTab
+{
+ public GuiTabRitual(int id)
+ {
+ super(id);
+ }
+
+ public String getName()
+ {
+ return StatCollector.translateToLocal("guide." + Variables.MODID + ".tab.ritual");
+ }
+
+ @Override
+ public ItemStack getIcon()
+ {
+ return new ItemStack(BlockList.handPedestal);
+ }
+
+ @Override
+ public void drawBackground(GuiGuide gui, int x, int y, int page)
+ {
+ int xPos = page % 2 == 0 ? 107 : -35;
+ switch(page)
+ {
+ case 1:
+ Page.drawText(gui, EnumChatFormatting.DARK_BLUE + "\u00a7n" + "Layer 1", gui.getLeft() + xPos + 35, gui.getTop() - 30);
+ for(int i = -1; i < 10; i++)
+ for(int j = 0; j < 11; j++)
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*i, gui.getTop() + 11*j, x, y, new ItemStack(Blocks.air), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*1, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*1, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*9, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*9, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0);
+
+ //Top
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*2, gui.getTop() + 11*1, x, y, new ItemStack(BlockList.handPedestal), 0, 45, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*4, gui.getTop() + 11*0, x, y, new ItemStack(BlockList.handPedestal), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*6, gui.getTop() + 11*1, x, y, new ItemStack(BlockList.handPedestal), 0, -45, 0);
+
+ //Left
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*3, x, y, new ItemStack(BlockList.handPedestal), 0, 45, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*-1, gui.getTop() + 11*5, x, y, new ItemStack(BlockList.handPedestal), 0, 90, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*7, x, y, new ItemStack(BlockList.handPedestal), 0, 135, 0);
+
+ //Bottom
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*2, gui.getTop() + 11*9, x, y, new ItemStack(BlockList.handPedestal), 0, 135, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*4, gui.getTop() + 11*10, x, y, new ItemStack(BlockList.handPedestal), 0, 180, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*6, gui.getTop() + 11*9, x, y, new ItemStack(BlockList.handPedestal), 0, 225, 0);
+
+ //Right
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*3, x, y, new ItemStack(BlockList.handPedestal), 0, -35, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*9, gui.getTop() + 11*5, x, y, new ItemStack(BlockList.handPedestal), 0, 270, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*7, x, y, new ItemStack(BlockList.handPedestal), 0, 225, 0);
+
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*2, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*4, gui.getTop() + 11*5, x, y, new ItemStack(BlockList.handPedestal), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*6, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0);
+ break;
+
+ case 2:
+ Page.drawText(gui, EnumChatFormatting.DARK_BLUE + "\u00a7n" + "Layer 2", gui.getLeft() + xPos + 35, gui.getTop() - 30);
+ for(int i = -1; i < 10; i++)
+ for(int j = 0; j < 11; j++)
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*i, gui.getTop() + 11*j, x, y, new ItemStack(Blocks.air), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*1, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*1, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*9, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*9, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0);
+
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*2, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*6, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0);
+ break;
+
+ case 3:
+ Page.drawText(gui, EnumChatFormatting.DARK_BLUE + "\u00a7n" + "Layer 3", gui.getLeft() + xPos + 35, gui.getTop() - 30);
+ for(int i = -1; i < 10; i++)
+ for(int j = 0; j < 11; j++)
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*i, gui.getTop() + 11*j, x, y, new ItemStack(Blocks.air), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*1, x, y, new ItemStack(BlockList.shadowBlock), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*1, x, y, new ItemStack(BlockList.shadowBlock), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*8, gui.getTop() + 11*9, x, y, new ItemStack(BlockList.shadowBlock), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*0, gui.getTop() + 11*9, x, y, new ItemStack(BlockList.shadowBlock), 0, 0, 0);
+
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*2, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*6, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stonebrick), 0, 0, 0);
+ break;
+
+ case 4:
+ Page.drawText(gui, EnumChatFormatting.DARK_BLUE + "\u00a7n" + "Layer 4", gui.getLeft() + xPos + 35, gui.getTop() - 30);
+ for(int i = -1; i < 10; i++)
+ for(int j = 0; j < 11; j++)
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*i, gui.getTop() + 11*j, x, y, new ItemStack(Blocks.air), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*2, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stone_brick_stairs), 0, 90, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*3, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stone_brick_stairs), 0, -90, 180);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*4, gui.getTop() + 11*5, x, y, new ItemStack(BlockList.shadowEye), 0, 90, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*5, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stone_brick_stairs), 0, 90, 180);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*6, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stone_brick_stairs), 0, -90, 0);
+ break;
+
+ case 5:
+ Page.drawText(gui, EnumChatFormatting.DARK_BLUE + "\u00a7n" + "Layer 5", gui.getLeft() + xPos + 35, gui.getTop() - 30);
+ for(int i = -1; i < 10; i++)
+ for(int j = 0; j < 11; j++)
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*i, gui.getTop() + 11*j, x, y, new ItemStack(Blocks.air), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*3, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stone_slab, 1, 5), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*4, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stone_slab, 1, 5), 0, 0, 0);
+ Page.addSlotItem(gui, gui.getLeft() + xPos + 11*5, gui.getTop() + 11*5, x, y, new ItemStack(Blocks.stone_slab, 1, 5), 0, 0, 0);
+ break;
+ }
+ }
+
+ @Override
+ public int getMaxPages()
+ {
+ return 5;
+ }
+
+ @Override
+ public void drawForeground(GuiGuide gui, int x, int y, int page)
+ {}
+}
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/container/ContainerJewelryModifier.java b/src/main/java/darkknight/jewelrycraft/client/gui/container/ContainerJewelryModifier.java index afb32d7..e749506 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/container/ContainerJewelryModifier.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/container/ContainerJewelryModifier.java @@ -1,50 +1,47 @@ -package darkknight.jewelrycraft.client.gui.container; - -import net.minecraft.client.gui.GuiButton; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; -import darkknight.jewelrycraft.JewelrycraftMod; -import darkknight.jewelrycraft.client.gui.container.slots.SlotRing; - -public class ContainerJewelryModifier extends Container -{ - public IInventory modInv; - public ContainerJewelryModifier(InventoryPlayer inv, IInventory mod) - { - int x, y; - modInv = mod; - for(x = 0; x < 9; x++) - addSlotToContainer(new Slot(inv, x, 26 + 18 * x, 225)); - for(y = 0; y < 3; y++) - for(x = 0; x < 9; x++) - addSlotToContainer(new Slot(inv, x + 9 + y * 9, 26 + 18 * x, 167 + y * 18)); - addSlotToContainer(new Slot(mod, 36, 37, 9)); - } - - @Override - public boolean canInteractWith(EntityPlayer player) - { - return true; - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) - { - ItemStack itemstack = null; - Slot slot = (Slot)inventorySlots.get(par2); - if (slot != null && slot.getHasStack()){ - ItemStack itemstack1 = slot.getStack(); - itemstack = itemstack1.copy(); - if (par2 < 27){ - if (!mergeItemStack(itemstack1, 27, inventorySlots.size(), true)) return null; - }else if (!mergeItemStack(itemstack1, 0, 27, false)) return null; - if (itemstack1.stackSize == 0) slot.putStack((ItemStack)null); - else slot.onSlotChanged(); - } - return itemstack; - } -} +package darkknight.jewelrycraft.client.gui.container;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+
+public class ContainerJewelryModifier extends Container
+{
+ public IInventory modInv;
+ public ContainerJewelryModifier(InventoryPlayer inv, IInventory mod)
+ {
+ int x, y;
+ modInv = mod;
+ for(x = 0; x < 9; x++)
+ addSlotToContainer(new Slot(inv, x, 26 + 18 * x, 225));
+ for(y = 0; y < 3; y++)
+ for(x = 0; x < 9; x++)
+ addSlotToContainer(new Slot(inv, x + 9 + y * 9, 26 + 18 * x, 167 + y * 18));
+ addSlotToContainer(new Slot(mod, 36, 37, 9));
+ }
+
+ @Override
+ public boolean canInteractWith(EntityPlayer player)
+ {
+ return true;
+ }
+
+ @Override
+ public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)
+ {
+ ItemStack itemstack = null;
+ Slot slot = (Slot)inventorySlots.get(par2);
+ if (slot != null && slot.getHasStack()){
+ ItemStack itemstack1 = slot.getStack();
+ itemstack = itemstack1.copy();
+ if (par2 < 27){
+ if (!mergeItemStack(itemstack1, 27, inventorySlots.size(), true)) return null;
+ }else if (!mergeItemStack(itemstack1, 0, 27, false)) return null;
+ if (itemstack1.stackSize == 0) slot.putStack((ItemStack)null);
+ else slot.onSlotChanged();
+ }
+ return itemstack;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/container/ContainerJewelryTab.java b/src/main/java/darkknight/jewelrycraft/client/gui/container/ContainerJewelryTab.java index 634782c..dd12540 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/container/ContainerJewelryTab.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/container/ContainerJewelryTab.java @@ -1,96 +1,114 @@ -package darkknight.jewelrycraft.client.gui.container; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; -import darkknight.jewelrycraft.api.IJewelryItem; -import darkknight.jewelrycraft.client.gui.container.slots.SlotBracelet; -import darkknight.jewelrycraft.client.gui.container.slots.SlotEarrings; -import darkknight.jewelrycraft.client.gui.container.slots.SlotNecklace; -import darkknight.jewelrycraft.client.gui.container.slots.SlotRing; -import darkknight.jewelrycraft.item.ItemBracelet; -import darkknight.jewelrycraft.item.ItemEarrings; -import darkknight.jewelrycraft.item.ItemNecklace; -import darkknight.jewelrycraft.item.ItemRing; - -public class ContainerJewelryTab extends Container -{ - /** - * @param player - * @param inv - * @param extra - */ - public ContainerJewelryTab(EntityPlayer player, IInventory inv, IInventory extra) - { - int x, y; - // Rings - for(x = 0; x <= 9; x++) - addSlotToContainer(new SlotRing(extra, x, 8 + x * 18, 7)); - // Bracelets - for(x = 10; x <= 13; x++) - addSlotToContainer(new SlotBracelet(extra, x, 8 + (x - 10) * 18, 26)); - // Necklaces - for(x = 14; x <= 16; x++) - addSlotToContainer(new SlotNecklace(extra, x, 8 + (x - 14) * 18, 45)); - // Earrings - addSlotToContainer(new SlotEarrings(extra, 17, 8, 64)); - // Hotbar - for(x = 0; x < 9; ++x) - addSlotToContainer(new Slot(inv, x, 17 + x * 18, 142)); - // Inventory - for(x = 0; x < 3; ++x) - for(y = 0; y < 9; ++y) - addSlotToContainer(new Slot(inv, 9 + y + x * 9, 17 + y * 18, 84 + x * 18)); - } - - /** - * @param player - * @return - */ - @Override - public boolean canInteractWith(EntityPlayer player) - { - return true; - } - - /** - * @param player - * @param slotID - * @return - */ - @Override - public ItemStack transferStackInSlot(EntityPlayer player, int slotID) - { - ItemStack itemstack = null; - Slot slot = (Slot)inventorySlots.get(slotID); - if (slot != null && slot.getHasStack()){ - ItemStack itemstack1 = slot.getStack(); - itemstack = itemstack1.copy(); - if (slotID >= 18){ - if (itemstack.getItem() instanceof ItemRing || (itemstack.getItem() instanceof IJewelryItem && ((IJewelryItem)itemstack.getItem()).type() == 0)){ - if (!mergeItemStack(itemstack, 0, 10, false) && !slot.getHasStack()) return null; - }else if (itemstack.getItem() instanceof ItemBracelet || (itemstack.getItem() instanceof IJewelryItem && ((IJewelryItem)itemstack.getItem()).type() == 1)){ - if (!mergeItemStack(itemstack, 10, 14, false) && !slot.getHasStack()) return null; - }else if (itemstack.getItem() instanceof ItemNecklace || (itemstack.getItem() instanceof IJewelryItem && ((IJewelryItem)itemstack.getItem()).type() == 2)){ - if (!mergeItemStack(itemstack, 14, 17, false) && !slot.getHasStack()) return null; - }else if (itemstack.getItem() instanceof ItemEarrings || (itemstack.getItem() instanceof IJewelryItem && ((IJewelryItem)itemstack.getItem()).type() == 3)){ - if (!mergeItemStack(itemstack, 17, 18, false) && !slot.getHasStack()) return null; - } - else{ - if (slotID < 27){ - if (!mergeItemStack(itemstack, 27, 36 + 18, false)) return null; - }else{ - if (!mergeItemStack(itemstack, 18, 27, false)) return null; - } - } - }else if (!mergeItemStack(itemstack, 18, inventorySlots.size(), false)) return null; - if (itemstack.stackSize == 0) slot.putStack(null); - else slot.onSlotChanged(); - if (itemstack.stackSize != itemstack.stackSize) slot.onPickupFromSlot(player, itemstack); - else return null; - } - return itemstack; - } -} +package darkknight.jewelrycraft.client.gui.container;
+
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.api.IJewelryItem;
+import darkknight.jewelrycraft.client.gui.container.slots.SlotBracelet;
+import darkknight.jewelrycraft.client.gui.container.slots.SlotEarrings;
+import darkknight.jewelrycraft.client.gui.container.slots.SlotNecklace;
+import darkknight.jewelrycraft.client.gui.container.slots.SlotRing;
+import darkknight.jewelrycraft.item.ItemBaseJewelry;
+import darkknight.jewelrycraft.item.ItemBracelet;
+import darkknight.jewelrycraft.item.ItemEarrings;
+import darkknight.jewelrycraft.item.ItemNecklace;
+import darkknight.jewelrycraft.item.ItemRing;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+
+public class ContainerJewelryTab extends Container
+{
+ public ContainerJewelryTab(EntityPlayer player, IInventory inv, IInventory extra)
+ {
+ int x, y;
+ // Rings
+ for(x = 0; x <= 9; x++)
+ addSlotToContainer(new SlotRing(extra, x, 8 + x * 18, 7));
+ // Bracelets
+ for(x = 10; x <= 13; x++)
+ addSlotToContainer(new SlotBracelet(extra, x, 8 + (x - 10) * 18, 26));
+ // Necklaces
+ for(x = 14; x <= 16; x++)
+ addSlotToContainer(new SlotNecklace(extra, x, 8 + (x - 14) * 18, 45));
+ // Earrings
+ addSlotToContainer(new SlotEarrings(extra, 17, 8, 64));
+ // Hotbar
+ for(x = 0; x < 9; ++x)
+ addSlotToContainer(new Slot(inv, x, 17 + x * 18, 142));
+ // Inventory
+ for(x = 0; x < 3; ++x)
+ for(y = 0; y < 9; ++y)
+ addSlotToContainer(new Slot(inv, 9 + y + x * 9, 17 + y * 18, 84 + x * 18));
+ }
+
+ @Override
+ public boolean canInteractWith(EntityPlayer player)
+ {
+ return true;
+ }
+
+ public ItemStack slotClick(int slotID, int j, int k, EntityPlayer player)
+ {
+ if (slotID >= 0 && slotID <= 17 && !player.worldObj.isRemote) {
+ try{
+ if (player.inventory.getItemStack() == null && inventoryItemStacks.get(slotID) != null && ((ItemStack)inventoryItemStacks.get(slotID)).getItem() instanceof ItemBaseJewelry)
+ ((ItemBaseJewelry)((ItemStack)inventoryItemStacks.get(slotID)).getItem()).onJewelryUnequipped((ItemStack)inventoryItemStacks.get(slotID));
+ else if (player.inventory.getItemStack() != null && player.inventory.getItemStack().getItem() instanceof ItemBaseJewelry && inventoryItemStacks.get(slotID) == null)
+ ((ItemBaseJewelry)player.inventory.getItemStack().getItem()).onJewelryEquipped(player.inventory.getItemStack());
+ if (player.inventory.getItemStack() == null && inventoryItemStacks.get(slotID) != null && ((ItemStack)inventoryItemStacks.get(slotID)).getItem() instanceof IJewelryItem)
+ ((IJewelryItem)((ItemStack)inventoryItemStacks.get(slotID)).getItem()).onJewelryUnequipped((ItemStack)inventoryItemStacks.get(slotID));
+ else if (player.inventory.getItemStack() != null && player.inventory.getItemStack().getItem() instanceof IJewelryItem && inventoryItemStacks.get(slotID) == null)
+ ((IJewelryItem)player.inventory.getItemStack().getItem()).onJewelryEquipped(player.inventory.getItemStack());
+ }
+ catch(Exception e){
+ JewelrycraftMod.logger.error("An error has occured while equipping an item.");
+ e.printStackTrace();
+ }
+ }
+ return super.slotClick(slotID, j, k, player);
+ }
+
+ @Override
+ public ItemStack transferStackInSlot(EntityPlayer player, int slotID)
+ {
+ ItemStack itemstack = null;
+ Slot slot = (Slot)inventorySlots.get(slotID);
+ if (slot != null && slot.getHasStack()) {
+ ItemStack itemstack1 = slot.getStack();
+ itemstack = itemstack1.copy();
+ if (slotID >= 18) {
+ if (itemstack.getItem() instanceof ItemRing || (itemstack.getItem() instanceof IJewelryItem && ((IJewelryItem)itemstack.getItem()).type() == 0)) {
+ if (!mergeItemStack(itemstack, 0, 10, false) && !slot.getHasStack())
+ return null;
+ }else if (itemstack.getItem() instanceof ItemBracelet || (itemstack.getItem() instanceof IJewelryItem && ((IJewelryItem)itemstack.getItem()).type() == 1)) {
+ if (!mergeItemStack(itemstack, 10, 14, false) && !slot.getHasStack())
+ return null;
+ }else if (itemstack.getItem() instanceof ItemNecklace || (itemstack.getItem() instanceof IJewelryItem && ((IJewelryItem)itemstack.getItem()).type() == 2)) {
+ if (!mergeItemStack(itemstack, 14, 17, false) && !slot.getHasStack())
+ return null;
+ }else if (itemstack.getItem() instanceof ItemEarrings || (itemstack.getItem() instanceof IJewelryItem && ((IJewelryItem)itemstack.getItem()).type() == 3)) {
+ if (!mergeItemStack(itemstack, 17, 18, false) && !slot.getHasStack())
+ return null;
+ }else{
+ if (slotID < 27) {
+ if (!mergeItemStack(itemstack, 27, 36 + 18, false))
+ return null;
+ }else{
+ if (!mergeItemStack(itemstack, 18, 27, false))
+ return null;
+ }
+ }
+ }else
+ if (!mergeItemStack(itemstack, 18, inventorySlots.size(), false))
+ return null;
+ if (itemstack.stackSize == 0)
+ slot.putStack(null);
+ else slot.onSlotChanged();
+ if (itemstack.stackSize != itemstack.stackSize)
+ slot.onPickupFromSlot(player, itemstack);
+ else return null;
+ }
+ return itemstack;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotBracelet.java b/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotBracelet.java index bab265b..cfd2e20 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotBracelet.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotBracelet.java @@ -1,53 +1,53 @@ -package darkknight.jewelrycraft.client.gui.container.slots; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; -import darkknight.jewelrycraft.api.IJewelryItem; -import darkknight.jewelrycraft.item.ItemBracelet; - -public class SlotBracelet extends Slot -{ - - /** - * @param tile - * @param slotID - * @param x - * @param y - */ - public SlotBracelet(IInventory tile, int slotID, int x, int y) - { - super(tile, slotID, x, y); - } - - /** - * @param stack - * @return - */ - @Override - public boolean isItemValid(ItemStack stack) - { - return stack.getItem() instanceof ItemBracelet || (stack.getItem() instanceof IJewelryItem && ((IJewelryItem)stack.getItem()).type() == 1); - } - - /** - * @param amount - * @return - */ - @Override - public ItemStack decrStackSize(int amount) - { - return super.decrStackSize(amount); - } - - /** - * @param player - * @return - */ - @Override - public boolean canTakeStack(EntityPlayer player) - { - return true; - } -} +package darkknight.jewelrycraft.client.gui.container.slots;
+
+import darkknight.jewelrycraft.api.IJewelryItem;
+import darkknight.jewelrycraft.item.ItemBracelet;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+
+public class SlotBracelet extends Slot
+{
+
+ /**
+ * @param tile
+ * @param slotID
+ * @param x
+ * @param y
+ */
+ public SlotBracelet(IInventory tile, int slotID, int x, int y)
+ {
+ super(tile, slotID, x, y);
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ @Override
+ public boolean isItemValid(ItemStack stack)
+ {
+ return stack.getItem() instanceof ItemBracelet || (stack.getItem() instanceof IJewelryItem && ((IJewelryItem)stack.getItem()).type() == 1);
+ }
+
+ /**
+ * @param amount
+ * @return
+ */
+ @Override
+ public ItemStack decrStackSize(int amount)
+ {
+ return super.decrStackSize(amount);
+ }
+
+ /**
+ * @param player
+ * @return
+ */
+ @Override
+ public boolean canTakeStack(EntityPlayer player)
+ {
+ return true;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotEarrings.java b/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotEarrings.java index c968fc0..e0603a3 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotEarrings.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotEarrings.java @@ -1,53 +1,53 @@ -package darkknight.jewelrycraft.client.gui.container.slots; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; -import darkknight.jewelrycraft.api.IJewelryItem; -import darkknight.jewelrycraft.item.ItemEarrings; - -public class SlotEarrings extends Slot -{ - - /** - * @param tile - * @param slotID - * @param x - * @param y - */ - public SlotEarrings(IInventory tile, int slotID, int x, int y) - { - super(tile, slotID, x, y); - } - - /** - * @param stack - * @return - */ - @Override - public boolean isItemValid(ItemStack stack) - { - return stack.getItem() instanceof ItemEarrings || (stack.getItem() instanceof IJewelryItem && ((IJewelryItem)stack.getItem()).type() == 3); - } - - /** - * @param amount - * @return - */ - @Override - public ItemStack decrStackSize(int amount) - { - return super.decrStackSize(amount); - } - - /** - * @param player - * @return - */ - @Override - public boolean canTakeStack(EntityPlayer player) - { - return true; - } -} +package darkknight.jewelrycraft.client.gui.container.slots;
+
+import darkknight.jewelrycraft.api.IJewelryItem;
+import darkknight.jewelrycraft.item.ItemEarrings;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+
+public class SlotEarrings extends Slot
+{
+
+ /**
+ * @param tile
+ * @param slotID
+ * @param x
+ * @param y
+ */
+ public SlotEarrings(IInventory tile, int slotID, int x, int y)
+ {
+ super(tile, slotID, x, y);
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ @Override
+ public boolean isItemValid(ItemStack stack)
+ {
+ return stack.getItem() instanceof ItemEarrings || (stack.getItem() instanceof IJewelryItem && ((IJewelryItem)stack.getItem()).type() == 3);
+ }
+
+ /**
+ * @param amount
+ * @return
+ */
+ @Override
+ public ItemStack decrStackSize(int amount)
+ {
+ return super.decrStackSize(amount);
+ }
+
+ /**
+ * @param player
+ * @return
+ */
+ @Override
+ public boolean canTakeStack(EntityPlayer player)
+ {
+ return true;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotNecklace.java b/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotNecklace.java index d102ba8..4b810be 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotNecklace.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotNecklace.java @@ -1,53 +1,53 @@ -package darkknight.jewelrycraft.client.gui.container.slots; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; -import darkknight.jewelrycraft.api.IJewelryItem; -import darkknight.jewelrycraft.item.ItemNecklace; - -public class SlotNecklace extends Slot -{ - - /** - * @param tile - * @param slotID - * @param x - * @param y - */ - public SlotNecklace(IInventory tile, int slotID, int x, int y) - { - super(tile, slotID, x, y); - } - - /** - * @param stack - * @return - */ - @Override - public boolean isItemValid(ItemStack stack) - { - return stack.getItem() instanceof ItemNecklace || (stack.getItem() instanceof IJewelryItem && ((IJewelryItem)stack.getItem()).type() == 2); - } - - /** - * @param amount - * @return - */ - @Override - public ItemStack decrStackSize(int amount) - { - return super.decrStackSize(amount); - } - - /** - * @param player - * @return - */ - @Override - public boolean canTakeStack(EntityPlayer player) - { - return true; - } -} +package darkknight.jewelrycraft.client.gui.container.slots;
+
+import darkknight.jewelrycraft.api.IJewelryItem;
+import darkknight.jewelrycraft.item.ItemNecklace;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+
+public class SlotNecklace extends Slot
+{
+
+ /**
+ * @param tile
+ * @param slotID
+ * @param x
+ * @param y
+ */
+ public SlotNecklace(IInventory tile, int slotID, int x, int y)
+ {
+ super(tile, slotID, x, y);
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ @Override
+ public boolean isItemValid(ItemStack stack)
+ {
+ return stack.getItem() instanceof ItemNecklace || (stack.getItem() instanceof IJewelryItem && ((IJewelryItem)stack.getItem()).type() == 2);
+ }
+
+ /**
+ * @param amount
+ * @return
+ */
+ @Override
+ public ItemStack decrStackSize(int amount)
+ {
+ return super.decrStackSize(amount);
+ }
+
+ /**
+ * @param player
+ * @return
+ */
+ @Override
+ public boolean canTakeStack(EntityPlayer player)
+ {
+ return true;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotRing.java b/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotRing.java index 6a7e956..4fb9265 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotRing.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/container/slots/SlotRing.java @@ -1,53 +1,53 @@ -package darkknight.jewelrycraft.client.gui.container.slots; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; -import darkknight.jewelrycraft.api.IJewelryItem; -import darkknight.jewelrycraft.item.ItemRing; - -public class SlotRing extends Slot -{ - - /** - * @param tile - * @param slotID - * @param x - * @param y - */ - public SlotRing(IInventory tile, int slotID, int x, int y) - { - super(tile, slotID, x, y); - } - - /** - * @param stack - * @return - */ - @Override - public boolean isItemValid(ItemStack stack) - { - return stack.getItem() instanceof ItemRing || (stack.getItem() instanceof IJewelryItem && ((IJewelryItem)stack.getItem()).type() == 0); - } - - /** - * @param amount - * @return - */ - @Override - public ItemStack decrStackSize(int amount) - { - return super.decrStackSize(amount); - } - - /** - * @param player - * @return - */ - @Override - public boolean canTakeStack(EntityPlayer player) - { - return true; - } -} +package darkknight.jewelrycraft.client.gui.container.slots;
+
+import darkknight.jewelrycraft.api.IJewelryItem;
+import darkknight.jewelrycraft.item.ItemRing;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+
+public class SlotRing extends Slot
+{
+
+ /**
+ * @param tile
+ * @param slotID
+ * @param x
+ * @param y
+ */
+ public SlotRing(IInventory tile, int slotID, int x, int y)
+ {
+ super(tile, slotID, x, y);
+ }
+
+ /**
+ * @param stack
+ * @return
+ */
+ @Override
+ public boolean isItemValid(ItemStack stack)
+ {
+ return stack.getItem() instanceof ItemRing || (stack.getItem() instanceof IJewelryItem && ((IJewelryItem)stack.getItem()).type() == 0);
+ }
+
+ /**
+ * @param amount
+ * @return
+ */
+ @Override
+ public ItemStack decrStackSize(int amount)
+ {
+ return super.decrStackSize(amount);
+ }
+
+ /**
+ * @param player
+ * @return
+ */
+ @Override
+ public boolean canTakeStack(EntityPlayer player)
+ {
+ return true;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/commands/JewelrycraftCommands.java b/src/main/java/darkknight/jewelrycraft/commands/JewelrycraftCommands.java index ebf7d8b..cc5f216 100644 --- a/src/main/java/darkknight/jewelrycraft/commands/JewelrycraftCommands.java +++ b/src/main/java/darkknight/jewelrycraft/commands/JewelrycraftCommands.java @@ -1,95 +1,83 @@ -/** - * - */ -package darkknight.jewelrycraft.commands; - -/** - * @author Sorin - * - */ -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import net.minecraft.command.CommandBase; -import net.minecraft.command.ICommandSender; -import net.minecraft.command.WrongUsageException; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.ChatComponentTranslation; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; -import darkknight.jewelrycraft.JewelrycraftMod; -import darkknight.jewelrycraft.api.Curse; -import darkknight.jewelrycraft.events.EntityEventHandler; -import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; -import darkknight.jewelrycraft.util.PlayerUtils; - -public class JewelrycraftCommands extends CommandBase -{ - private List aliases; - - public JewelrycraftCommands() - { - this.aliases = new ArrayList(); - this.aliases.add("jw"); - this.aliases.add("jewelry"); - } - - @Override - public String getCommandName() - { - return "jewelrycraft"; - } - - @Override - public String getCommandUsage(ICommandSender var1) - { - return "/jewelrycraft <addCursePoints:getCursePoints:setCursePoints> <user> [points]"; - } - - @Override - public List getCommandAliases() - { - return aliases; - } - - @Override - public void processCommand(ICommandSender commandSender, String[] astring) - { - if (astring.length == 0 || astring[0].equals("help")) throw new WrongUsageException(getCommandUsage(commandSender)); - if (astring[0].equals("getCursePoints")){ - EntityPlayerMP entityplayermp = getPlayer(commandSender, astring[1]); - commandSender.addChatMessage(new ChatComponentTranslation(Integer.toString(JewelrycraftUtil.getCursePoints(entityplayermp)))); - }else if (astring[0].equals("addCursePoints")){ - int points = CommandBase.parseIntWithMin(commandSender, astring[2], 0); - EntityPlayerMP entityplayermp = getPlayer(commandSender, astring[1]); - JewelrycraftUtil.addCursePoints(entityplayermp, points); - }else if (astring[0].equals("setCursePoints")){ - int points = CommandBase.parseIntWithMin(commandSender, astring[2], 0); - EntityPlayerMP entityplayermp = getPlayer(commandSender, astring[1]); - JewelrycraftUtil.addCursePoints(entityplayermp, points - JewelrycraftUtil.getCursePoints(entityplayermp)); - } - } - - @Override - public List addTabCompletionOptions(ICommandSender icommandsender, String[] astring) - { - final List<String> MATCHES = new LinkedList<String>(); - final String ARG_LC = astring[astring.length - 1].toLowerCase(); - if (astring.length == 1){ - if ("addCursePoints".toLowerCase().startsWith(ARG_LC)) MATCHES.add("addCursePoints"); - if ("getCursePoints".toLowerCase().startsWith(ARG_LC)) MATCHES.add("getCursePoints"); - if ("setCursePoints".toLowerCase().startsWith(ARG_LC)) MATCHES.add("setCursePoints"); - }else if (astring.length == 2){ - for(String un: MinecraftServer.getServer().getAllUsernames()) - if (un.toLowerCase().startsWith(ARG_LC)) MATCHES.add(un); - } - return MATCHES.isEmpty() ? null : MATCHES; - } -} +/**
+ *
+ */
+package darkknight.jewelrycraft.commands;
+
+/**
+ * @author Sorin
+ *
+ */
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import net.minecraft.command.CommandBase;
+import net.minecraft.command.ICommandSender;
+import net.minecraft.command.WrongUsageException;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.ChatComponentTranslation;
+
+public class JewelrycraftCommands extends CommandBase
+{
+ private List aliases;
+
+ public JewelrycraftCommands()
+ {
+ this.aliases = new ArrayList();
+ this.aliases.add("jw");
+ this.aliases.add("jewelry");
+ }
+
+ @Override
+ public String getCommandName()
+ {
+ return "jewelrycraft";
+ }
+
+ @Override
+ public String getCommandUsage(ICommandSender var1)
+ {
+ return "/jewelrycraft <addCursePoints:getCursePoints:setCursePoints> <user> [points]";
+ }
+
+ @Override
+ public List getCommandAliases()
+ {
+ return aliases;
+ }
+
+ @Override
+ public void processCommand(ICommandSender commandSender, String[] astring)
+ {
+ if (astring.length == 0 || astring[0].equals("help")) throw new WrongUsageException(getCommandUsage(commandSender));
+ if (astring[0].equals("getCursePoints")){
+ EntityPlayerMP entityplayermp = getPlayer(commandSender, astring[1]);
+ commandSender.addChatMessage(new ChatComponentTranslation(Integer.toString(JewelrycraftUtil.getCursePoints(entityplayermp))));
+ }else if (astring[0].equals("addCursePoints")){
+ int points = CommandBase.parseIntWithMin(commandSender, astring[2], 0);
+ EntityPlayerMP entityplayermp = getPlayer(commandSender, astring[1]);
+ JewelrycraftUtil.addCursePoints(entityplayermp, points);
+ }else if (astring[0].equals("setCursePoints")){
+ int points = CommandBase.parseIntWithMin(commandSender, astring[2], 0);
+ EntityPlayerMP entityplayermp = getPlayer(commandSender, astring[1]);
+ JewelrycraftUtil.addCursePoints(entityplayermp, points - JewelrycraftUtil.getCursePoints(entityplayermp));
+ }
+ }
+
+ @Override
+ public List addTabCompletionOptions(ICommandSender icommandsender, String[] astring)
+ {
+ final List<String> MATCHES = new LinkedList<String>();
+ final String ARG_LC = astring[astring.length - 1].toLowerCase();
+ if (astring.length == 1){
+ if ("addCursePoints".toLowerCase().startsWith(ARG_LC)) MATCHES.add("addCursePoints");
+ if ("getCursePoints".toLowerCase().startsWith(ARG_LC)) MATCHES.add("getCursePoints");
+ if ("setCursePoints".toLowerCase().startsWith(ARG_LC)) MATCHES.add("setCursePoints");
+ }else if (astring.length == 2){
+ for(String un: MinecraftServer.getServer().getAllUsernames())
+ if (un.toLowerCase().startsWith(ARG_LC)) MATCHES.add(un);
+ }
+ return MATCHES.isEmpty() ? null : MATCHES;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/config/ConfigGui.java b/src/main/java/darkknight/jewelrycraft/config/ConfigGui.java index bb40ed8..b337f06 100644 --- a/src/main/java/darkknight/jewelrycraft/config/ConfigGui.java +++ b/src/main/java/darkknight/jewelrycraft/config/ConfigGui.java @@ -1,26 +1,26 @@ -package darkknight.jewelrycraft.config; - -import cpw.mods.fml.client.config.GuiConfig; -import cpw.mods.fml.client.config.IConfigElement; -import net.minecraft.client.gui.GuiScreen; -import net.minecraftforge.common.config.ConfigElement; -import java.util.ArrayList; -import java.util.List; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigGui extends GuiConfig -{ - public ConfigGui(GuiScreen parent) - { - super(parent, getElements(), Variables.MODID, Variables.MODID, false, false, Variables.MODNAME + " Config"); - } - - @SuppressWarnings ({"rawtypes"}) - private static List<IConfigElement> getElements() - { - List<IConfigElement> list = new ArrayList<IConfigElement>(ConfigHandler.categories.length); - for(String category: ConfigHandler.categories) - list.add(new ConfigElement(ConfigHandler.INSTANCE.config.getCategory(category))); - return list; - } +package darkknight.jewelrycraft.config;
+
+import java.util.ArrayList;
+import java.util.List;
+import cpw.mods.fml.client.config.GuiConfig;
+import cpw.mods.fml.client.config.IConfigElement;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.gui.GuiScreen;
+import net.minecraftforge.common.config.ConfigElement;
+
+public class ConfigGui extends GuiConfig
+{
+ public ConfigGui(GuiScreen parent)
+ {
+ super(parent, getElements(), Variables.MODID, Variables.MODID, false, false, Variables.MODNAME + " Config");
+ }
+
+ @SuppressWarnings ({"rawtypes"})
+ private static List<IConfigElement> getElements()
+ {
+ List<IConfigElement> list = new ArrayList<IConfigElement>(ConfigHandler.categories.length);
+ for(String category: ConfigHandler.categories)
+ list.add(new ConfigElement(ConfigHandler.INSTANCE.config.getCategory(category)));
+ return list;
+ }
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/config/ConfigGuiFactory.java b/src/main/java/darkknight/jewelrycraft/config/ConfigGuiFactory.java index d06efc3..31d85a3 100644 --- a/src/main/java/darkknight/jewelrycraft/config/ConfigGuiFactory.java +++ b/src/main/java/darkknight/jewelrycraft/config/ConfigGuiFactory.java @@ -1,31 +1,31 @@ -package darkknight.jewelrycraft.config; - -import cpw.mods.fml.client.IModGuiFactory; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiScreen; -import java.util.Set; - -public class ConfigGuiFactory implements IModGuiFactory -{ - @Override - public void initialize(Minecraft minecraftInstance) - {} - - @Override - public Class<? extends GuiScreen> mainConfigGuiClass() - { - return ConfigGui.class; - } - - @Override - public Set<RuntimeOptionCategoryElement> runtimeGuiCategories() - { - return null; - } - - @Override - public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element) - { - return null; - } +package darkknight.jewelrycraft.config;
+
+import java.util.Set;
+import cpw.mods.fml.client.IModGuiFactory;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.GuiScreen;
+
+public class ConfigGuiFactory implements IModGuiFactory
+{
+ @Override
+ public void initialize(Minecraft minecraftInstance)
+ {}
+
+ @Override
+ public Class<? extends GuiScreen> mainConfigGuiClass()
+ {
+ return ConfigGui.class;
+ }
+
+ @Override
+ public Set<RuntimeOptionCategoryElement> runtimeGuiCategories()
+ {
+ return null;
+ }
+
+ @Override
+ public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element)
+ {
+ return null;
+ }
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/config/ConfigHandler.java b/src/main/java/darkknight/jewelrycraft/config/ConfigHandler.java index 290c8ae..d5431bc 100644 --- a/src/main/java/darkknight/jewelrycraft/config/ConfigHandler.java +++ b/src/main/java/darkknight/jewelrycraft/config/ConfigHandler.java @@ -1,11 +1,10 @@ package darkknight.jewelrycraft.config;
-import java.io.File;
-import net.minecraftforge.common.config.Configuration;
import cpw.mods.fml.client.event.ConfigChangedEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraftforge.common.config.Configuration;
public class ConfigHandler
{
@@ -33,6 +32,10 @@ public class ConfigHandler public static int MAX_BLACK_HEARTS_PICKUP;
public static int MAX_BLUE_HEARTS_PICKUP;
+ public static boolean CAN_BLUE_HEARTS_SPAWN;
+ public static boolean CAN_BLACK_HEARTS_SPAWN;
+ public static boolean CAN_HOLY_HEARTS_SPAWN;
+ public static boolean CAN_RED_HEARTS_SPAWN;
public static boolean CRYSTAL_GLOW;
public static boolean CRYSTAL_PARTICLES;
@@ -56,7 +59,8 @@ public class ConfigHandler public static boolean ORE_GEN = true;
public static boolean CRYSTAL_GEN = true;
public static boolean STRUCTURES[] = {true, true, true, true, true, true};
-
+ public static int STRUCTURES_SPAWN_CHANCE[] = {6, 5, 7, 10, 6, 10};
+
public void loadConfig(FMLPreInitializationEvent event)
{
config = new Configuration(event.getSuggestedConfigurationFile(),true);
@@ -69,7 +73,7 @@ public class ConfigHandler INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled.");
INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted.");
GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified.");
- RITUAL_TIME = config.getInt( "Ritual Time", categories[0], 1000, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for the ritual to end.");
+ RITUAL_TIME = config.getInt( "Ritual Time", categories[0], 500, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for the ritual to end.");
HEART_DESPAWN_TIME = config.getInt( "Hearts Despawn Time", categories[0], 900, 20, Integer.MAX_VALUE, "This sets the number of ticks it takes for hearts to despawn, 20=1 second");
GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests.");
@@ -91,12 +95,18 @@ public class ConfigHandler JEWELRY_INFO = config.getBoolean("Jewelry Info", categories[2], true, "If false, then extra info won't be show when hovering over a jewelery.");
MAX_BLACK_HEARTS_PICKUP = config.getInt("Max Black Hearts Pickup", categories[2], Integer.MAX_VALUE, 0, Integer.MAX_VALUE, "Determines how many black hearts can a player pick up.");
MAX_BLUE_HEARTS_PICKUP = config.getInt("Max Blue Hearts Pickup", categories[2], Integer.MAX_VALUE, 0, Integer.MAX_VALUE, "Determines how many blue hearts can a player pick up.");
+ CAN_BLUE_HEARTS_SPAWN = config.getBoolean("Can Blue Hearts Spawn", categories[2], true, "Determines if blue hearts can spawn.");
+ CAN_BLACK_HEARTS_SPAWN = config.getBoolean("Can Black Hearts Spawn", categories[2], true, "Determines if black hearts can spawn.");
+ CAN_HOLY_HEARTS_SPAWN = config.getBoolean("Can Holy Hearts Spawn", categories[2], true, "Determines if holy hearts can spawn.");
+ CAN_RED_HEARTS_SPAWN = config.getBoolean("Can Red Hearts Spawn", categories[2], true, "Determines if red hearts can spawn.");
ENABLE_WORLD_GEN = config.getBoolean("World Generation", categories[3], true, "If false, nothing will generate (this includes ore)");
ORE_GEN = config.getBoolean("Ore Generation", categories[3], true, "If false, ores won't generate");
CRYSTAL_GEN = config.getBoolean("Crystal Generation", categories[3], true, "If false, crystals won't generate");
for(int i = 0; i < STRUCTURES.length; i++)
STRUCTURES[i] = config.getBoolean("Structure "+(i+1)+" Generation", categories[3], true, "If false, structure no."+(i+1)+" won't generate");
+ for(int i = 0; i < STRUCTURES.length; i++)
+ STRUCTURES_SPAWN_CHANCE[i] = config.getInt("Structure "+(i+1)+" Spawn Chance", categories[3], STRUCTURES_SPAWN_CHANCE[i], 1, Integer.MAX_VALUE, "Determines the chance for structure no."+(i+1)+" to generate. Lower = higher chance and vice versa.");
CURSES_ENABLED = config.getBoolean("Curses", categories[4], true, "If set to false curses will be deactivated.");
CURSE_ROTTEN_HEART = config.getBoolean("Rotten Heart", categories[4], true, "If set to false this curse will be deactivated.");
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java b/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java index 47a7667..800718c 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java @@ -1,7 +1,6 @@ package darkknight.jewelrycraft.curses;
import java.util.Random;
-
import darkknight.jewelrycraft.api.Curse;
import darkknight.jewelrycraft.config.ConfigHandler;
import darkknight.jewelrycraft.util.Variables;
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseDeathsTouch.java b/src/main/java/darkknight/jewelrycraft/curses/CurseDeathsTouch.java index 3e4da7f..92e2dfa 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseDeathsTouch.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseDeathsTouch.java @@ -1,22 +1,10 @@ package darkknight.jewelrycraft.curses;
-import darkknight.jewelrycraft.JewelrycraftMod;
import darkknight.jewelrycraft.api.Curse;
import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.entities.EntityHalfHeart;
-import darkknight.jewelrycraft.entities.EntityHeart;
-import darkknight.jewelrycraft.network.PacketSendClientPlayerInfo;
-import darkknight.jewelrycraft.network.PacketSendServerPlayersInfo;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-import darkknight.jewelrycraft.util.PlayerUtils;
import darkknight.jewelrycraft.util.Variables;
import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.SharedMonsterAttributes;
-import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.DamageSource;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java b/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java index 9a1901b..5e535b8 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java @@ -4,8 +4,6 @@ import darkknight.jewelrycraft.api.Curse; import darkknight.jewelrycraft.config.ConfigHandler;
import darkknight.jewelrycraft.util.Variables;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java b/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java index 8f3272a..3d0f582 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java @@ -4,19 +4,17 @@ package darkknight.jewelrycraft.curses;
import java.util.ArrayList;
-
+import darkknight.jewelrycraft.api.Curse;
+import darkknight.jewelrycraft.config.ConfigHandler;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.event.world.BlockEvent;
-import darkknight.jewelrycraft.api.Curse;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.util.Variables;
/**
* @author Sorin
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java b/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java index 600548f..4f91244 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java @@ -1,26 +1,9 @@ package darkknight.jewelrycraft.curses;
import org.lwjgl.opengl.GL11;
-
-import cpw.mods.fml.common.FMLCommonHandler;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.SharedMonsterAttributes;
-import net.minecraft.entity.monster.EntityMob;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.World;
-import net.minecraftforge.client.event.RenderPlayerEvent;
-import net.minecraftforge.event.entity.living.LivingAttackEvent;
import darkknight.jewelrycraft.JewelrycraftMod;
import darkknight.jewelrycraft.api.Curse;
import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.damage.DamageSourceList;
import darkknight.jewelrycraft.entities.EntityHalfHeart;
import darkknight.jewelrycraft.entities.EntityHeart;
import darkknight.jewelrycraft.entities.renders.RenderHelper;
@@ -30,6 +13,17 @@ import darkknight.jewelrycraft.network.PacketSendServerPlayersInfo; import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.PlayerUtils;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.SharedMonsterAttributes;
+import net.minecraft.entity.monster.EntityMob;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.StatCollector;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import net.minecraftforge.event.entity.living.LivingAttackEvent;
public class CurseInfamy extends Curse
{
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseList.java b/src/main/java/darkknight/jewelrycraft/curses/CurseList.java index ae86a15..4a33f67 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseList.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseList.java @@ -2,7 +2,6 @@ package darkknight.jewelrycraft.curses; import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import darkknight.jewelrycraft.api.Curse;
-import darkknight.jewelrycraft.config.ConfigHandler;
import darkknight.jewelrycraft.util.Variables;
public class CurseList {
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java b/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java index 035d6b6..86d9622 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java @@ -1,13 +1,20 @@ package darkknight.jewelrycraft.curses;
import java.util.Random;
-
+import darkknight.jewelrycraft.api.Curse;
+import darkknight.jewelrycraft.block.BlockList;
+import darkknight.jewelrycraft.config.ConfigHandler;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.tileentity.TileEntityMidasTouch;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.block.Block;
import net.minecraft.block.BlockCompressed;
import net.minecraft.block.BlockPressurePlate;
import net.minecraft.block.BlockPressurePlateWeighted;
import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
@@ -24,15 +31,6 @@ import net.minecraft.util.MathHelper; import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
-import darkknight.jewelrycraft.api.Curse;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.entities.EntityHalfHeart;
-import darkknight.jewelrycraft.entities.EntityHeart;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.tileentity.TileEntityMidasTouch;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.Variables;
public class CurseMidasTouch extends Curse
{
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java b/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java index 1ac9361..c15e25a 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java @@ -1,7 +1,6 @@ package darkknight.jewelrycraft.curses;
import org.lwjgl.opengl.GL11;
-
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import darkknight.jewelrycraft.achievements.AchievementsList;
@@ -13,7 +12,6 @@ import darkknight.jewelrycraft.util.Variables; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.player.EntityPlayer;
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java b/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java index 32ea0fb..831f5c5 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java @@ -7,9 +7,6 @@ import java.util.ArrayList; import darkknight.jewelrycraft.api.Curse;
import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.entities.EntityHalfHeart;
-import darkknight.jewelrycraft.entities.EntityHeart;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.Variables;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
@@ -17,7 +14,6 @@ import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityXPOrb;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
-import net.minecraft.util.MathHelper;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
@@ -33,34 +29,21 @@ public class CurseRabbitsPaw extends Curse {
for(EntityItem item: drops){
ItemStack drop = item.getEntityItem().copy();
- drop.stackSize = this.rand.nextInt(4);
+ drop.stackSize = this.rand.nextInt(4);
if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F);
}
}
public void entityDeathAction(World world, EntityLivingBase target, EntityPlayer player)
{
- String[] types = {"Red", "Blue", "White", "Black"};
- String type = types[rand.nextInt(4)];
- if (rand.nextInt(3) == 0 && target.getCreatureAttribute() != JewelrycraftUtil.HEART){
- if (type == "White"){
- EntityHeart h = new EntityHalfHeart(world);
- h.setType(type);
- h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
- world.spawnEntityInWorld(h);
- }else{
- for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){
- EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)};
- EntityHeart h = hearts[rand.nextInt(2)];
- h.setType(type);
- h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
- world.spawnEntityInWorld(h);
- }
- }
- }
if (rand.nextInt(3) == 0) world.spawnEntityInWorld(new EntityXPOrb(world, target.posX, target.posY, target.posZ, 1 + rand.nextInt(40)));
}
+ public int luck()
+ {
+ return 10;
+ }
+
public String getDescription()
{
return StatCollector.translateToLocal("curse." + Variables.MODID + ".rabbitspaw.description");
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java b/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java index e2d278e..b00552e 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java @@ -3,14 +3,14 @@ */
package darkknight.jewelrycraft.curses;
+import darkknight.jewelrycraft.api.Curse;
+import darkknight.jewelrycraft.config.ConfigHandler;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.MathHelper;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
-import darkknight.jewelrycraft.api.Curse;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.util.Variables;
/**
* @author Sorin
diff --git a/src/main/java/darkknight/jewelrycraft/damage/DamageSourceList.java b/src/main/java/darkknight/jewelrycraft/damage/DamageSourceList.java index 5b349d1..57735f1 100644 --- a/src/main/java/darkknight/jewelrycraft/damage/DamageSourceList.java +++ b/src/main/java/darkknight/jewelrycraft/damage/DamageSourceList.java @@ -1,7 +1,7 @@ package darkknight.jewelrycraft.damage;
-import net.minecraft.util.DamageSource;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+import net.minecraft.util.DamageSource;
/**
* @author Sorin
diff --git a/src/main/java/darkknight/jewelrycraft/effects/EffectBlazePowder.java b/src/main/java/darkknight/jewelrycraft/effects/EffectBlazePowder.java index 4e0a14b..678aa51 100644 --- a/src/main/java/darkknight/jewelrycraft/effects/EffectBlazePowder.java +++ b/src/main/java/darkknight/jewelrycraft/effects/EffectBlazePowder.java @@ -1,22 +1,19 @@ package darkknight.jewelrycraft.effects;
+import darkknight.jewelrycraft.api.ModifierEffects;
+import darkknight.jewelrycraft.item.ItemBracelet;
+import darkknight.jewelrycraft.item.ItemEarrings;
+import darkknight.jewelrycraft.item.ItemNecklace;
+import darkknight.jewelrycraft.item.ItemRing;
+import darkknight.jewelrycraft.util.JewelryNBT;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
-import darkknight.jewelrycraft.api.ModifierEffects;
-import darkknight.jewelrycraft.item.ItemBracelet;
-import darkknight.jewelrycraft.item.ItemEarrings;
-import darkknight.jewelrycraft.item.ItemNecklace;
-import darkknight.jewelrycraft.item.ItemRing;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.PlayerUtils;
-import darkknight.jewelrycraft.util.Variables;
public class EffectBlazePowder extends ModifierEffects {
public EffectBlazePowder() {
@@ -55,7 +52,6 @@ public class EffectBlazePowder extends ModifierEffects { }
public boolean onPlayerAttackedCacellable(ItemStack item, EntityPlayer player, DamageSource source, Item jewelry, float amount) {
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
if (jewelry instanceof ItemEarrings && rand.nextInt(4) == 0 && source == DamageSource.lava || source == DamageSource.inFire || source == DamageSource.onFire) {
// Positive for earrings
int stackSize = JewelryNBT.modifierSize(item, modifier);
diff --git a/src/main/java/darkknight/jewelrycraft/effects/EffectEnderEye.java b/src/main/java/darkknight/jewelrycraft/effects/EffectEnderEye.java index 4457961..4ae0951 100644 --- a/src/main/java/darkknight/jewelrycraft/effects/EffectEnderEye.java +++ b/src/main/java/darkknight/jewelrycraft/effects/EffectEnderEye.java @@ -1,5 +1,13 @@ package darkknight.jewelrycraft.effects;
+import cpw.mods.fml.relauncher.ReflectionHelper;
+import darkknight.jewelrycraft.api.ModifierEffects;
+import darkknight.jewelrycraft.item.ItemBracelet;
+import darkknight.jewelrycraft.item.ItemEarrings;
+import darkknight.jewelrycraft.item.ItemNecklace;
+import darkknight.jewelrycraft.item.ItemRing;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.block.BlockOre;
import net.minecraft.client.Minecraft;
import net.minecraft.client.settings.GameSettings.Options;
@@ -8,6 +16,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.ChatComponentText;
@@ -17,29 +26,30 @@ import net.minecraft.util.StatCollector; import net.minecraft.util.Vec3;
import net.minecraft.world.ChunkPosition;
import net.minecraft.world.biome.BiomeGenBase;
-import cpw.mods.fml.relauncher.ReflectionHelper;
-import darkknight.jewelrycraft.api.ModifierEffects;
-import darkknight.jewelrycraft.item.ItemBracelet;
-import darkknight.jewelrycraft.item.ItemEarrings;
-import darkknight.jewelrycraft.item.ItemNecklace;
-import darkknight.jewelrycraft.item.ItemRing;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.Variables;
public class EffectEnderEye extends ModifierEffects
{
- private boolean originalVD = false;
- private float originalViewDistance;
-
public EffectEnderEye()
{
super(new ItemStack(Items.ender_eye));
}
+ public void onJewelryEquipped(ItemStack item, Item jewelry)
+ {
+ if (jewelry instanceof ItemRing)
+ setViewDistance(item, Minecraft.getMinecraft().gameSettings.renderDistanceChunks <= 2 ? 10 : Minecraft.getMinecraft().gameSettings.renderDistanceChunks);
+ }
+
+ public void onJewelryUnequipped(ItemStack item, Item jewelry)
+ {
+ if (jewelry instanceof ItemRing)
+ Minecraft.getMinecraft().gameSettings.setOptionFloatValue(Options.RENDER_DISTANCE, getViewDistance(item));
+ }
+
@Override
public void action(ItemStack item, EntityPlayer player, Item jewelry)
{
- if (jewelry instanceof ItemEarrings && !player.worldObj.isRemote){
+ if (jewelry instanceof ItemEarrings && !player.worldObj.isRemote) {
for(Object e: player.worldObj.getEntitiesWithinAABB(EntityEnderman.class, player.boundingBox.expand(100D, 0D, 100D))){
EntityEnderman enderman = (EntityEnderman)e;
ReflectionHelper.setPrivateValue(EntityEnderman.class, enderman, -1, "stareTimer", "field_70826_g");
@@ -48,34 +58,40 @@ public class EffectEnderEye extends ModifierEffects double d0 = vec31.lengthVector();
vec31 = vec31.normalize();
double d1 = vec3.dotProduct(vec31);
- if (d1 > 1.0D - 0.025D / d0 && player.canEntityBeSeen(enderman)){
+ if (d1 > 1.0D - 0.025D / d0 && player.canEntityBeSeen(enderman)) {
// Positive earrings
- if (rand.nextInt(JewelryNBT.numberOfModifiers(item)) == 0) enderman.setTarget(null);
+ if (rand.nextInt(JewelryNBT.numberOfModifiers(item)) == 0)
+ enderman.setTarget(null);
// Negative earrings
- if (!player.isPotionActive(Potion.confusion) || player.getActivePotionEffect(Potion.confusion).getDuration() <= 80) player.addPotionEffect(new PotionEffect(Potion.confusion.id, 300, 2 + JewelryNBT.numberOfModifiers(item) / 4));
+ if (!player.isPotionActive(Potion.confusion) || player.getActivePotionEffect(Potion.confusion).getDuration() <= 80)
+ player.addPotionEffect(new PotionEffect(Potion.confusion.id, 300, 2 + JewelryNBT.numberOfModifiers(item) / 4));
}
}
}
// Positive necklace
- if (jewelry instanceof ItemNecklace && !player.worldObj.isRemote){
+ if (jewelry instanceof ItemNecklace && !player.worldObj.isRemote) {
ChunkPosition chunkposition = player.worldObj.findClosestStructure("Stronghold", (int)player.posX, (int)player.posY, (int)player.posZ);
- if (chunkposition != null){
+ if (chunkposition != null) {
Minecraft.getMinecraft().thePlayer.motionX += 0.01D * Math.signum((double)chunkposition.chunkPosX - player.posX) * (rand.nextInt(JewelryNBT.numberOfModifiers(item)) == 0 ? 1 : -1);
Minecraft.getMinecraft().thePlayer.motionZ += 0.01D * Math.signum((double)chunkposition.chunkPosZ - player.posZ) * (rand.nextInt(JewelryNBT.numberOfModifiers(item)) == 0 ? 1 : -1);
}
}
// Positive bracelet
- if (jewelry instanceof ItemBracelet && !player.worldObj.isRemote && player.worldObj.getBiomeGenForCoords((int)player.posX, (int)player.posZ) == BiomeGenBase.sky && (!player.isPotionActive(Potion.moveSpeed) || player.getActivePotionEffect(Potion.moveSpeed).getDuration() < 30)) player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 150 - JewelryNBT.numberOfModifiers(item) * 10, 2 - JewelryNBT.numberOfModifiers(item) / 5));
+ if (jewelry instanceof ItemBracelet && !player.worldObj.isRemote && player.worldObj.getBiomeGenForCoords((int)player.posX, (int)player.posZ) == BiomeGenBase.sky && (!player.isPotionActive(Potion.moveSpeed) || player.getActivePotionEffect(Potion.moveSpeed).getDuration() < 30))
+ player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 150 - JewelryNBT.numberOfModifiers(item) * 10, 2 - JewelryNBT.numberOfModifiers(item) / 5));
// Negative bracelet
- if (jewelry instanceof ItemBracelet && !player.worldObj.isRemote && rand.nextInt(520 - JewelryNBT.numberOfModifiers(item) * 20) == 15) player.setPositionAndUpdate(player.posX + rand.nextInt(30) * (rand.nextBoolean() ? -1 : 1), player.posY, player.posZ + rand.nextInt(30) * (rand.nextBoolean() ? -1 : 1));
+ if (jewelry instanceof ItemBracelet && !player.worldObj.isRemote && rand.nextInt(520 - JewelryNBT.numberOfModifiers(item) * 20) == 15)
+ player.setPositionAndUpdate(player.posX + rand.nextInt(30) * (rand.nextBoolean() ? -1 : 1), player.posY, player.posZ + rand.nextInt(30) * (rand.nextBoolean() ? -1 : 1));
// Negative ring
- if (jewelry instanceof ItemRing) Minecraft.getMinecraft().gameSettings.setOptionFloatValue(Options.RENDER_DISTANCE, 2.2F - JewelryNBT.numberOfModifiers(item) * 0.1F);
+ if (jewelry instanceof ItemRing && Minecraft.getMinecraft().gameSettings.renderDistanceChunks != 2.2F - JewelryNBT.numberOfModifiers(item) * 0.1F)
+ Minecraft.getMinecraft().gameSettings.setOptionFloatValue(Options.RENDER_DISTANCE, 2.2F - JewelryNBT.numberOfModifiers(item) * 0.1F);
// Positive ring
- if (jewelry instanceof ItemRing && rand.nextInt(180 + JewelryNBT.numberOfModifiers(item)*20) == 12){
+ if (jewelry instanceof ItemRing && rand.nextInt(180 + JewelryNBT.numberOfModifiers(item) * 20) == 12) {
for(int i = (int)player.posX - 2; i <= (int)player.posX + 2; i++)
for(int j = (int)player.posY - 2; j <= (int)player.posY + 2; j++)
for(int k = (int)player.posZ - 2; k <= (int)player.posZ + 2; k++)
- if (player.worldObj.getBlock(i, j, k) instanceof BlockOre) player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.GRAY + StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".effect.endereye.1")+" " + player.worldObj.getBlock(i, j, k).getLocalizedName() + " "+StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".effect.endereye.2")));
+ if (player.worldObj.getBlock(i, j, k) instanceof BlockOre)
+ player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.GRAY + StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".effect.endereye.1") + " " + player.worldObj.getBlock(i, j, k).getLocalizedName() + " " + StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".effect.endereye.2")));
}
}
@@ -83,6 +99,32 @@ public class EffectEnderEye extends ModifierEffects public void onPlayerAttacked(ItemStack item, EntityPlayer player, DamageSource source, Item jewelry, float amount)
{
// Negative necklace
- if (jewelry instanceof ItemNecklace && !player.worldObj.isRemote) player.addPotionEffect(new PotionEffect(Potion.blindness.id, 100 + JewelryNBT.numberOfModifiers(item)*30, 1));
+ if (jewelry instanceof ItemNecklace && !player.worldObj.isRemote)
+ player.addPotionEffect(new PotionEffect(Potion.blindness.id, 100 + JewelryNBT.numberOfModifiers(item) * 30, 1));
+ }
+
+ public static void setViewDistance(ItemStack item, int viewDistance)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound())
+ itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ itemStackData.setInteger("viewDistance", viewDistance);
+ }
+
+ public static int getViewDistance(ItemStack item)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound())
+ itemStackData = item.getTagCompound();
+ else{
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ int i = itemStackData.getInteger("viewDistance");
+ return i;
}
}
diff --git a/src/main/java/darkknight/jewelrycraft/effects/EffectEnderPearl.java b/src/main/java/darkknight/jewelrycraft/effects/EffectEnderPearl.java index 0ea08c7..33a765b 100644 --- a/src/main/java/darkknight/jewelrycraft/effects/EffectEnderPearl.java +++ b/src/main/java/darkknight/jewelrycraft/effects/EffectEnderPearl.java @@ -2,6 +2,11 @@ package darkknight.jewelrycraft.effects; import java.util.Iterator;
import java.util.List;
+import darkknight.jewelrycraft.api.ModifierEffects;
+import darkknight.jewelrycraft.item.ItemBracelet;
+import darkknight.jewelrycraft.item.ItemEarrings;
+import darkknight.jewelrycraft.item.ItemNecklace;
+import darkknight.jewelrycraft.item.ItemRing;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityTNTPrimed;
import net.minecraft.entity.monster.EntityEnderman;
@@ -10,19 +15,10 @@ import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
-import darkknight.jewelrycraft.api.ModifierEffects;
-import darkknight.jewelrycraft.item.ItemBracelet;
-import darkknight.jewelrycraft.item.ItemEarrings;
-import darkknight.jewelrycraft.item.ItemNecklace;
-import darkknight.jewelrycraft.item.ItemRing;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.PlayerUtils;
-import darkknight.jewelrycraft.util.Variables;
public class EffectEnderPearl extends ModifierEffects
{
@@ -34,7 +30,6 @@ public class EffectEnderPearl extends ModifierEffects @Override
public void action(ItemStack item, EntityPlayer player, Item jewelry)
{
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
if (jewelry instanceof ItemEarrings){
AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 2.0D, 2.0D);
List list = player.worldObj.getEntitiesWithinAABB(EntityArrow.class, axisalignedbb);
@@ -62,7 +57,6 @@ public class EffectEnderPearl extends ModifierEffects @Override
public void onPlayerAttacked(ItemStack item, EntityPlayer player, DamageSource source, Item jewelry, float amount)
{
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
// Positive Necklace
if (jewelry instanceof ItemNecklace && source.getEntity() != null) source.getEntity().attackEntityFrom(source, amount);
// Positive bracelet
@@ -75,8 +69,6 @@ public class EffectEnderPearl extends ModifierEffects public void onEntityAttacked(ItemStack item, EntityPlayer player, Entity target, Item jewelry, float amount)
{
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
- NBTTagCompound enemyData = target.getEntityData();
if (jewelry instanceof ItemRing){
// Negative ring
if (target instanceof EntityEnderman) player.addPotionEffect(new PotionEffect(Potion.weakness.id, 400, 2, true));
diff --git a/src/main/java/darkknight/jewelrycraft/effects/EffectFeather.java b/src/main/java/darkknight/jewelrycraft/effects/EffectFeather.java index 8efebcd..2ffaa11 100644 --- a/src/main/java/darkknight/jewelrycraft/effects/EffectFeather.java +++ b/src/main/java/darkknight/jewelrycraft/effects/EffectFeather.java @@ -2,6 +2,15 @@ package darkknight.jewelrycraft.effects; import java.util.Iterator;
import java.util.List;
+import darkknight.jewelrycraft.api.ModifierEffects;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.item.ItemBracelet;
+import darkknight.jewelrycraft.item.ItemEarrings;
+import darkknight.jewelrycraft.item.ItemNecklace;
+import darkknight.jewelrycraft.item.ItemRing;
+import darkknight.jewelrycraft.potions.PotionList;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
@@ -17,16 +26,6 @@ import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
-import darkknight.jewelrycraft.api.ModifierEffects;
-import darkknight.jewelrycraft.damage.DamageSourceList;
-import darkknight.jewelrycraft.item.ItemBracelet;
-import darkknight.jewelrycraft.item.ItemEarrings;
-import darkknight.jewelrycraft.item.ItemNecklace;
-import darkknight.jewelrycraft.item.ItemRing;
-import darkknight.jewelrycraft.potions.PotionList;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.PlayerUtils;
-import darkknight.jewelrycraft.util.Variables;
public class EffectFeather extends ModifierEffects
{
@@ -38,7 +37,6 @@ public class EffectFeather extends ModifierEffects @Override
public void action(ItemStack item, EntityPlayer player, Item jewelry)
{
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
// Positive earrings
if (jewelry instanceof ItemEarrings){
AxisAlignedBB axisalignedbb = player.boundingBox.expand(1.0D, 1.0D, 1.0D);
@@ -63,7 +61,6 @@ public class EffectFeather extends ModifierEffects @Override
public boolean onEntityAttackedCacellable(ItemStack item, EntityPlayer player, Entity target, Item jewelry, float amount)
{
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
NBTTagCompound enemyData = target.getEntityData();
if (jewelry instanceof ItemRing && !player.worldObj.isRemote){
if (enemyData.getInteger("reAttacked") == 0){
@@ -82,7 +79,6 @@ public class EffectFeather extends ModifierEffects @Override
public boolean onPlayerAttackedCacellable(ItemStack item, EntityPlayer player, DamageSource source, Item jewelry, float amount)
{
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
// Positive necklace
if (jewelry instanceof ItemNecklace && rand.nextInt(3 + JewelryNBT.numberOfModifiers(item)) == 0 && source != DamageSourceList.weak && source != DamageSource.inFire && source != DamageSource.onFire && source != DamageSource.lava){
player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.GRAY + StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".effect.feather")));
diff --git a/src/main/java/darkknight/jewelrycraft/effects/EffectObsidian.java b/src/main/java/darkknight/jewelrycraft/effects/EffectObsidian.java index 0a7f268..f13b272 100644 --- a/src/main/java/darkknight/jewelrycraft/effects/EffectObsidian.java +++ b/src/main/java/darkknight/jewelrycraft/effects/EffectObsidian.java @@ -1,14 +1,5 @@ package darkknight.jewelrycraft.effects;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.DamageSource;
import darkknight.jewelrycraft.api.ModifierEffects;
import darkknight.jewelrycraft.damage.DamageSourceList;
import darkknight.jewelrycraft.item.ItemBracelet;
@@ -18,6 +9,15 @@ import darkknight.jewelrycraft.item.ItemRing; import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.PlayerUtils;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.potion.Potion;
+import net.minecraft.potion.PotionEffect;
+import net.minecraft.util.DamageSource;
public class EffectObsidian extends ModifierEffects
{
diff --git a/src/main/java/darkknight/jewelrycraft/effects/EffectsList.java b/src/main/java/darkknight/jewelrycraft/effects/EffectsList.java index b49d647..3df8169 100644 --- a/src/main/java/darkknight/jewelrycraft/effects/EffectsList.java +++ b/src/main/java/darkknight/jewelrycraft/effects/EffectsList.java @@ -1,21 +1,18 @@ -package darkknight.jewelrycraft.effects; - -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import darkknight.jewelrycraft.api.ModifierEffects; - -public class EffectsList -{ - private static ModifierEffects blazePowder, enderEye, feather, enderPearl, obsidian; - - /** - * @param e - */ - public static void postInit(FMLPostInitializationEvent e) - { - blazePowder = new EffectBlazePowder(); - enderEye = new EffectEnderEye(); - feather = new EffectFeather(); - enderPearl = new EffectEnderPearl(); - obsidian = new EffectObsidian(); - } -} +package darkknight.jewelrycraft.effects;
+
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+import darkknight.jewelrycraft.api.ModifierEffects;
+
+public class EffectsList
+{
+ public static ModifierEffects blazePowder, enderEye, feather, enderPearl, obsidian;
+
+ public static void postInit(FMLPostInitializationEvent e)
+ {
+ blazePowder = new EffectBlazePowder();
+ enderEye = new EffectEnderEye();
+ feather = new EffectFeather();
+ enderPearl = new EffectEnderPearl();
+ obsidian = new EffectObsidian();
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/entities/EntityHalfHeart.java b/src/main/java/darkknight/jewelrycraft/entities/EntityHalfHeart.java index 6b9561f..06bf7b7 100644 --- a/src/main/java/darkknight/jewelrycraft/entities/EntityHalfHeart.java +++ b/src/main/java/darkknight/jewelrycraft/entities/EntityHalfHeart.java @@ -1,15 +1,7 @@ package darkknight.jewelrycraft.entities;
-import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
-import darkknight.jewelrycraft.JewelrycraftMod;
-import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
-import darkknight.jewelrycraft.util.PlayerUtils;
-import darkknight.jewelrycraft.util.Variables;
/**
* @author Sorin
diff --git a/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java b/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java index 84d1ee4..f84a23a 100644 --- a/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java +++ b/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java @@ -3,6 +3,14 @@ */
package darkknight.jewelrycraft.entities;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.config.ConfigHandler;
+import darkknight.jewelrycraft.network.PacketSendClientPlayerInfo;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EnumCreatureAttribute;
@@ -14,133 +22,153 @@ import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.JewelrycraftMod;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
-import darkknight.jewelrycraft.network.PacketSendClientPlayerInfo;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-import darkknight.jewelrycraft.util.PlayerUtils;
-import darkknight.jewelrycraft.util.Variables;
/**
* @author Sorin
*/
-public class EntityHeart extends EntityLiving {
- public EntityHeart(World world) {
- super(world);
- this.setSize(0.4F, 0.4F);
- }
-
- protected void applyEntityAttributes() {
- super.applyEntityAttributes();
- this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(getQuantity());
- }
-
- @Override
- public void updateEntityActionState() {
- if (ConfigHandler.HEARTS_DESPAWN) ++this.entityAge;
- this.setCanPickUpLoot(true);
- }
-
- public void onLivingUpdate() {
- super.onLivingUpdate();
- if (ConfigHandler.HEARTS_DESPAWN && this.entityAge > ConfigHandler.HEART_DESPAWN_TIME) this.setDead();
- }
-
- protected void collideWithEntity(Entity entity) {
- super.collideWithEntity(entity);
- if (!this.worldObj.isRemote && entity instanceof EntityHeart && getType().equals(((EntityHeart) entity).getType())) {
- setQuantity(getQuantity() + ((EntityHeart) entity).getQuantity());
- entity.setDead();
- }
- }
-
- @Override
- public void onCollideWithPlayer(EntityPlayer player) {
- if (!this.worldObj.isRemote) {
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
- if (playerInfo != null) {
- if (getType() == "Red" && player.getHealth() < player.getMaxHealth()) {
- float healAmount = player.getMaxHealth() - player.getHealth();
- if (getQuantity() > healAmount) {
- player.heal(healAmount);
- this.setQuantity(getQuantity() - healAmount);
- } else {
- player.heal(getQuantity());
- this.setDead();
- }
- } else if (getType().equals("White") && playerInfo.getFloat("WhiteHeart") > 0.1F) {
- playerInfo.setFloat(getType() + "Heart", 0F);
- player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(player.getMaxHealth() + 2f);
- player.setHealth(player.getHealth() + 2f);
- JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
- this.setDead();
- } else if (!getType().equals("Red") && ((getType().equals("Black") && playerInfo.getFloat("BlackHeart") <= ConfigHandler.MAX_BLACK_HEARTS_PICKUP) || (getType().equals("Blue") && playerInfo.getFloat("BlueHeart") <= ConfigHandler.MAX_BLUE_HEARTS_PICKUP))) {
- if(playerInfo.hasKey(getType() + "Heart")) playerInfo.setFloat(getType() + "Heart", playerInfo.getFloat(getType() + "Heart") + getQuantity());
- else playerInfo.setFloat(getType() + "Heart", getQuantity());
- JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
- this.setDead();
- }
- }
- }
- }
-
+public class EntityHeart extends EntityLiving
+{
+ public EntityHeart(World world)
+ {
+ super(world);
+ this.setSize(0.4F, 0.4F);
+ }
+
+ protected void applyEntityAttributes()
+ {
+ super.applyEntityAttributes();
+ this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(getQuantity());
+ }
+
+ @Override
+ public void updateEntityActionState()
+ {
+ if (ConfigHandler.HEARTS_DESPAWN)
+ ++this.entityAge;
+ this.setCanPickUpLoot(true);
+ }
+
+ public void onLivingUpdate()
+ {
+ super.onLivingUpdate();
+ if (ConfigHandler.HEARTS_DESPAWN && this.entityAge > ConfigHandler.HEART_DESPAWN_TIME)
+ this.setDead();
+ }
+
+ protected void collideWithEntity(Entity entity)
+ {
+ super.collideWithEntity(entity);
+ if (!this.worldObj.isRemote && entity instanceof EntityHeart && getType().equals(((EntityHeart)entity).getType())) {
+ setQuantity(getQuantity() + ((EntityHeart)entity).getQuantity());
+ entity.setDead();
+ }
+ }
+
+ @Override
+ public void onCollideWithPlayer(EntityPlayer player)
+ {
+ if (!this.worldObj.isRemote) {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo != null) {
+ if (getType().equals("Red") && player.getHealth() < player.getMaxHealth()) {
+ float healAmount = player.getMaxHealth() - player.getHealth();
+ if (getQuantity() > healAmount) {
+ player.heal(healAmount);
+ this.setQuantity(getQuantity() - healAmount);
+ }else{
+ player.heal(getQuantity());
+ this.setDead();
+ }
+ }else
+ if (getType().equals("White") && playerInfo.getFloat("WhiteHeart") > 0.1F) {
+ playerInfo.setFloat(getType() + "Heart", 0F);
+ if (player.getMaxHealth() < 40F) {
+ player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(player.getMaxHealth() + 2f);
+ player.setHealth(player.getHealth() + 2f);
+ }
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
+ this.setDead();
+ }else
+ if (!getType().equals("Red") && ((getType().equals("Black") && playerInfo.getFloat("BlackHeart") <= ConfigHandler.MAX_BLACK_HEARTS_PICKUP) || (getType().equals("Blue") && playerInfo.getFloat("BlueHeart") <= ConfigHandler.MAX_BLUE_HEARTS_PICKUP) || getType().equals("White"))) {
+ if (playerInfo.hasKey(getType() + "Heart"))
+ playerInfo.setFloat(getType() + "Heart", playerInfo.getFloat(getType() + "Heart") + getQuantity());
+ else playerInfo.setFloat(getType() + "Heart", getQuantity());
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
+ this.setDead();
+ }
+ }
+ }
+ }
+
public void onDeath(DamageSource source)
{
- super.onDeath(source);
- if(source.getEntity() != null && source.getEntity() instanceof EntityPlayer)
- ((EntityPlayer)source.getEntity()).addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".heartKilled."+this.getType())));
+ super.onDeath(source);
+ if (source.getEntity() != null && source.getEntity() instanceof EntityPlayer)
+ ((EntityPlayer)source.getEntity()).addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".heartKilled." + this.getType())));
+ }
+
+ @SideOnly (Side.CLIENT)
+ public boolean canRenderOnFire()
+ {
+ return false;
+ }
+
+ protected void entityInit()
+ {
+ super.entityInit();
+ this.dataWatcher.addObject(16, "Red");
+ this.dataWatcher.addObject(17, 2f);
+ }
+
+ public void writeEntityToNBT(NBTTagCompound nbt)
+ {
+ super.writeEntityToNBT(nbt);
+ nbt.setString("Type", getType());
+ nbt.setFloat("Quantity", getQuantity());
+ }
+
+ /**
+ * (abstract) Protected helper method to read subclass entity data from NBT.
+ */
+ public void readEntityFromNBT(NBTTagCompound nbt)
+ {
+ super.readEntityFromNBT(nbt);
+ setType(nbt.getString("Type"));
+ setQuantity(nbt.getFloat("Quantity"));
+ }
+
+ public String getType()
+ {
+ return this.dataWatcher.getWatchableObjectString(16);
+ }
+
+ public void setType(String type)
+ {
+ this.dataWatcher.updateObject(16, type);
+ }
+
+ public Float getQuantity()
+ {
+ return this.dataWatcher.getWatchableObjectFloat(17);
+ }
+
+ public void setQuantity(Float qty)
+ {
+ this.dataWatcher.updateObject(17, qty);
+ }
+
+ public EnumCreatureAttribute getCreatureAttribute()
+ {
+ return JewelrycraftUtil.HEART;
+ }
+
+ public boolean isEntityInvulnerable()
+ {
+ return false;
+ }
+
+ public boolean canPickUpLoot()
+ {
+ return false;
}
-
- @SideOnly(Side.CLIENT)
- public boolean canRenderOnFire() {
- return false;
- }
-
- protected void entityInit() {
- super.entityInit();
- this.dataWatcher.addObject(16, "Red");
- this.dataWatcher.addObject(17, 2f);
- }
-
- public void writeEntityToNBT(NBTTagCompound nbt) {
- super.writeEntityToNBT(nbt);
- nbt.setString("Type", getType());
- nbt.setFloat("Quantity", getQuantity());
- }
-
- /**
- * (abstract) Protected helper method to read subclass entity data from NBT.
- */
- public void readEntityFromNBT(NBTTagCompound nbt) {
- super.readEntityFromNBT(nbt);
- setType(nbt.getString("Type"));
- setQuantity(nbt.getFloat("Quantity"));
- }
-
- public String getType() {
- return this.dataWatcher.getWatchableObjectString(16);
- }
-
- public void setType(String type) {
- this.dataWatcher.updateObject(16, type);
- }
-
- public Float getQuantity() {
- return this.dataWatcher.getWatchableObjectFloat(17);
- }
-
- public void setQuantity(Float qty) {
- this.dataWatcher.updateObject(17, qty);
- }
-
- public EnumCreatureAttribute getCreatureAttribute() {
- return JewelrycraftUtil.HEART;
- }
-
- public boolean isEntityInvulnerable() {
- return false;
- }
}
diff --git a/src/main/java/darkknight/jewelrycraft/entities/EntityList.java b/src/main/java/darkknight/jewelrycraft/entities/EntityList.java index 952b3ba..ceb2625 100644 --- a/src/main/java/darkknight/jewelrycraft/entities/EntityList.java +++ b/src/main/java/darkknight/jewelrycraft/entities/EntityList.java @@ -1,12 +1,11 @@ package darkknight.jewelrycraft.entities;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.EntityRegistry;
import darkknight.jewelrycraft.JewelrycraftMod;
import darkknight.jewelrycraft.item.ItemSpawnEgg;
-import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
public class EntityList
{
diff --git a/src/main/java/darkknight/jewelrycraft/entities/renders/HeartRender.java b/src/main/java/darkknight/jewelrycraft/entities/renders/HeartRender.java index d951340..d25ecbe 100644 --- a/src/main/java/darkknight/jewelrycraft/entities/renders/HeartRender.java +++ b/src/main/java/darkknight/jewelrycraft/entities/renders/HeartRender.java @@ -1,71 +1,67 @@ -package darkknight.jewelrycraft.entities.renders; - -import java.util.Random; -import org.lwjgl.opengl.GL11; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.ResourceLocation; -import darkknight.jewelrycraft.entities.EntityHeart; -import darkknight.jewelrycraft.util.Variables; - -/** - * @author Sorin - */ -public class HeartRender extends RenderLiving -{ - protected ResourceLocation texture; - Random rnd = new Random(); - - public HeartRender(ModelBase modelBase, float shadowSize) - { - super(modelBase, shadowSize); - } - - protected void renderModel(EntityLivingBase entity, float x, float y, float z, float rot1, float rot2, float rot3) - { - super.renderModel(entity, x, y, z, rot1, rot2, rot3); - rnd.setSeed(1542372345); - if (((EntityHeart)entity).getQuantity() > 2f){ - for(int i = 0; i < ((EntityHeart)entity).getQuantity() / 10f; i++){ - float posX = rnd.nextFloat() * 0.2f * (rnd.nextBoolean()?1:-1); - float posY = rnd.nextFloat() * 0.2f * (rnd.nextBoolean()?1:-1); - float posZ = rnd.nextFloat() * 0.2f * (rnd.nextBoolean()?1:-1); - float rotX = rnd.nextFloat() * 35f * (rnd.nextBoolean()?1:-1); - float rotY = rnd.nextFloat() * 35f * (rnd.nextBoolean()?1:-1); - float rotZ = rnd.nextFloat() * 35f * (rnd.nextBoolean()?1:-1); - GL11.glTranslatef(-0.15F, 0.0F, 0.0F); - GL11.glTranslatef(posX, posY, 0F); - GL11.glRotatef(rotY, 0F, 1F, 0F); - GL11.glRotatef(rotZ, 0F, 0F, 1F); - GL11.glPushMatrix(); - this.mainModel.render(entity, x, y, z, rot1, rot2, rot3); - GL11.glPopMatrix(); - } - } - } - - @Override - protected void preRenderCallback(EntityLivingBase entity, float f) - { - preRenderCallbackHeart((EntityHeart)entity, f); - } - - protected void preRenderCallbackHeart(EntityHeart entity, float f) - { - GL11.glScalef(0.4F, 0.4F, 0.4F); - GL11.glRotatef(55F, 1F, 0F, 0F); - String type = entity.getType(); - if (type == "" || type == null) type = "Red"; - texture = new ResourceLocation(Variables.MODID, "textures/entities/" + type + "Heart.png"); - } - - @Override - protected ResourceLocation getEntityTexture(Entity par1Entity) - { - return texture; - } -} +package darkknight.jewelrycraft.entities.renders;
+
+import java.util.Random;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.entity.RenderLiving;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.util.ResourceLocation;
+
+/**
+ * @author Sorin
+ */
+public class HeartRender extends RenderLiving
+{
+ protected ResourceLocation texture;
+ Random rnd = new Random();
+
+ public HeartRender(ModelBase modelBase, float shadowSize)
+ {
+ super(modelBase, shadowSize);
+ }
+
+ protected void renderModel(EntityLivingBase entity, float x, float y, float z, float rot1, float rot2, float rot3)
+ {
+ super.renderModel(entity, x, y, z, rot1, rot2, rot3);
+ rnd.setSeed(1542372345);
+ if (((EntityHeart)entity).getQuantity() > 2f){
+ for(int i = 0; i < ((EntityHeart)entity).getQuantity() / 10f; i++){
+ float posX = rnd.nextFloat() * 0.2f * (rnd.nextBoolean()?1:-1);
+ float posY = rnd.nextFloat() * 0.2f * (rnd.nextBoolean()?1:-1);
+ float rotY = rnd.nextFloat() * 35f * (rnd.nextBoolean()?1:-1);
+ float rotZ = rnd.nextFloat() * 35f * (rnd.nextBoolean()?1:-1);
+ GL11.glTranslatef(-0.15F, 0.0F, 0.0F);
+ GL11.glTranslatef(posX, posY, 0F);
+ GL11.glRotatef(rotY, 0F, 1F, 0F);
+ GL11.glRotatef(rotZ, 0F, 0F, 1F);
+ GL11.glPushMatrix();
+ this.mainModel.render(entity, x, y, z, rot1, rot2, rot3);
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ @Override
+ protected void preRenderCallback(EntityLivingBase entity, float f)
+ {
+ preRenderCallbackHeart((EntityHeart)entity, f);
+ }
+
+ protected void preRenderCallbackHeart(EntityHeart entity, float f)
+ {
+ GL11.glScalef(0.4F, 0.4F, 0.4F);
+ GL11.glRotatef(55F, 1F, 0F, 0F);
+ String type = entity.getType();
+ if (type == "" || type == null) type = "Red";
+ texture = new ResourceLocation(Variables.MODID, "textures/entities/" + type + "Heart.png");
+ }
+
+ @Override
+ protected ResourceLocation getEntityTexture(Entity par1Entity)
+ {
+ return texture;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/entities/renders/RenderHelper.java b/src/main/java/darkknight/jewelrycraft/entities/renders/RenderHelper.java index 8012d84..9fd3c62 100644 --- a/src/main/java/darkknight/jewelrycraft/entities/renders/RenderHelper.java +++ b/src/main/java/darkknight/jewelrycraft/entities/renders/RenderHelper.java @@ -1,9 +1,8 @@ package darkknight.jewelrycraft.entities.renders;
+import org.lwjgl.opengl.GL11;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
-import org.lwjgl.opengl.GL11;
-import cpw.mods.fml.common.Loader;
public class RenderHelper
{
diff --git a/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java b/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java index a5ae240..82af0de 100644 --- a/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java @@ -1,60 +1,59 @@ -/** - * - */ -package darkknight.jewelrycraft.events; - -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.ItemPickaxe; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; -import net.minecraftforge.event.world.BlockEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.api.Curse; -import darkknight.jewelrycraft.block.BlockMidasTouch; -import darkknight.jewelrycraft.tileentity.TileEntityMidasTouch; -import darkknight.jewelrycraft.util.PlayerUtils; -import darkknight.jewelrycraft.util.Variables; - -/** - * @author Sorin - */ -public class BlockEventHandler -{ - @SubscribeEvent - public void onBlockDestroyed(BlockEvent.BreakEvent event) - { - if (event.getPlayer() != null){ - ItemStack item = event.getPlayer().inventory.getCurrentItem(); - if (event.block instanceof BlockMidasTouch && item != null && item.getItem().getHarvestLevel(item, "pickaxe") >= event.block.getHarvestLevel(event.blockMetadata)){ - TileEntityMidasTouch te = (TileEntityMidasTouch)event.world.getTileEntity(event.x, event.y, event.z); - if (te.target != null) dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, new ItemStack(Items.gold_nugget, (int)(te.target.width * te.target.height * 100), 0)); - } - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.getPlayer(), Variables.MODID); - for(Curse curse: Curse.getCurseList()) - if (playerInfo.getInteger(curse.getName()) > 0) curse.onBlockDestroyed(event.getPlayer(), event); - } - } - - @SubscribeEvent - public void onBlockItemsDrop(BlockEvent.HarvestDropsEvent event) - { - EntityPlayer player = event.harvester; - if (player != null){ - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - for(Curse curse: Curse.getCurseList()) - if (playerInfo.getInteger(curse.getName()) > 0) curse.onBlockItemsDrop(player, event); - } - } - - public void dropItem(World world, double x, double y, double z, ItemStack stack) - { - EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, stack); - entityitem.motionX = 0; - entityitem.motionZ = 0; - entityitem.motionY = 0.11000000298023224D; - world.spawnEntityInWorld(entityitem); - } -} +/**
+ *
+ */
+package darkknight.jewelrycraft.events;
+
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.api.Curse;
+import darkknight.jewelrycraft.block.BlockMidasTouch;
+import darkknight.jewelrycraft.tileentity.TileEntityMidasTouch;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.World;
+import net.minecraftforge.event.world.BlockEvent;
+
+/**
+ * @author Sorin
+ */
+public class BlockEventHandler
+{
+ @SubscribeEvent
+ public void onBlockDestroyed(BlockEvent.BreakEvent event)
+ {
+ if (event.getPlayer() != null){
+ ItemStack item = event.getPlayer().inventory.getCurrentItem();
+ if (event.block instanceof BlockMidasTouch && item != null && item.getItem().getHarvestLevel(item, "pickaxe") >= event.block.getHarvestLevel(event.blockMetadata)){
+ TileEntityMidasTouch te = (TileEntityMidasTouch)event.world.getTileEntity(event.x, event.y, event.z);
+ if (te.target != null) dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, new ItemStack(Items.gold_nugget, (int)(te.target.width * te.target.height * 100), 0));
+ }
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.getPlayer(), Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.onBlockDestroyed(event.getPlayer(), event);
+ }
+ }
+
+ @SubscribeEvent
+ public void onBlockItemsDrop(BlockEvent.HarvestDropsEvent event)
+ {
+ EntityPlayer player = event.harvester;
+ if (player != null){
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.onBlockItemsDrop(player, event);
+ }
+ }
+
+ public void dropItem(World world, double x, double y, double z, ItemStack stack)
+ {
+ EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, stack);
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ world.spawnEntityInWorld(entityitem);
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/events/BucketHandler.java b/src/main/java/darkknight/jewelrycraft/events/BucketHandler.java index 38e60a5..9aae0d7 100644 --- a/src/main/java/darkknight/jewelrycraft/events/BucketHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/BucketHandler.java @@ -12,7 +12,6 @@ import java.util.Map; import cpw.mods.fml.common.eventhandler.Event.Result;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import darkknight.jewelrycraft.block.BlockMoltenMetal;
-import darkknight.jewelrycraft.tileentity.TileEntityMoltenMetal;
import darkknight.jewelrycraft.util.JewelryNBT;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
diff --git a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java index c3b35a9..9d9a3bd 100644 --- a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java @@ -1,11 +1,11 @@ package darkknight.jewelrycraft.events;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
+
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
import darkknight.jewelrycraft.JewelrycraftMod;
import darkknight.jewelrycraft.api.Curse;
import darkknight.jewelrycraft.api.IJewelryItem;
@@ -22,6 +22,7 @@ import darkknight.jewelrycraft.potions.PotionBase; import darkknight.jewelrycraft.potions.PotionList;
import darkknight.jewelrycraft.random.WeightedRandomCurse;
import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.EntitySelector;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.PlayerUtils;
import darkknight.jewelrycraft.util.Variables;
@@ -39,7 +40,6 @@ import net.minecraft.util.ChatComponentText; import net.minecraft.util.MathHelper;
import net.minecraft.util.StatCollector;
import net.minecraft.util.WeightedRandom;
-import net.minecraftforge.client.event.EntityViewRenderEvent;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import net.minecraftforge.event.entity.item.ItemTossEvent;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
@@ -48,330 +48,343 @@ import net.minecraftforge.event.entity.living.LivingDropsEvent; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
import net.minecraftforge.event.entity.player.PlayerEvent;
-public class EntityEventHandler {
- int updateTime = 0, totalUnavailableCurses = 0;
- boolean addedCurses = false;
- Random rand = new Random();
-
- @SubscribeEvent
- public void onEntityJoinWorld(EntityJoinWorldEvent event) {
- if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
- final Entity entity = event.entity;
- if (!event.world.isRemote && entity instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) entity;
- NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
- boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
- if (shouldGiveManual) {
- ItemStack manual = new ItemStack(ItemList.guide);
- if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
- persistTag.setBoolean("givenGuide", true);
- }
- boolean render = persistTag.getBoolean("fancyRender");
- JewelrycraftMod.fancyRender = render;
- if (ConfigHandler.CURSES_ENABLED) for (Curse curse : Curse.getCurseList())
- if (curse.canCurseBeActivated(event.world) && !persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
- for (Curse curse : Curse.getCurseList())
- if (!curse.canCurseBeActivated(event.world)) {
- Curse.availableCurses.remove(curse);
- persistTag.setInteger(curse.getName(), 0);
- totalUnavailableCurses++;
- }
- else if (!Curse.availableCurses.contains(curse)) Curse.availableCurses.add(curse);
- persistTag.setBoolean("sendInfo", true);
- }
- }
-
- /**
- * @param event
- */
- @SubscribeEvent
- public void onEntityUpdate(LivingUpdateEvent event) {
- Entity entity = event.entity;
- EntityLivingBase entityLiving = event.entityLiving;
- for (PotionBase potion : PotionBase.getPotionList())
- if (entityLiving.isPotionActive(potion)) potion.action(entityLiving);
- if (entity instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) entity;
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
- playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
- if (updateTime > 0) updateTime--;
- for (int i = 0; i < 18; i++)
- if (getJewelryItems(playerInfo, i) != null) {
- if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) ((ItemBaseJewelry) getJewelryItems(playerInfo, i).getItem()).action(getJewelryItems(playerInfo, i), player);
- if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem) getJewelryItems(playerInfo, i).getItem()).onWearAction(getJewelryItems(playerInfo, i), player);
- }
- if (!player.worldObj.isRemote) {
- timeUntilYouCanResetCurses(playerInfo);
- updateCurses(playerInfo, player);
- if (updateTime == 0) {
- JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
- updateTime = 200;
- }
- if (ConfigHandler.CURSES_ENABLED) for (Curse curse : Curse.getCurseList())
- if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
- }
- }
- }
-
- public void updateCurses(NBTTagCompound playerInfo, EntityPlayer player) {
- if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")) {
- int points = playerInfo.getInteger("cursePoints");
- int maxCurses = playerInfo.getInteger("cursePoints") / Variables.CURSE_POINTS_PER_LEVEL + 1;
- if (points > 0 && playerInfo.getInteger("activeCurses") < maxCurses) while (playerInfo.getInteger("activeCurses") < maxCurses && Curse.availableCurses.size() > 0 && playerInfo.getInteger("activeCurses") < Curse.getCurseList().size())
- addCurse(player, playerInfo);
- if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")) {
- playerInfo.setInteger("curseTime", 23000);
- playerInfo.setBoolean("reselectCurses", false);
- }
- JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP) player);
- if (addedCurses) {
- JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
- player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("curse." + Variables.MODID + ".activated")));
- addedCurses = false;
- }
- }
- if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
- }
-
- public void timeUntilYouCanResetCurses(NBTTagCompound playerInfo) {
- if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")) {
- playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
- if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
- }
- }
-
- public ItemStack getJewelryItems(NBTTagCompound playerInfo, int i) {
- if (playerInfo.hasKey("ext" + i)) {
- NBTTagCompound nbt = (NBTTagCompound) playerInfo.getTag("ext" + i);
- ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
- if (item != null) return item;
- }
- return null;
- }
-
- @SubscribeEvent
- public void onEntityLivingDropItems(LivingDropsEvent event) {
- if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) event.source.getEntity();
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
- if (ConfigHandler.CURSES_ENABLED) for (Curse curse : Curse.getCurseList())
- if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
- }
- }
-
- @SubscribeEvent
- public void onEntityAttacked(LivingAttackEvent event) {
- EntityLivingBase entity = event.entityLiving;
- if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityLivingBase && ((EntityLivingBase) event.source.getEntity()).isPotionActive(PotionList.stun)) event.setCanceled(true);
- if (entity instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) entity;
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
- if (!(event.source.getEntity() instanceof EntityPlayer) && !player.capabilities.isCreativeMode) {
- if (!player.worldObj.isRemote) for (int i = 0; i < 18; i++)
- if (getJewelryItems(playerInfo, i) != null) {
- if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) {
- ((ItemBaseJewelry) getJewelryItems(playerInfo, i).getItem()).onPlayerAttacked(getJewelryItems(playerInfo, i), player, event.source, event.ammount);
- if (((ItemBaseJewelry) getJewelryItems(playerInfo, i).getItem()).onPlayerAttackedCacellable(getJewelryItems(playerInfo, i), player, event.source, event.ammount)) event.setCanceled(true);
- }
- if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem) getJewelryItems(playerInfo, i).getItem()).onPlayerAttackedAction(getJewelryItems(playerInfo, i), player, event.source, event.ammount);
- }
- if (ConfigHandler.CURSES_ENABLED) for (Curse curse : Curse.getCurseList())
- if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
- }
- removeHearts(event, player, playerInfo);
- JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
- JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP) player);
- }
- if (event.source.getEntity() instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) event.source.getEntity();
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
- for (int i = 0; i < 18; i++)
- if (getJewelryItems(playerInfo, i) != null) {
- if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) {
- ((ItemBaseJewelry) getJewelryItems(playerInfo, i).getItem()).onEntityAttacked(getJewelryItems(playerInfo, i), player, entity, event.ammount);
- if (((ItemBaseJewelry) getJewelryItems(playerInfo, i).getItem()).onEntityAttackedCacellable(getJewelryItems(playerInfo, i), player, entity, event.ammount)) event.setCanceled(true);
- }
- if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem) getJewelryItems(playerInfo, i).getItem()).onEntityAttackedByPlayer(getJewelryItems(playerInfo, i), player, entity, event.ammount);
- }
- if (ConfigHandler.CURSES_ENABLED) for (Curse curse : Curse.getCurseList())
- if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) {
- curse.attackedByPlayerAction(event, entity.worldObj, player, entity);
- if (curse.attackedByPlayerActionCancelable(event, player.worldObj, player, entity)) event.setCanceled(true);
- }
- if (entity instanceof EntityHeart && entity.getAge() < 30) event.setCanceled(true);
- if (event.source.getEntity() instanceof EntityPlayerMP) {
- JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
- JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP) player);
- }
- }
- }
-
- public void removeHearts(LivingAttackEvent event, EntityPlayer player, NBTTagCompound playerInfo) {
- if (!player.worldObj.isRemote && !player.capabilities.isCreativeMode && (float) player.hurtResistantTime <= (float) player.maxHurtResistantTime / 2.0F) {
- if (playerInfo.getFloat("WhiteHeart") > 0) {
- playerInfo.setFloat("WhiteHeart", 0f);
- }
- if (playerInfo.getFloat("BlueHeart") > 0) {
- float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
- if (damage >= 0) playerInfo.setFloat("BlueHeart", damage);
- else playerInfo.setFloat("BlueHeart", 0f);
- if (damage < 0) {
- System.out.println(damage);
- player.attackEntityFrom(event.source, Math.abs(damage));
- }
- player.hurtResistantTime = player.maxHurtResistantTime;
- player.hurtTime = player.maxHurtTime = 10;
- player.worldObj.playSoundAtEntity(player, "game.player.hurt", 1.0F, (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F);
- event.setCanceled(true);
- }
- else if (playerInfo.getFloat("BlackHeart") > 0) {
- AxisAlignedBB axisalignedbb = player.boundingBox.expand(3.0D, 0.0D, 3.0D);
- List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb);
- if (enemies != null && !enemies.isEmpty() && event.source != DamageSourceList.blackHeart) {
- Iterator iterator = enemies.iterator();
- while (iterator.hasNext()) {
- Entity enemy = (Entity) iterator.next();
- enemy.attackEntityFrom(DamageSourceList.blackHeart, 0.5f * event.ammount);
- }
- }
- float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
- if (damage >= 0) playerInfo.setFloat("BlackHeart", damage);
- else playerInfo.setFloat("BlackHeart", 0f);
- if (damage < 0) player.attackEntityFrom(event.source, Math.abs(damage));
- player.hurtResistantTime = player.maxHurtResistantTime;
- player.hurtTime = player.maxHurtTime = 10;
- player.worldObj.playSoundAtEntity(player, "game.player.hurt", 1.0F, (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F);
- event.setCanceled(true);
- }
- }
- }
-
- @SubscribeEvent
- public void onPlayerRespawn(PlayerEvent.Clone event) {
- EntityPlayer player = event.entityPlayer;
- if (!player.worldObj.isRemote) {
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
- if (playerInfo.hasKey("cursePoints")) {
- int points = playerInfo.getInteger("cursePoints");
- int maxCurses = playerInfo.getInteger("cursePoints") / Variables.CURSE_POINTS_PER_LEVEL + 1;
- if (points > 0 && playerInfo.getInteger("activeCurses") < maxCurses) while (playerInfo.getInteger("activeCurses") < maxCurses && Curse.availableCurses.size() > 0 && playerInfo.getInteger("activeCurses") < Curse.getCurseList().size())
- addCurse(player, playerInfo);
- if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")) {
- playerInfo.setInteger("curseTime", 23000);
- playerInfo.setBoolean("reselectCurses", false);
- }
- }
- playerInfo.setFloat("BlueHeart", 0f);
- playerInfo.setFloat("BlackHeart", 0f);
- playerInfo.setFloat("WhiteHeart", 0f);
- if (ConfigHandler.CURSES_ENABLED) for (Curse curse : Curse.getCurseList())
- if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
- for (int i = 0; i < 18; i++)
- if (getJewelryItems(playerInfo, i) != null) {
- if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) ((ItemBaseJewelry) getJewelryItems(playerInfo, i).getItem()).onPlayerRespawn(getJewelryItems(playerInfo, i), event);
- if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem) getJewelryItems(playerInfo, i).getItem()).onPlayerRespawnAction(getJewelryItems(playerInfo, i), event);
- }
- JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP) player);
- if (addedCurses) {
- JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
- addedCurses = false;
- }
- }
- }
-
- public void addCurse(EntityPlayer player, NBTTagCompound playerInfo) {
- if (ConfigHandler.CURSES_ENABLED && Curse.availableCurses.size() > 0) {
- Curse cur = ((WeightedRandomCurse) WeightedRandom.getRandomItem(rand, JewelrycraftUtil.getCurses(player.worldObj, player, rand))).getCurse(rand);
- playerInfo.setInteger(cur.getName(), 1);
- Curse.availableCurses.remove(cur);
- addedCurses = true;
- if (playerInfo.getInteger("activeCurses") == 0) playerInfo.setInteger("activeCurses", 1);
- else playerInfo.setInteger("activeCurses", playerInfo.getInteger("activeCurses") + 1);
- JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
- JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP) player);
- }
- }
-
- @SubscribeEvent
- public void itemToss(ItemTossEvent event) {
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
- if (ConfigHandler.CURSES_ENABLED) for (Curse curse : Curse.getCurseList())
- if (event.player != null && curse.canCurseBeActivated(event.player.worldObj) && playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()) {
- EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
- if (entityitem != null) {
- entityitem.motionX = 0;
- entityitem.motionZ = 0;
- entityitem.motionY = 0.11000000298023224D;
- event.player.worldObj.spawnEntityInWorld(entityitem);
- MinecraftServer.getServer().getConfigurationManager().sendChatMsg(new ChatComponentText("<" + event.player.getDisplayName() + "> I shouldn't drop this. I might need it later."));
- event.setCanceled(true);
- }
- }
- }
-
- @SubscribeEvent
- public void playerFileSave(PlayerEvent.SaveToFile event) {
- if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
- }
-
- @SubscribeEvent
- public void onEntityDead(LivingDeathEvent event) {
- final Entity entity = event.entity;
- Random rand = new Random();
- String[] types = { "Red", "Blue", "White", "Black" };
- if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving) {
- EntityLiving live = (EntityLiving) entity;
- String type = types[rand.nextInt(4)];
- if (live.getCreatureAttribute() != JewelrycraftUtil.HEART) {
- if (type == "White") {
- EntityHeart h = new EntityHalfHeart(live.worldObj);
- h.setType(type);
- h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
- live.worldObj.spawnEntityInWorld(h);
- }
- else {
- for (int i = 1; i <= 1 + rand.nextInt(1 + (int) (live.getMaxHealth() / 2)); i++) {
- EntityHeart[] hearts = { new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj) };
- EntityHeart h = hearts[rand.nextInt(2)];
- h.setType(type);
- h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
- live.worldObj.spawnEntityInWorld(h);
- }
- }
- }
- if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) event.source.getEntity();
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
- if (ConfigHandler.CURSES_ENABLED) for (Curse curse : Curse.getCurseList())
- if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player);
- }
- }
- if (entity instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) entity;
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
- playerInfo.setFloat("BlueHeart", 0f);
- playerInfo.setFloat("BlackHeart", 0f);
- playerInfo.setFloat("WhiteHeart", 0f);
- if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")) {
- playerInfo.setInteger("activeCurses", 0);
- if (ConfigHandler.CURSES_ENABLED) for (Curse l : Curse.getCurseList()) {
- if (l.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(l.getName()) == 1) {
- playerInfo.setInteger(l.getName(), 0);
- l.setTicksActive(0);
- if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
- }
- else if (l.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
- }
- if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
- }
- if (ConfigHandler.CURSES_ENABLED) for (Curse curse : Curse.getCurseList())
- if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
- for (int i = 0; i < 18; i++)
- if (getJewelryItems(playerInfo, i) != null) {
- if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) ((ItemBaseJewelry) getJewelryItems(playerInfo, i).getItem()).onPlayerDead(getJewelryItems(playerInfo, i), player, event.source);
- if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem) getJewelryItems(playerInfo, i).getItem()).onPlayerDeadAction(getJewelryItems(playerInfo, i), player, event.source);
- }
- }
- if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
- }
+public class EntityEventHandler{
+
+ int updateTime = 0, totalUnavailableCurses = 0, luck = 0;
+ boolean addedCurses = false;
+ public static Random rand = new Random();
+ public static ArrayList<String> types = new ArrayList<String>();
+
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event) {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ final Entity entity = event.entity;
+ if (!event.world.isRemote && entity instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
+ if (shouldGiveManual) {
+ ItemStack manual = new ItemStack(ItemList.guide);
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
+ persistTag.setBoolean("givenGuide", true);
+ }
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList())
+ if (curse.canCurseBeActivated(event.world) && !persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0);
+ for(Curse curse: Curse.getCurseList())
+ if (!curse.canCurseBeActivated(event.world)) {
+ Curse.availableCurses.remove(curse);
+ persistTag.setInteger(curse.getName(), 0);
+ totalUnavailableCurses++;
+ }else if (!Curse.availableCurses.contains(curse)) Curse.availableCurses.add(curse);
+ persistTag.setBoolean("sendInfo", true);
+ luck = calculateLuck((EntityPlayer)entity);
+ }
+ if (ConfigHandler.CAN_RED_HEARTS_SPAWN) types.add("Red");
+ if (ConfigHandler.CAN_BLUE_HEARTS_SPAWN) types.add("Blue");
+ if (ConfigHandler.CAN_HOLY_HEARTS_SPAWN) types.add("White");
+ if (ConfigHandler.CAN_BLACK_HEARTS_SPAWN) types.add("Black");
+ }
+
+ /**
+ * @param event
+ */
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event) {
+ Entity entity = event.entity;
+ EntityLivingBase entityLiving = event.entityLiving;
+ for(PotionBase potion: PotionBase.getPotionList())
+ if (entityLiving.isPotionActive(potion)) potion.action(entityLiving);
+ if (entity instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (updateTime > 0) updateTime--;
+ for(int i = 0; i < 18; i++)
+ if (getJewelryItems(playerInfo, i) != null) {
+ if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) ((ItemBaseJewelry)getJewelryItems(playerInfo, i).getItem()).action(getJewelryItems(playerInfo, i), player);
+ if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem)getJewelryItems(playerInfo, i).getItem()).onWearAction(getJewelryItems(playerInfo, i), player);
+ }
+ if (!player.worldObj.isRemote) {
+ timeUntilYouCanResetCurses(playerInfo);
+ updateCurses(playerInfo, player);
+ if (updateTime == 0) {
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
+ updateTime = 200;
+ }
+ if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList())
+ if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
+ }
+ }
+ }
+
+ public void updateCurses(NBTTagCompound playerInfo, EntityPlayer player) {
+ if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")) {
+ int points = playerInfo.getInteger("cursePoints");
+ int maxCurses = playerInfo.getInteger("cursePoints") / Variables.CURSE_POINTS_PER_LEVEL + 1;
+ if (points > 0 && playerInfo.getInteger("activeCurses") < maxCurses) while (playerInfo.getInteger("activeCurses") < maxCurses && Curse.availableCurses.size() > 0 && playerInfo.getInteger("activeCurses") < Curse.getCurseList().size())
+ addCurse(player, playerInfo);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")) {
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
+ if (addedCurses) {
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
+ player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("curse." + Variables.MODID + ".activated")));
+ addedCurses = false;
+ }
+ }
+ if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
+ luck = calculateLuck(player);
+ }
+
+ public void timeUntilYouCanResetCurses(NBTTagCompound playerInfo) {
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")) {
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ }
+
+ public ItemStack getJewelryItems(NBTTagCompound playerInfo, int i) {
+ if (playerInfo.hasKey("ext" + i)) {
+ NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
+ ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
+ if (item != null) return item;
+ }
+ return null;
+ }
+
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event) {
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList())
+ if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityAttacked(LivingAttackEvent event) {
+ EntityLivingBase entity = event.entityLiving;
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityLivingBase && ((EntityLivingBase)event.source.getEntity()).isPotionActive(PotionList.stun)) event.setCanceled(true);
+ if (entity instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (!(event.source.getEntity() instanceof EntityPlayer) && !player.capabilities.isCreativeMode) {
+ if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++)
+ if (getJewelryItems(playerInfo, i) != null) {
+ if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) {
+ ((ItemBaseJewelry)getJewelryItems(playerInfo, i).getItem()).onPlayerAttacked(getJewelryItems(playerInfo, i), player, event.source, event.ammount);
+ if (((ItemBaseJewelry)getJewelryItems(playerInfo, i).getItem()).onPlayerAttackedCacellable(getJewelryItems(playerInfo, i), player, event.source, event.ammount)) event.setCanceled(true);
+ }
+ if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem)getJewelryItems(playerInfo, i).getItem()).onPlayerAttackedAction(getJewelryItems(playerInfo, i), player, event.source, event.ammount);
+ }
+ if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList())
+ if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
+ }
+ removeHearts(event, player, playerInfo);
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
+ }
+ if (event.source.getEntity() instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(int i = 0; i < 18; i++)
+ if (getJewelryItems(playerInfo, i) != null) {
+ if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) {
+ ((ItemBaseJewelry)getJewelryItems(playerInfo, i).getItem()).onEntityAttacked(getJewelryItems(playerInfo, i), player, entity, event.ammount);
+ if (((ItemBaseJewelry)getJewelryItems(playerInfo, i).getItem()).onEntityAttackedCacellable(getJewelryItems(playerInfo, i), player, entity, event.ammount)) event.setCanceled(true);
+ }
+ if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem)getJewelryItems(playerInfo, i).getItem()).onEntityAttackedByPlayer(getJewelryItems(playerInfo, i), player, entity, event.ammount);
+ }
+ if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList())
+ if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) {
+ curse.attackedByPlayerAction(event, entity.worldObj, player, entity);
+ if (curse.attackedByPlayerActionCancelable(event, player.worldObj, player, entity)) event.setCanceled(true);
+ }
+ if (entity instanceof EntityHeart && entity.getAge() < 30) event.setCanceled(true);
+ if (event.source.getEntity() instanceof EntityPlayerMP) {
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
+ }
+ }
+ }
+
+ public void removeHearts(LivingAttackEvent event, EntityPlayer player, NBTTagCompound playerInfo) {
+ if (!player.worldObj.isRemote && !player.capabilities.isCreativeMode && (float)player.hurtResistantTime <= (float)player.maxHurtResistantTime / 2.0F) {
+ if (playerInfo.getFloat("WhiteHeart") > 0) {
+ playerInfo.setFloat("WhiteHeart", 0f);
+ }
+ if (playerInfo.getFloat("BlueHeart") > 0) {
+ float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
+ if (damage >= 0) playerInfo.setFloat("BlueHeart", damage);
+ else playerInfo.setFloat("BlueHeart", 0f);
+ if (damage < 0) {
+ System.out.println(damage);
+ player.attackEntityFrom(event.source, Math.abs(damage));
+ }
+ player.hurtResistantTime = player.maxHurtResistantTime;
+ player.hurtTime = player.maxHurtTime = 10;
+ player.worldObj.playSoundAtEntity(player, "game.player.hurt", 1.0F, (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F);
+ event.setCanceled(true);
+ }else if (playerInfo.getFloat("BlackHeart") > 0) {
+ AxisAlignedBB axisalignedbb = player.boundingBox.expand(6.0D, 6.0D, 6.0D);
+ List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb, EntitySelector.selectMonsters);
+ if (enemies != null && !enemies.isEmpty() && event.source != DamageSourceList.blackHeart) {
+ Iterator iterator = enemies.iterator();
+ while (iterator.hasNext()){
+ Entity enemy = (Entity)iterator.next();
+ enemy.attackEntityFrom(DamageSourceList.blackHeart, 6f);
+ }
+ }
+ float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
+ if (damage >= 0) playerInfo.setFloat("BlackHeart", damage);
+ else playerInfo.setFloat("BlackHeart", 0f);
+ if (damage < 0) player.attackEntityFrom(event.source, Math.abs(damage));
+ player.hurtResistantTime = player.maxHurtResistantTime;
+ player.hurtTime = player.maxHurtTime = 10;
+ player.worldObj.playSoundAtEntity(player, "game.player.hurt", 1.0F, (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F);
+ event.setCanceled(true);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event) {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote) {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (playerInfo.hasKey("cursePoints")) {
+ int points = playerInfo.getInteger("cursePoints");
+ int maxCurses = playerInfo.getInteger("cursePoints") / Variables.CURSE_POINTS_PER_LEVEL + 1;
+ if (points > 0 && playerInfo.getInteger("activeCurses") < maxCurses) while (playerInfo.getInteger("activeCurses") < maxCurses && Curse.availableCurses.size() > 0 && playerInfo.getInteger("activeCurses") < Curse.getCurseList().size())
+ addCurse(player, playerInfo);
+ if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")) {
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList())
+ if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
+ for(int i = 0; i < 18; i++)
+ if (getJewelryItems(playerInfo, i) != null) {
+ if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) ((ItemBaseJewelry)getJewelryItems(playerInfo, i).getItem()).onPlayerRespawn(getJewelryItems(playerInfo, i), event);
+ if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem)getJewelryItems(playerInfo, i).getItem()).onPlayerRespawnAction(getJewelryItems(playerInfo, i), event);
+ }
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
+ if (addedCurses) {
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
+ addedCurses = false;
+ }
+ }
+ }
+
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo) {
+ if (ConfigHandler.CURSES_ENABLED && Curse.availableCurses.size() > 0) {
+ Curse cur = ((WeightedRandomCurse)WeightedRandom.getRandomItem(rand, JewelrycraftUtil.getCurses(player.worldObj, player, rand))).getCurse(rand);
+ playerInfo.setInteger(cur.getName(), 1);
+ Curse.availableCurses.remove(cur);
+ addedCurses = true;
+ if (playerInfo.getInteger("activeCurses") == 0) playerInfo.setInteger("activeCurses", 1);
+ else playerInfo.setInteger("activeCurses", playerInfo.getInteger("activeCurses") + 1);
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
+ }
+ }
+
+ @SubscribeEvent
+ public void itemToss(ItemTossEvent event) {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID);
+ if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList())
+ if (event.player != null && curse.canCurseBeActivated(event.player.worldObj) && playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()) {
+ EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem());
+ if (entityitem != null) {
+ entityitem.motionX = 0;
+ entityitem.motionZ = 0;
+ entityitem.motionY = 0.11000000298023224D;
+ event.player.worldObj.spawnEntityInWorld(entityitem);
+ MinecraftServer.getServer().getConfigurationManager().sendChatMsg(new ChatComponentText("<" + event.player.getDisplayName() + "> I shouldn't drop this. I might need it later."));
+ event.setCanceled(true);
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event) {
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+
+ public int calculateLuck(EntityPlayer player) {
+ int luck = 0;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList())
+ if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) luck += curse.luck();
+ return luck;
+ }
+
+ public static void spawnHearts(Entity entity, int chance) {
+ EntityLiving live = (EntityLiving)entity;
+ String type = types.get(rand.nextInt(types.size()));
+ if (rand.nextInt(chance) == 0 && live.getCreatureAttribute() != JewelrycraftUtil.HEART) {
+ if (type == "White") {
+ EntityHeart h = new EntityHalfHeart(live.worldObj);
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 2)); i++){
+ EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ live.worldObj.spawnEntityInWorld(h);
+ }
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event) {
+ final Entity entity = event.entity;
+ if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving && event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer) {
+ System.out.println(luck);
+ spawnHearts(entity, Math.max(2, 20 - luck));
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList())
+ if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player);
+ }
+ if (entity instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer)entity;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setFloat("BlueHeart", 0f);
+ playerInfo.setFloat("BlackHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")) {
+ playerInfo.setInteger("activeCurses", 0);
+ if (ConfigHandler.CURSES_ENABLED) for(Curse l: Curse.getCurseList()){
+ if (l.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(l.getName()) == 1) {
+ playerInfo.setInteger(l.getName(), 0);
+ l.setTicksActive(0);
+ if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l);
+ }else if (l.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1);
+ }
+ if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
+ if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList())
+ if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
+ for(int i = 0; i < 18; i++)
+ if (getJewelryItems(playerInfo, i) != null) {
+ if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) ((ItemBaseJewelry)getJewelryItems(playerInfo, i).getItem()).onPlayerDead(getJewelryItems(playerInfo, i), player, event.source);
+ if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem)getJewelryItems(playerInfo, i).getItem()).onPlayerDeadAction(getJewelryItems(playerInfo, i), player, event.source);
+ }
+ }
+ if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java b/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java index dea04f9..4430f5f 100644 --- a/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java @@ -1,27 +1,22 @@ -package darkknight.jewelrycraft.events; - -import net.minecraft.nbt.NBTTagCompound; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.PlayerEvent; -import cpw.mods.fml.common.gameevent.TickEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; -import cpw.mods.fml.relauncher.Side; -import darkknight.jewelrycraft.util.PlayerUtils; -import darkknight.jewelrycraft.util.Variables; - -/** - * @author Sorin - * - */ -public class EventCommonHandler -{ - @SubscribeEvent - public void onItemCrafted(PlayerEvent.ItemCraftedEvent event) - { - } - - @SubscribeEvent - public void onPlayerTick(TickEvent.PlayerTickEvent event) - { - } -} +package darkknight.jewelrycraft.events;
+
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent;
+import cpw.mods.fml.common.gameevent.TickEvent;
+
+/**
+ * @author Sorin
+ *
+ */
+public class EventCommonHandler
+{
+ @SubscribeEvent
+ public void onItemCrafted(PlayerEvent.ItemCraftedEvent event)
+ {
+ }
+
+ @SubscribeEvent
+ public void onPlayerTick(TickEvent.PlayerTickEvent event)
+ {
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/events/EventList.java b/src/main/java/darkknight/jewelrycraft/events/EventList.java index 5520b87..4955cbb 100644 --- a/src/main/java/darkknight/jewelrycraft/events/EventList.java +++ b/src/main/java/darkknight/jewelrycraft/events/EventList.java @@ -1,52 +1,51 @@ -/** - * - */ -package darkknight.jewelrycraft.events; - -import net.minecraftforge.common.MinecraftForge; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import darkknight.jewelrycraft.JewelrycraftMod; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.client.gui.GuiHandler; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.damage.DamageSourceList; -import darkknight.jewelrycraft.effects.EffectsList; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.util.JewelrycraftUtil; -import darkknight.jewelrycraft.worldGen.Generation; - -public class EventList -{ - public static void preInit(FMLPreInitializationEvent e) - { - MinecraftForge.EVENT_BUS.register(new EntityEventHandler()); - MinecraftForge.EVENT_BUS.register(new BlockEventHandler()); - MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE); - FMLCommonHandler.instance().bus().register(new EventCommonHandler()); - BucketHandler.INSTANCE.buckets.put(BlockList.moltenMetal, ItemList.bucket); - JewelrycraftMod.proxy.preInit(); - } - - public static void init(FMLInitializationEvent e) - { - GameRegistry.registerWorldGenerator(new Generation(), 0); - JewelrycraftMod.proxy.init(); - new GuiHandler(); - FMLCommonHandler.instance().bus().register(ConfigHandler.INSTANCE); - } - - public static void postInit(FMLPostInitializationEvent e) - { - JewelrycraftUtil.addMetals(); - JewelrycraftUtil.jamcrafters(); - EffectsList.postInit(e); - DamageSourceList.postInit(e); - JewelrycraftMod.proxy.postInit(); - JewelrycraftUtil.addStuff(); - } -} +/**
+ *
+ */
+package darkknight.jewelrycraft.events;
+
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.event.FMLInitializationEvent;
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import cpw.mods.fml.common.registry.GameRegistry;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.block.BlockList;
+import darkknight.jewelrycraft.client.gui.GuiHandler;
+import darkknight.jewelrycraft.config.ConfigHandler;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import darkknight.jewelrycraft.effects.EffectsList;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.worldGen.Generation;
+import net.minecraftforge.common.MinecraftForge;
+
+public class EventList
+{
+ public static void preInit(FMLPreInitializationEvent e)
+ {
+ MinecraftForge.EVENT_BUS.register(new EntityEventHandler());
+ MinecraftForge.EVENT_BUS.register(new BlockEventHandler());
+ MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE);
+ FMLCommonHandler.instance().bus().register(new EventCommonHandler());
+ BucketHandler.INSTANCE.buckets.put(BlockList.moltenMetal, ItemList.bucket);
+ JewelrycraftMod.proxy.preInit();
+ }
+
+ public static void init(FMLInitializationEvent e)
+ {
+ GameRegistry.registerWorldGenerator(new Generation(), 0);
+ JewelrycraftMod.proxy.init();
+ new GuiHandler();
+ FMLCommonHandler.instance().bus().register(ConfigHandler.INSTANCE);
+ }
+
+ public static void postInit(FMLPostInitializationEvent e)
+ {
+ JewelrycraftUtil.addMetals();
+ JewelrycraftUtil.jamcrafters();
+ EffectsList.postInit(e);
+ DamageSourceList.postInit(e);
+ JewelrycraftMod.proxy.postInit();
+ JewelrycraftUtil.addStuff();
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java b/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java index 5104426..3e4a2c3 100644 --- a/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java +++ b/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java @@ -1,6 +1,5 @@ package darkknight.jewelrycraft.events;
-import net.minecraft.client.settings.KeyBinding;
import org.lwjgl.input.Keyboard;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
@@ -8,6 +7,7 @@ import cpw.mods.fml.common.gameevent.InputEvent; import darkknight.jewelrycraft.JewelrycraftMod;
import darkknight.jewelrycraft.network.PacketKeyPressEvent;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.settings.KeyBinding;
public class KeyBindings
{
diff --git a/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java b/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java index 3ed98c9..f0fd1c2 100644 --- a/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java @@ -1,27 +1,9 @@ package darkknight.jewelrycraft.events;
-import java.nio.FloatBuffer;
import java.util.Iterator;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAir;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.model.ModelBiped;
-import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.Vec3;
-import net.minecraftforge.client.event.RenderHandEvent;
-import net.minecraftforge.client.event.RenderPlayerEvent;
-
-import org.lwjgl.BufferUtils;
import org.lwjgl.opengl.GL11;
-
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.JewelrycraftMod;
import darkknight.jewelrycraft.api.Curse;
import darkknight.jewelrycraft.config.ConfigHandler;
import darkknight.jewelrycraft.item.render.BraceletRender;
@@ -30,6 +12,13 @@ import darkknight.jewelrycraft.item.render.NecklaceRender; import darkknight.jewelrycraft.item.render.RingRender;
import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.client.event.RenderHandEvent;
+import net.minecraftforge.client.event.RenderPlayerEvent;
public class PlayerRenderHandler {
EarringsRender earrings = new EarringsRender();
@@ -42,7 +31,6 @@ public class PlayerRenderHandler { @SubscribeEvent
public void renderScreen(RenderPlayerEvent.Specials.Post event) {
GL11.glPushMatrix();
- ModelBiped main = event.renderer.modelBipedMain;
ModelRenderer rightArm = event.renderer.modelBipedMain.bipedRightArm;
ModelRenderer leftArm = event.renderer.modelBipedMain.bipedLeftArm;
ModelRenderer head = event.renderer.modelBipedMain.bipedHead;
diff --git a/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java b/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java index ca475d5..4b7553e 100644 --- a/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java @@ -1,19 +1,15 @@ package darkknight.jewelrycraft.events;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
-import net.minecraft.client.gui.GuiChat;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.MathHelper;
-import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
-import org.lwjgl.opengl.GL11;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import darkknight.jewelrycraft.api.Curse;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.util.Variables;
public class ScreenHandler extends Gui {
private Minecraft mc;
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java b/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java index a67a274..6df3b1b 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java @@ -1,33 +1,7 @@ package darkknight.jewelrycraft.item;
-import java.awt.image.BufferedImage;
-import java.io.IOException;
import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.LinkedList;
import java.util.List;
-import java.util.Map;
-
-import javax.imageio.ImageIO;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockAir;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.texture.TextureManager;
-import net.minecraft.client.resources.IResourceManager;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.DamageSource;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-import net.minecraftforge.event.entity.player.PlayerEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import darkknight.jewelrycraft.JewelrycraftMod;
@@ -36,6 +10,14 @@ import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.DamageSource;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StatCollector;
+import net.minecraftforge.event.entity.player.PlayerEvent;
public abstract class ItemBaseJewelry extends Item
{
@@ -163,4 +145,16 @@ public abstract class ItemBaseJewelry extends Item for(ModifierEffects mod: ModifierEffects.getEffects())
if (JewelryNBT.doesModifierExist(item, mod.getModifier())) mod.onPlayerRespawn(item, event, this);
}
+
+ public void onJewelryEquipped(ItemStack item)
+ {
+ for(ModifierEffects mod: ModifierEffects.getEffects())
+ if (JewelryNBT.doesModifierExist(item, mod.getModifier())) mod.onJewelryEquipped(item, this);
+ }
+
+ public void onJewelryUnequipped(ItemStack item)
+ {
+ for(ModifierEffects mod: ModifierEffects.getEffects())
+ if (JewelryNBT.doesModifierExist(item, mod.getModifier())) mod.onJewelryUnequipped(item, this);
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemBracelet.java b/src/main/java/darkknight/jewelrycraft/item/ItemBracelet.java index d5c7c32..08b9dd8 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemBracelet.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemBracelet.java @@ -1,41 +1,41 @@ -package darkknight.jewelrycraft.item; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.Variables; - -public class ItemBracelet extends ItemBaseJewelry -{ - public IIcon gem; - - /** - * - */ - public ItemBracelet() - {} - - /** - * @param iconRegister - */ - @Override - public void registerIcons(IIconRegister iconRegister) - { - itemIcon = iconRegister.registerIcon(Variables.MODID + ":bracelet"); - gem = iconRegister.registerIcon(Variables.MODID + ":jewelBracelet"); - } - - /** - * @param stack - * @param pass - * @return - */ - @Override - public IIcon getIcon(ItemStack stack, int pass) - { - if (pass == 0) return itemIcon; - if (pass == 1 && JewelryNBT.gem(stack) != null) return gem; - return itemIcon; - } -} +package darkknight.jewelrycraft.item;
+
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
+public class ItemBracelet extends ItemBaseJewelry
+{
+ public IIcon gem;
+
+ /**
+ *
+ */
+ public ItemBracelet()
+ {}
+
+ /**
+ * @param iconRegister
+ */
+ @Override
+ public void registerIcons(IIconRegister iconRegister)
+ {
+ itemIcon = iconRegister.registerIcon(Variables.MODID + ":bracelet");
+ gem = iconRegister.registerIcon(Variables.MODID + ":jewelBracelet");
+ }
+
+ /**
+ * @param stack
+ * @param pass
+ * @return
+ */
+ @Override
+ public IIcon getIcon(ItemStack stack, int pass)
+ {
+ if (pass == 0) return itemIcon;
+ if (pass == 1 && JewelryNBT.gem(stack) != null) return gem;
+ return itemIcon;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemClayMolds.java b/src/main/java/darkknight/jewelrycraft/item/ItemClayMolds.java index efaac51..0ed9202 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemClayMolds.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemClayMolds.java @@ -1,88 +1,88 @@ -package darkknight.jewelrycraft.item; - -import java.util.List; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.util.Variables; - -public class ItemClayMolds extends Item -{ - /** List of molds color names */ - public static final String[] moldsItemNames = new String[]{"clayIngot", "clayRing", "clayNecklace", "clayBracelet", "clayEarrings"}; - @SideOnly (Side.CLIENT) - private IIcon[] moldsIcons; - - /** - * - */ - public ItemClayMolds() - { - super(); - setHasSubtypes(true); - setMaxDamage(0); - setMaxStackSize(1); - } - - /** - * @param par1 - * @return - */ - @Override - @SideOnly (Side.CLIENT) - /** - * Gets an icon index based on an item's damage value - */ - public IIcon getIconFromDamage(int par1) - { - int j = MathHelper.clamp_int(par1, 0, moldsItemNames.length - 1); - return moldsIcons[j]; - } - - /** - * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have different names based on their damage or NBT. - * - * @param par1ItemStack - * @return - */ - @Override - public String getUnlocalizedName(ItemStack par1ItemStack) - { - int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, moldsItemNames.length - 1); - return super.getUnlocalizedName() + "." + moldsItemNames[i]; - } - - /** - * @param par1 - * @param par2CreativeTabs - * @param par3List - */ - @Override - @SuppressWarnings ({"unchecked", "rawtypes"}) - @SideOnly (Side.CLIENT) - /** - * returns a list of items with the same ID, but different meta (eg: molds returns 16 items) - */ - public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) - { - for(int j = 0; j < moldsItemNames.length; ++j) - par3List.add(new ItemStack(par1, 1, j)); - } - - /** - * @param par1IconRegister - */ - @Override - @SideOnly (Side.CLIENT) - public void registerIcons(IIconRegister par1IconRegister) - { - moldsIcons = new IIcon[moldsItemNames.length]; - for(int i = 0; i < moldsItemNames.length; ++i) - moldsIcons[i] = par1IconRegister.registerIcon(Variables.MODID + ":" + moldsItemNames[i] + getIconString()); - } -} +package darkknight.jewelrycraft.item;
+
+import java.util.List;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.MathHelper;
+
+public class ItemClayMolds extends Item
+{
+ /** List of molds color names */
+ public static final String[] moldsItemNames = new String[]{"clayIngot", "clayRing", "clayNecklace", "clayBracelet", "clayEarrings"};
+ @SideOnly (Side.CLIENT)
+ private IIcon[] moldsIcons;
+
+ /**
+ *
+ */
+ public ItemClayMolds()
+ {
+ super();
+ setHasSubtypes(true);
+ setMaxDamage(0);
+ setMaxStackSize(1);
+ }
+
+ /**
+ * @param par1
+ * @return
+ */
+ @Override
+ @SideOnly (Side.CLIENT)
+ /**
+ * Gets an icon index based on an item's damage value
+ */
+ public IIcon getIconFromDamage(int par1)
+ {
+ int j = MathHelper.clamp_int(par1, 0, moldsItemNames.length - 1);
+ return moldsIcons[j];
+ }
+
+ /**
+ * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have different names based on their damage or NBT.
+ *
+ * @param par1ItemStack
+ * @return
+ */
+ @Override
+ public String getUnlocalizedName(ItemStack par1ItemStack)
+ {
+ int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, moldsItemNames.length - 1);
+ return super.getUnlocalizedName() + "." + moldsItemNames[i];
+ }
+
+ /**
+ * @param par1
+ * @param par2CreativeTabs
+ * @param par3List
+ */
+ @Override
+ @SuppressWarnings ({"unchecked", "rawtypes"})
+ @SideOnly (Side.CLIENT)
+ /**
+ * returns a list of items with the same ID, but different meta (eg: molds returns 16 items)
+ */
+ public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List)
+ {
+ for(int j = 0; j < moldsItemNames.length; ++j)
+ par3List.add(new ItemStack(par1, 1, j));
+ }
+
+ /**
+ * @param par1IconRegister
+ */
+ @Override
+ @SideOnly (Side.CLIENT)
+ public void registerIcons(IIconRegister par1IconRegister)
+ {
+ moldsIcons = new IIcon[moldsItemNames.length];
+ for(int i = 0; i < moldsItemNames.length; ++i)
+ moldsIcons[i] = par1IconRegister.registerIcon(Variables.MODID + ":" + moldsItemNames[i] + getIconString());
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemEarrings.java b/src/main/java/darkknight/jewelrycraft/item/ItemEarrings.java index d263ea8..fe39d18 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemEarrings.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemEarrings.java @@ -1,41 +1,41 @@ -package darkknight.jewelrycraft.item; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.Variables; - -public class ItemEarrings extends ItemBaseJewelry -{ - public IIcon gem; - - /** - * - */ - public ItemEarrings() - {} - - /** - * @param iconRegister - */ - @Override - public void registerIcons(IIconRegister iconRegister) - { - itemIcon = iconRegister.registerIcon(Variables.MODID + ":earrings"); - gem = iconRegister.registerIcon(Variables.MODID + ":jewelEarrings"); - } - - /** - * @param stack - * @param pass - * @return - */ - @Override - public IIcon getIcon(ItemStack stack, int pass) - { - if (pass == 0) return itemIcon; - if (pass == 1 && JewelryNBT.gem(stack) != null) return gem; - return itemIcon; - } -} +package darkknight.jewelrycraft.item;
+
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
+public class ItemEarrings extends ItemBaseJewelry
+{
+ public IIcon gem;
+
+ /**
+ *
+ */
+ public ItemEarrings()
+ {}
+
+ /**
+ * @param iconRegister
+ */
+ @Override
+ public void registerIcons(IIconRegister iconRegister)
+ {
+ itemIcon = iconRegister.registerIcon(Variables.MODID + ":earrings");
+ gem = iconRegister.registerIcon(Variables.MODID + ":jewelEarrings");
+ }
+
+ /**
+ * @param stack
+ * @param pass
+ * @return
+ */
+ @Override
+ public IIcon getIcon(ItemStack stack, int pass)
+ {
+ if (pass == 0) return itemIcon;
+ if (pass == 1 && JewelryNBT.gem(stack) != null) return gem;
+ return itemIcon;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java b/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java index 2adcb1b..b3553b1 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java @@ -4,10 +4,13 @@ package darkknight.jewelrycraft.item;
import java.util.List;
-import net.minecraft.block.Block;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.config.ConfigHandler;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
@@ -15,11 +18,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.Variables;
public class ItemGoldObj extends Item
{
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java b/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java index ce42093..ad496f2 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java @@ -1,17 +1,11 @@ package darkknight.jewelrycraft.item;
-import net.minecraft.entity.EntityLivingBase;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.achievements.AchievementsList;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.DamageSource;
import net.minecraft.world.World;
-import net.minecraftforge.event.entity.player.PlayerEvent.Clone;
-import darkknight.jewelrycraft.JewelrycraftMod;
-import darkknight.jewelrycraft.achievements.AchievementsList;
-import darkknight.jewelrycraft.api.IJewelryItem;
public class ItemGuide extends Item
{
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemJewelryModifier.java b/src/main/java/darkknight/jewelrycraft/item/ItemJewelryModifier.java index c8fbb9d..ed04ca6 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemJewelryModifier.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemJewelryModifier.java @@ -1,14 +1,12 @@ package darkknight.jewelrycraft.item;
import java.util.List;
-
-import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
+import darkknight.jewelrycraft.JewelrycraftMod;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
-import darkknight.jewelrycraft.JewelrycraftMod;
public class ItemJewelryModifier extends Item
{
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemList.java b/src/main/java/darkknight/jewelrycraft/item/ItemList.java index 0105d4a..5a1c016 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemList.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemList.java @@ -26,7 +26,6 @@ public class ItemList public static Item structureGen;
public static Item spawnEgg;
public static Item testItem;
- private static boolean isInitialized = false;
/**
* @param e
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemMolds.java b/src/main/java/darkknight/jewelrycraft/item/ItemMolds.java index 42daa65..a19c7fa 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemMolds.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemMolds.java @@ -1,88 +1,88 @@ -package darkknight.jewelrycraft.item; - -import java.util.List; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.util.Variables; - -public class ItemMolds extends Item -{ - /** List of molds color names */ - public static final String[] moldsItemNames = new String[]{"ingot", "ring", "necklace", "bracelet", "earrings"}; - @SideOnly (Side.CLIENT) - private IIcon[] moldsIcons; - - /** - * - */ - public ItemMolds() - { - super(); - setHasSubtypes(true); - setMaxDamage(0); - setMaxStackSize(1); - } - - /** - * @param par1 - * @return - */ - @Override - @SideOnly (Side.CLIENT) - /** - * Gets an icon index based on an item's damage value - */ - public IIcon getIconFromDamage(int par1) - { - int j = MathHelper.clamp_int(par1, 0, moldsItemNames.length - 1); - return moldsIcons[j]; - } - - /** - * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have different names based on their damage or NBT. - * - * @param par1ItemStack - * @return - */ - @Override - public String getUnlocalizedName(ItemStack par1ItemStack) - { - int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, moldsItemNames.length - 1); - return super.getUnlocalizedName() + "." + moldsItemNames[i]; - } - - /** - * @param par1 - * @param par2CreativeTabs - * @param par3List - */ - @Override - @SuppressWarnings ({"unchecked", "rawtypes"}) - @SideOnly (Side.CLIENT) - /** - * returns a list of items with the same ID, but different meta (eg: molds returns 16 items) - */ - public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) - { - for(int j = 0; j < moldsItemNames.length; ++j) - par3List.add(new ItemStack(par1, 1, j)); - } - - /** - * @param par1IconRegister - */ - @Override - @SideOnly (Side.CLIENT) - public void registerIcons(IIconRegister par1IconRegister) - { - moldsIcons = new IIcon[moldsItemNames.length]; - for(int i = 0; i < moldsItemNames.length; ++i) - moldsIcons[i] = par1IconRegister.registerIcon(Variables.MODID + ":" + moldsItemNames[i] + getIconString()); - } -} +package darkknight.jewelrycraft.item;
+
+import java.util.List;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.MathHelper;
+
+public class ItemMolds extends Item
+{
+ /** List of molds color names */
+ public static final String[] moldsItemNames = new String[]{"ingot", "ring", "necklace", "bracelet", "earrings"};
+ @SideOnly (Side.CLIENT)
+ private IIcon[] moldsIcons;
+
+ /**
+ *
+ */
+ public ItemMolds()
+ {
+ super();
+ setHasSubtypes(true);
+ setMaxDamage(0);
+ setMaxStackSize(1);
+ }
+
+ /**
+ * @param par1
+ * @return
+ */
+ @Override
+ @SideOnly (Side.CLIENT)
+ /**
+ * Gets an icon index based on an item's damage value
+ */
+ public IIcon getIconFromDamage(int par1)
+ {
+ int j = MathHelper.clamp_int(par1, 0, moldsItemNames.length - 1);
+ return moldsIcons[j];
+ }
+
+ /**
+ * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have different names based on their damage or NBT.
+ *
+ * @param par1ItemStack
+ * @return
+ */
+ @Override
+ public String getUnlocalizedName(ItemStack par1ItemStack)
+ {
+ int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, moldsItemNames.length - 1);
+ return super.getUnlocalizedName() + "." + moldsItemNames[i];
+ }
+
+ /**
+ * @param par1
+ * @param par2CreativeTabs
+ * @param par3List
+ */
+ @Override
+ @SuppressWarnings ({"unchecked", "rawtypes"})
+ @SideOnly (Side.CLIENT)
+ /**
+ * returns a list of items with the same ID, but different meta (eg: molds returns 16 items)
+ */
+ public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List)
+ {
+ for(int j = 0; j < moldsItemNames.length; ++j)
+ par3List.add(new ItemStack(par1, 1, j));
+ }
+
+ /**
+ * @param par1IconRegister
+ */
+ @Override
+ @SideOnly (Side.CLIENT)
+ public void registerIcons(IIconRegister par1IconRegister)
+ {
+ moldsIcons = new IIcon[moldsItemNames.length];
+ for(int i = 0; i < moldsItemNames.length; ++i)
+ moldsIcons[i] = par1IconRegister.registerIcon(Variables.MODID + ":" + moldsItemNames[i] + getIconString());
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java index f25e09e..a33e9f7 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java @@ -1,27 +1,13 @@ package darkknight.jewelrycraft.item;
-import java.awt.image.BufferedImage;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import javax.imageio.ImageIO;
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.client.resources.IResourceManager;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
public class ItemMoltenMetal extends Item
{
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java index 869af26..09e5adc 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java @@ -1,6 +1,5 @@ package darkknight.jewelrycraft.item;
-import java.io.IOException;
import cpw.mods.fml.common.eventhandler.Event;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -9,7 +8,6 @@ import darkknight.jewelrycraft.tileentity.TileEntityMoltenMetal; import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.Variables;
-import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemNecklace.java b/src/main/java/darkknight/jewelrycraft/item/ItemNecklace.java index a0c16f0..dc5dafa 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemNecklace.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemNecklace.java @@ -1,41 +1,41 @@ -package darkknight.jewelrycraft.item; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.Variables; - -public class ItemNecklace extends ItemBaseJewelry -{ - public IIcon gem; - - /** - * - */ - public ItemNecklace() - {} - - /** - * @param iconRegister - */ - @Override - public void registerIcons(IIconRegister iconRegister) - { - itemIcon = iconRegister.registerIcon(Variables.MODID + ":necklace"); - gem = iconRegister.registerIcon(Variables.MODID + ":jewelNecklace"); - } - - /** - * @param stack - * @param pass - * @return - */ - @Override - public IIcon getIcon(ItemStack stack, int pass) - { - if (pass == 0) return itemIcon; - if (pass == 1 && JewelryNBT.gem(stack) != null) return gem; - return itemIcon; - } -} +package darkknight.jewelrycraft.item;
+
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
+public class ItemNecklace extends ItemBaseJewelry
+{
+ public IIcon gem;
+
+ /**
+ *
+ */
+ public ItemNecklace()
+ {}
+
+ /**
+ * @param iconRegister
+ */
+ @Override
+ public void registerIcons(IIconRegister iconRegister)
+ {
+ itemIcon = iconRegister.registerIcon(Variables.MODID + ":necklace");
+ gem = iconRegister.registerIcon(Variables.MODID + ":jewelNecklace");
+ }
+
+ /**
+ * @param stack
+ * @param pass
+ * @return
+ */
+ @Override
+ public IIcon getIcon(ItemStack stack, int pass)
+ {
+ if (pass == 0) return itemIcon;
+ if (pass == 1 && JewelryNBT.gem(stack) != null) return gem;
+ return itemIcon;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemRing.java b/src/main/java/darkknight/jewelrycraft/item/ItemRing.java index d250017..d199979 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemRing.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemRing.java @@ -1,41 +1,41 @@ -package darkknight.jewelrycraft.item; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.Variables; - -public class ItemRing extends ItemBaseJewelry -{ - public IIcon gem; - - /** - * - */ - public ItemRing() - {} - - /** - * @param iconRegister - */ - @Override - public void registerIcons(IIconRegister iconRegister) - { - itemIcon = iconRegister.registerIcon(Variables.MODID + ":ring"); - gem = iconRegister.registerIcon(Variables.MODID + ":jewelRing"); - } - - /** - * @param stack - * @param pass - * @return - */ - @Override - public IIcon getIcon(ItemStack stack, int pass) - { - if (pass == 0) return itemIcon; - if (pass == 1 && JewelryNBT.gem(stack) != null) return gem; - return itemIcon; - } -} +package darkknight.jewelrycraft.item;
+
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
+public class ItemRing extends ItemBaseJewelry
+{
+ public IIcon gem;
+
+ /**
+ *
+ */
+ public ItemRing()
+ {}
+
+ /**
+ * @param iconRegister
+ */
+ @Override
+ public void registerIcons(IIconRegister iconRegister)
+ {
+ itemIcon = iconRegister.registerIcon(Variables.MODID + ":ring");
+ gem = iconRegister.registerIcon(Variables.MODID + ":jewelRing");
+ }
+
+ /**
+ * @param stack
+ * @param pass
+ * @return
+ */
+ @Override
+ public IIcon getIcon(ItemStack stack, int pass)
+ {
+ if (pass == 0) return itemIcon;
+ if (pass == 1 && JewelryNBT.gem(stack) != null) return gem;
+ return itemIcon;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemSpawnEgg.java b/src/main/java/darkknight/jewelrycraft/item/ItemSpawnEgg.java index 708c69c..474c778 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemSpawnEgg.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemSpawnEgg.java @@ -3,7 +3,10 @@ package darkknight.jewelrycraft.item; import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
@@ -19,10 +22,6 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.MovingObjectPosition.MovingObjectType;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.entities.EntityHeart;
-import darkknight.jewelrycraft.util.Variables;
/**
* @author Betweenlands
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemStructureGen.java b/src/main/java/darkknight/jewelrycraft/item/ItemStructureGen.java index 33ffd3d..9c0b03f 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemStructureGen.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemStructureGen.java @@ -1,21 +1,14 @@ package darkknight.jewelrycraft.item;
+import java.util.List;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
-import java.util.ArrayList;
-import java.util.List;
-
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-import darkknight.jewelrycraft.util.Variables;
-
public class ItemStructureGen extends Item
{
int no = 0;
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemTest.java b/src/main/java/darkknight/jewelrycraft/item/ItemTest.java index 5005d89..250ec1b 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemTest.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemTest.java @@ -1,16 +1,28 @@ package darkknight.jewelrycraft.item;
import java.util.List;
-import com.pahimar.repackage.cofh.lib.util.helpers.MathHelper;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import darkknight.jewelrycraft.api.Curse;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.util.MovingObjectPosition.MovingObjectType;
+import net.minecraft.world.World;
public class ItemTest extends Item
{
@SideOnly (Side.CLIENT)
private IIcon[] icons;
private NBTTagCompound nbt = new NBTTagCompound();
- private TileEntity test = new TileEntity();
public ItemTest()
{
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemThiefGloves.java b/src/main/java/darkknight/jewelrycraft/item/ItemThiefGloves.java index 719bda1..1d664be 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemThiefGloves.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemThiefGloves.java @@ -3,6 +3,12 @@ package darkknight.jewelrycraft.item; import java.util.Iterator;
import java.util.List;
import java.util.Random;
+import org.lwjgl.input.Keyboard;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.relauncher.ReflectionHelper;
+import cpw.mods.fml.relauncher.Side;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.passive.EntityVillager;
@@ -10,7 +16,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.ChatComponentText;
@@ -18,13 +23,6 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector;
import net.minecraft.village.MerchantRecipe;
import net.minecraft.village.MerchantRecipeList;
-import org.lwjgl.input.Keyboard;
-import cpw.mods.fml.common.FMLCommonHandler;
-import cpw.mods.fml.relauncher.ReflectionHelper;
-import cpw.mods.fml.relauncher.Side;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-import darkknight.jewelrycraft.util.PlayerUtils;
-import darkknight.jewelrycraft.util.Variables;
public class ItemThiefGloves extends Item {
public Random rand = new Random();
diff --git a/src/main/java/darkknight/jewelrycraft/item/render/BraceletRender.java b/src/main/java/darkknight/jewelrycraft/item/render/BraceletRender.java index f24dfec..c1edec2 100644 --- a/src/main/java/darkknight/jewelrycraft/item/render/BraceletRender.java +++ b/src/main/java/darkknight/jewelrycraft/item/render/BraceletRender.java @@ -1,18 +1,15 @@ package darkknight.jewelrycraft.item.render;
+import org.lwjgl.opengl.GL11;
+import cpw.mods.fml.common.Loader;
+import darkknight.jewelrycraft.model.ModelBracelet;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
-
-import cpw.mods.fml.common.Loader;
-import darkknight.jewelrycraft.model.ModelBracelet;
-import darkknight.jewelrycraft.util.Variables;
-
public class BraceletRender extends TileEntitySpecialRenderer
{
public ModelBracelet bracelet = new ModelBracelet();
diff --git a/src/main/java/darkknight/jewelrycraft/item/render/EarringsRender.java b/src/main/java/darkknight/jewelrycraft/item/render/EarringsRender.java index 56aabd5..41a2220 100644 --- a/src/main/java/darkknight/jewelrycraft/item/render/EarringsRender.java +++ b/src/main/java/darkknight/jewelrycraft/item/render/EarringsRender.java @@ -1,29 +1,29 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; -import darkknight.jewelrycraft.model.ModelEarrings; -import darkknight.jewelrycraft.util.Variables; - -public class EarringsRender extends TileEntitySpecialRenderer -{ - ModelEarrings earrings = new ModelEarrings(); - ResourceLocation texture = new ResourceLocation(Variables.MODID, "textures/entities/Earrings.png"); - - @Override - public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) - { - } - - public void doRender(Entity entity, double x, double y, double z, float f, float g) - { - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(texture); - earrings.render(entity, 0F, 0F, 0F, (float)z, f, 1.0F); - GL11.glPopMatrix(); - } +package darkknight.jewelrycraft.item.render;
+
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.model.ModelEarrings;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.entity.Entity;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.ResourceLocation;
+
+public class EarringsRender extends TileEntitySpecialRenderer
+{
+ ModelEarrings earrings = new ModelEarrings();
+ ResourceLocation texture = new ResourceLocation(Variables.MODID, "textures/entities/Earrings.png");
+
+ @Override
+ public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale)
+ {
+ }
+
+ public void doRender(Entity entity, double x, double y, double z, float f, float g)
+ {
+ GL11.glPushMatrix();
+ Minecraft.getMinecraft().renderEngine.bindTexture(texture);
+ earrings.render(entity, 0F, 0F, 0F, (float)z, f, 1.0F);
+ GL11.glPopMatrix();
+ }
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java b/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java index 165624d..fceb2d8 100644 --- a/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java +++ b/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java @@ -1,647 +1,669 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAir; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.*; -import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.client.renderer.texture.*; -import net.minecraft.client.renderer.tileentity.*; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.*; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.*; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - private float tran = 0F; - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (item != null){ - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glPushMatrix(); - GL11.glColor3f(1F, 1F, 0F); - if (Item.getItemById(Integer.valueOf(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""))) != null) renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - else renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(Blocks.end_portal), 0, type); - GL11.glPopMatrix(); - }else{ - GL11.glPushMatrix(); - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(Blocks.end_portal), 0, type); - GL11.glPopMatrix(); - } - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - if (itemStack != null){ - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (type.equals(type.ENTITY)){ - GL11.glTranslatef(0.0F, 0.0265F, 0.0F); - GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(0.625F, 0.625F, 0.625F); - } - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glTranslatef(-0.35F, 0.4F, 0.93F); - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(-25f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - renderShine(tessellator, true); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 13){ - // Cactus - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.0625F, 0.0F, 0.0625F); - GL11.glScalef(0.9375F - 0.0625F, 1F, 0.9375F - 0.0625F); - shinyBlock(tessellator, false); - }else if (j == 22){ - // Chest - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glTranslatef(0.0625F, 0.0F, 0.0625F); - GL11.glScalef(0.9375F - 0.0625F, 0.875F, 0.9375F - 0.0625F); - shinyBlock(tessellator, false); - }else if (j == 10){ - // Stairs - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - // Dragon Egg - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - // Fence - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - // Fence Gate - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - // Wall - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - // Anvil - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - // Beacon - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - shinyBlock(tessellator, false); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - - GL11.glTranslatef((float)block.getBlockBoundsMinX(), (float)block.getBlockBoundsMinY(), (float)block.getBlockBoundsMinZ()); - GL11.glScalef((float)block.getBlockBoundsMaxX() - (float)block.getBlockBoundsMinX(), (float)block.getBlockBoundsMaxY() - (float)block.getBlockBoundsMinY(), (float)block.getBlockBoundsMaxZ() - (float)block.getBlockBoundsMinZ()); - shinyBlock(tessellator, false); - - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } - - public void renderShine(Tessellator tessellator, boolean autoAnimate) - { - TextureManager texturemanager = this.mc.getTextureManager(); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - if (autoAnimate) GL11.glTranslatef(17F, 0.0F, 0.0F); - else{ - GL11.glTranslatef(tran, 0.0F, 0.0F); - tran+=0.0004F; - if(tran >= 360F) tran = 0F; - } - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.001F); - GL11.glPopMatrix(); - } - - public void shinyBlock(Tessellator tessellator, boolean autoAnimate) - { - GL11.glPushMatrix(); - GL11.glTranslatef(0F, 0.0F, -0.001F); - renderShine(tessellator, autoAnimate); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslatef(1.0F, 0.0F, 1.0001F); - GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); - renderShine(tessellator, autoAnimate); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslatef(-0.001F, 0.0F, 0.0F); - GL11.glRotatef(90.0F, 0.0F, -1.0F, 0.0F); - renderShine(tessellator, autoAnimate); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslatef(1.001F, 0.0F, 1.0F); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - renderShine(tessellator, autoAnimate); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslatef(0.0F, -0.001F, 0.0F); - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - renderShine(tessellator, autoAnimate); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslatef(0.0F, 1.0F, 0.0F); - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - renderShine(tessellator, autoAnimate); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glPopMatrix(); - } -} +package darkknight.jewelrycraft.item.render;
+
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockAnvil;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.OpenGlHelper;
+import net.minecraft.client.renderer.RenderBlocks;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.client.renderer.texture.TextureUtil;
+import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper;
+import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+import net.minecraft.src.FMLRenderAccessLibrary;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.ForgeHooksClient;
+import net.minecraftforge.client.IItemRenderer;
+import net.minecraftforge.client.MinecraftForgeClient;
+
+public class ItemRender implements IItemRenderer
+{
+ TileEntitySpecialRenderer render;
+ public TileEntity entity;
+ ModelBase model;
+ private RenderBlocks renderBlocksIr = new RenderBlocks();
+ private Minecraft mc = Minecraft.getMinecraft();
+ private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
+ private float tran = 0F;
+
+ /**
+ * @param render
+ * @param entity
+ * @param model
+ */
+ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
+ {
+ this.entity = entity;
+ this.render = render;
+ this.model = model;
+ }
+
+ public ItemRender()
+ {}
+
+ /**
+ * @param item
+ * @param type
+ * @return
+ */
+ @Override
+ public boolean handleRenderType(ItemStack item, ItemRenderType type)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param helper
+ * @return
+ */
+ @Override
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
+ {
+ return true;
+ }
+
+ /**
+ * @param type
+ * @param item
+ * @param data
+ */
+ @Override
+ public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
+ {
+ if (item != null) {
+ if (render != null && entity != null && JewelryNBT.item(item) == null) {
+ if (type == IItemRenderer.ItemRenderType.ENTITY) {
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else
+ if (JewelryNBT.item(item) != null) {
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ if (Item.getItemById(Integer.valueOf(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""))) != null)
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ else renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(Blocks.end_portal), 0, type);
+ GL11.glPopMatrix();
+ }else{
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(Blocks.end_portal), 0, type);
+ GL11.glPopMatrix();
+ }
+ }
+ }
+
+ public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type)
+ {
+ GL11.glPushMatrix();
+ TextureManager texturemanager = this.mc.getTextureManager();
+ if (itemStack != null) {
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null) {
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED))
+ GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else
+ if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())) {
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED))
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0) {
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
+ }else{
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null) {
+ GL11.glPopMatrix();
+ return;
+ }
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)) {
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)) {
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)) {
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else
+ if (type.equals(type.EQUIPPED_FIRST_PERSON)) {
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()) {
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ renderShine(tessellator, true);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
+ }
+ }
+ GL11.glPopMatrix();
+ }
+
+ public void renderBlockAsItem(Block block, int damage, float luminacy)
+ {
+ Tessellator tessellator = Tessellator.instance;
+ if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace)
+ damage = 3;
+ int j;
+ float f1;
+ float f2;
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ j = block.getRenderType();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ int k;
+ if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26) {
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ if (j == 13) {
+ // Cactus
+ block.setBlockBoundsForItemRender();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ f1 = 0.0625F;
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ tessellator.addTranslation(0.0F, 0.0F, -f1);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.addTranslation(0.0F, 0.0F, f1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ tessellator.addTranslation(-f1, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.addTranslation(f1, 0.0F, 0.0F);
+ tessellator.draw();
+ GL11.glTranslatef(0.0625F, 0.0F, 0.0625F);
+ GL11.glScalef(0.9375F - 0.0625F, 1F, 0.9375F - 0.0625F);
+ shinyBlock(tessellator, false);
+ }else
+ if (j == 22) {
+ // Chest
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ GL11.glTranslatef(0.0625F, 0.0F, 0.0625F);
+ GL11.glScalef(0.9375F - 0.0625F, 0.875F, 0.9375F - 0.0625F);
+ shinyBlock(tessellator, false);
+ }else
+ if (j == 10) {
+ // Stairs
+ for(k = 0; k < 2; ++k){
+ if (k == 0) {
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
+ }
+ if (k == 1) {
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else
+ if (j == 27) {
+ // Dragon Egg
+ k = 0;
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ for(int l = 0; l < 8; ++l){
+ byte b0 = 0;
+ byte b1 = 1;
+ if (l == 0) {
+ b0 = 2;
+ }
+ if (l == 1) {
+ b0 = 3;
+ }
+ if (l == 2) {
+ b0 = 4;
+ }
+ if (l == 3) {
+ b0 = 5;
+ b1 = 2;
+ }
+ if (l == 4) {
+ b0 = 6;
+ b1 = 3;
+ }
+ if (l == 5) {
+ b0 = 7;
+ b1 = 5;
+ }
+ if (l == 6) {
+ b0 = 6;
+ b1 = 2;
+ }
+ if (l == 7) {
+ b0 = 3;
+ }
+ float f5 = (float)b0 / 16.0F;
+ float f6 = 1.0F - (float)k / 16.0F;
+ float f7 = 1.0F - (float)(k + b1) / 16.0F;
+ k += b1;
+ renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5));
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ }
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else
+ if (j == 11) {
+ // Fence
+ for(k = 0; k < 4; ++k){
+ f2 = 0.125F;
+ if (k == 0) {
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1) {
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2) {
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ if (k == 3) {
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else
+ if (j == 21) {
+ // Fence Gate
+ for(k = 0; k < 3; ++k){
+ f2 = 0.0625F;
+ if (k == 0) {
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F));
+ }
+ if (k == 1) {
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D);
+ }
+ f2 = 0.0625F;
+ if (k == 2) {
+ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }else
+ if (j == 32) {
+ // Wall
+ for(k = 0; k < 2; ++k){
+ if (k == 0) {
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
+ }
+ if (k == 1) {
+ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ }else
+ if (j == 35) {
+ // Anvil
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }else
+ if (j == 34) {
+ // Beacon
+ for(k = 0; k < 3; ++k){
+ if (k == 0) {
+ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian));
+ }else
+ if (k == 1) {
+ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon));
+ }else
+ if (k == 2) {
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass));
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
+ renderBlocksIr.clearOverrideBlockTexture();
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ shinyBlock(tessellator, false);
+ }else{
+ try{
+ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j);
+ }
+ catch(Exception e){
+ JewelrycraftMod.logger.error("Something went wrong with rendering the item");
+ e.printStackTrace();
+ }
+ }
+ }else{
+ if (j == 16) {
+ damage = 1;
+ }
+ block.setBlockBoundsForItemRender();
+ renderBlocksIr.setRenderBoundsFromBlock(block);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, -1.0F, 0.0F);
+ renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 1.0F, 0.0F);
+ renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage));
+ tessellator.draw();
+ GL11.glColor4f(1F, 1F, 0F, 1.0F);
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, -1.0F);
+ renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(0.0F, 0.0F, 1.0F);
+ renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(-1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage));
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ tessellator.setNormal(1.0F, 0.0F, 0.0F);
+ renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage));
+ tessellator.draw();
+ GL11.glTranslatef((float)block.getBlockBoundsMinX(), (float)block.getBlockBoundsMinY(), (float)block.getBlockBoundsMinZ());
+ GL11.glScalef((float)block.getBlockBoundsMaxX() - (float)block.getBlockBoundsMinX(), (float)block.getBlockBoundsMaxY() - (float)block.getBlockBoundsMinY(), (float)block.getBlockBoundsMaxZ() - (float)block.getBlockBoundsMinZ());
+ shinyBlock(tessellator, false);
+ GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ }
+ }
+
+ public void renderShine(Tessellator tessellator, boolean autoAnimate)
+ {
+ TextureManager texturemanager = this.mc.getTextureManager();
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ if (autoAnimate)
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ else{
+ GL11.glTranslatef(tran, 0.0F, 0.0F);
+ tran += 0.0004F;
+ if (tran >= 360F)
+ tran = 0F;
+ }
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.001F);
+ GL11.glPopMatrix();
+ }
+
+ public void shinyBlock(Tessellator tessellator, boolean autoAnimate)
+ {
+ GL11.glPushMatrix();
+ GL11.glTranslatef(0F, 0.0F, -0.001F);
+ renderShine(tessellator, autoAnimate);
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glTranslatef(1.0F, 0.0F, 1.0001F);
+ GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
+ renderShine(tessellator, autoAnimate);
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glTranslatef(-0.001F, 0.0F, 0.0F);
+ GL11.glRotatef(90.0F, 0.0F, -1.0F, 0.0F);
+ renderShine(tessellator, autoAnimate);
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glTranslatef(1.001F, 0.0F, 1.0F);
+ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ renderShine(tessellator, autoAnimate);
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glTranslatef(0.0F, -0.001F, 0.0F);
+ GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
+ renderShine(tessellator, autoAnimate);
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glTranslatef(0.0F, 1.0F, 0.0F);
+ GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
+ renderShine(tessellator, autoAnimate);
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glPopMatrix();
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/item/render/MaskRender.java b/src/main/java/darkknight/jewelrycraft/item/render/MaskRender.java index b4e20a9..8228619 100644 --- a/src/main/java/darkknight/jewelrycraft/item/render/MaskRender.java +++ b/src/main/java/darkknight/jewelrycraft/item/render/MaskRender.java @@ -1,15 +1,13 @@ package darkknight.jewelrycraft.item.render;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.model.ModelMask;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
-import darkknight.jewelrycraft.model.ModelMask;
-import darkknight.jewelrycraft.tileentity.TileEntityDisplayer;
-import darkknight.jewelrycraft.util.Variables;
public class MaskRender extends TileEntitySpecialRenderer
{
diff --git a/src/main/java/darkknight/jewelrycraft/item/render/NecklaceRender.java b/src/main/java/darkknight/jewelrycraft/item/render/NecklaceRender.java index e773a14..0799bab 100644 --- a/src/main/java/darkknight/jewelrycraft/item/render/NecklaceRender.java +++ b/src/main/java/darkknight/jewelrycraft/item/render/NecklaceRender.java @@ -1,29 +1,29 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; -import darkknight.jewelrycraft.model.ModelNeckalce; -import darkknight.jewelrycraft.util.Variables; - -public class NecklaceRender extends TileEntitySpecialRenderer -{ - public ModelNeckalce neckalce = new ModelNeckalce(); - ResourceLocation texture = new ResourceLocation(Variables.MODID, "textures/entities/Necklace.png"); - - @Override - public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) - { - } - - public void doRender(Entity entity, double x, double y, double z, float f, float g) - { - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(texture); - if ((float)z != -1) neckalce.render(entity, 0F, 0F, 0F, (float)z, f, 1.0F); - GL11.glPopMatrix(); - } +package darkknight.jewelrycraft.item.render;
+
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.model.ModelNeckalce;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.entity.Entity;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.ResourceLocation;
+
+public class NecklaceRender extends TileEntitySpecialRenderer
+{
+ public ModelNeckalce neckalce = new ModelNeckalce();
+ ResourceLocation texture = new ResourceLocation(Variables.MODID, "textures/entities/Necklace.png");
+
+ @Override
+ public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale)
+ {
+ }
+
+ public void doRender(Entity entity, double x, double y, double z, float f, float g)
+ {
+ GL11.glPushMatrix();
+ Minecraft.getMinecraft().renderEngine.bindTexture(texture);
+ if ((float)z != -1) neckalce.render(entity, 0F, 0F, 0F, (float)z, f, 1.0F);
+ GL11.glPopMatrix();
+ }
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/item/render/RingRender.java b/src/main/java/darkknight/jewelrycraft/item/render/RingRender.java index 5385fe1..b48af10 100644 --- a/src/main/java/darkknight/jewelrycraft/item/render/RingRender.java +++ b/src/main/java/darkknight/jewelrycraft/item/render/RingRender.java @@ -1,13 +1,13 @@ package darkknight.jewelrycraft.item.render;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.model.ModelRing;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
-import darkknight.jewelrycraft.model.ModelRing;
-import darkknight.jewelrycraft.util.Variables;
public class RingRender extends TileEntitySpecialRenderer
{
diff --git a/src/main/java/darkknight/jewelrycraft/model/ItemStackModelRenderer.java b/src/main/java/darkknight/jewelrycraft/model/ItemStackModelRenderer.java index 3162061..fa56a5b 100644 --- a/src/main/java/darkknight/jewelrycraft/model/ItemStackModelRenderer.java +++ b/src/main/java/darkknight/jewelrycraft/model/ItemStackModelRenderer.java @@ -1,71 +1,71 @@ -package darkknight.jewelrycraft.model; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; - -/** - * @author Paul Fulham (pau101) - */ -public class ItemStackModelRenderer extends ModelRenderer -{ - private RenderItem renderItem; - private TextureManager textureManager; - private ResourceLocation resetResourceLocation; - private EntityItem entityItem; - private Minecraft mc; - - /** - * @param modelBase - * @param resetResourceLocation - */ - public ItemStackModelRenderer(ModelBase modelBase, ResourceLocation resetResourceLocation) - { - super(modelBase); - renderItem = (RenderItem)RenderManager.instance.entityRenderMap.get(EntityItem.class); - textureManager = (mc = Minecraft.getMinecraft()).getTextureManager(); - this.resetResourceLocation = resetResourceLocation; - } - - /** - * @param itemStack - */ - public void setItemStack(ItemStack itemStack) - { - if (itemStack == null || itemStack.getItem() == null) entityItem = null; - else{ - entityItem = new EntityItem(null, 0, 0, 0, itemStack); - entityItem.hoverStart = 0; - } - } - - /** - * @param scale - */ - @Override - public void render(float scale) - { - if (!isHidden && showModel && entityItem != null){ - if (textureManager == null) textureManager = mc.getTextureManager(); - GL11.glPushMatrix(); - GL11.glTranslatef(offsetX, offsetY, offsetZ); - GL11.glTranslatef(rotationPointX * scale, rotationPointY * scale, rotationPointZ * scale); - GL11.glRotatef(rotateAngleZ * (180 / (float)Math.PI), 0, 0, 1); - GL11.glRotatef(rotateAngleY * (180 / (float)Math.PI), 0, 1, 0); - GL11.glRotatef(rotateAngleX * (180 / (float)Math.PI), 1, 0, 0); - boolean fancyGraphics = mc.gameSettings.fancyGraphics; - mc.gameSettings.fancyGraphics = true; - renderItem.doRender(entityItem, 0, 0, 0, 0, 0); - mc.gameSettings.fancyGraphics = fancyGraphics; - GL11.glPopMatrix(); - textureManager.bindTexture(resetResourceLocation); - } - } +package darkknight.jewelrycraft.model;
+
+import org.lwjgl.opengl.GL11;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.entity.RenderManager;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+
+/**
+ * @author Paul Fulham (pau101)
+ */
+public class ItemStackModelRenderer extends ModelRenderer
+{
+ private RenderItem renderItem;
+ private TextureManager textureManager;
+ private ResourceLocation resetResourceLocation;
+ private EntityItem entityItem;
+ private Minecraft mc;
+
+ /**
+ * @param modelBase
+ * @param resetResourceLocation
+ */
+ public ItemStackModelRenderer(ModelBase modelBase, ResourceLocation resetResourceLocation)
+ {
+ super(modelBase);
+ renderItem = (RenderItem)RenderManager.instance.entityRenderMap.get(EntityItem.class);
+ textureManager = (mc = Minecraft.getMinecraft()).getTextureManager();
+ this.resetResourceLocation = resetResourceLocation;
+ }
+
+ /**
+ * @param itemStack
+ */
+ public void setItemStack(ItemStack itemStack)
+ {
+ if (itemStack == null || itemStack.getItem() == null) entityItem = null;
+ else{
+ entityItem = new EntityItem(null, 0, 0, 0, itemStack);
+ entityItem.hoverStart = 0;
+ }
+ }
+
+ /**
+ * @param scale
+ */
+ @Override
+ public void render(float scale)
+ {
+ if (!isHidden && showModel && entityItem != null){
+ if (textureManager == null) textureManager = mc.getTextureManager();
+ GL11.glPushMatrix();
+ GL11.glTranslatef(offsetX, offsetY, offsetZ);
+ GL11.glTranslatef(rotationPointX * scale, rotationPointY * scale, rotationPointZ * scale);
+ GL11.glRotatef(rotateAngleZ * (180 / (float)Math.PI), 0, 0, 1);
+ GL11.glRotatef(rotateAngleY * (180 / (float)Math.PI), 0, 1, 0);
+ GL11.glRotatef(rotateAngleX * (180 / (float)Math.PI), 1, 0, 0);
+ boolean fancyGraphics = mc.gameSettings.fancyGraphics;
+ mc.gameSettings.fancyGraphics = true;
+ renderItem.doRender(entityItem, 0, 0, 0, 0, 0);
+ mc.gameSettings.fancyGraphics = fancyGraphics;
+ GL11.glPopMatrix();
+ textureManager.bindTexture(resetResourceLocation);
+ }
+ }
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/model/ModelBracelet.java b/src/main/java/darkknight/jewelrycraft/model/ModelBracelet.java index 0323c1d..6326569 100644 --- a/src/main/java/darkknight/jewelrycraft/model/ModelBracelet.java +++ b/src/main/java/darkknight/jewelrycraft/model/ModelBracelet.java @@ -1,11 +1,9 @@ package darkknight.jewelrycraft.model; -import java.awt.Color; +import org.lwjgl.opengl.GL11; import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -import org.lwjgl.opengl.GL11; /** * ModelBiped - Either Mojang or a mod author Created using Tabula 4.1.1 diff --git a/src/main/java/darkknight/jewelrycraft/model/ModelDisplayer.java b/src/main/java/darkknight/jewelrycraft/model/ModelDisplayer.java index 065b87b..c26d76e 100644 --- a/src/main/java/darkknight/jewelrycraft/model/ModelDisplayer.java +++ b/src/main/java/darkknight/jewelrycraft/model/ModelDisplayer.java @@ -1,9 +1,9 @@ package darkknight.jewelrycraft.model; +import org.lwjgl.opengl.GL11; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -import org.lwjgl.opengl.GL11; public class ModelDisplayer extends ModelBase { diff --git a/src/main/java/darkknight/jewelrycraft/model/ModelHandPedestal.java b/src/main/java/darkknight/jewelrycraft/model/ModelHandPedestal.java index 312bd17..0fc16b0 100644 --- a/src/main/java/darkknight/jewelrycraft/model/ModelHandPedestal.java +++ b/src/main/java/darkknight/jewelrycraft/model/ModelHandPedestal.java @@ -1,5 +1,7 @@ package darkknight.jewelrycraft.model; +import com.pau101.util.CubicBezier; +import darkknight.jewelrycraft.tileentity.TileEntityHandPedestal; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.item.Item; @@ -7,8 +9,6 @@ import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; -import com.pau101.util.CubicBezier; -import darkknight.jewelrycraft.tileentity.TileEntityHandPedestal; /** * @author Paul Fulham (pau101) diff --git a/src/main/java/darkknight/jewelrycraft/model/ModelNeckalce.java b/src/main/java/darkknight/jewelrycraft/model/ModelNeckalce.java index ed754ef..7fec995 100644 --- a/src/main/java/darkknight/jewelrycraft/model/ModelNeckalce.java +++ b/src/main/java/darkknight/jewelrycraft/model/ModelNeckalce.java @@ -1,9 +1,9 @@ package darkknight.jewelrycraft.model; +import org.lwjgl.opengl.GL11; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -import org.lwjgl.opengl.GL11; /** * ModelNeckalce - OnyxDarkKnight Created using Tabula 4.1.1 diff --git a/src/main/java/darkknight/jewelrycraft/model/ModelRing.java b/src/main/java/darkknight/jewelrycraft/model/ModelRing.java index babb171..d15c095 100644 --- a/src/main/java/darkknight/jewelrycraft/model/ModelRing.java +++ b/src/main/java/darkknight/jewelrycraft/model/ModelRing.java @@ -1,9 +1,9 @@ package darkknight.jewelrycraft.model; +import org.lwjgl.opengl.GL11; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -import org.lwjgl.opengl.GL11; /** * ModelRing - OnyxDarkKnight Created using Tabula 4.1.1 diff --git a/src/main/java/darkknight/jewelrycraft/model/ModelShadowEye.java b/src/main/java/darkknight/jewelrycraft/model/ModelShadowEye.java index 1962aa8..e0067cd 100644 --- a/src/main/java/darkknight/jewelrycraft/model/ModelShadowEye.java +++ b/src/main/java/darkknight/jewelrycraft/model/ModelShadowEye.java @@ -6,11 +6,9 @@ package darkknight.jewelrycraft.model; import org.lwjgl.opengl.GL11; - import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -import net.minecraft.util.Vec3; public class ModelShadowEye extends ModelBase { // fields diff --git a/src/main/java/darkknight/jewelrycraft/network/PacketKeyPressEvent.java b/src/main/java/darkknight/jewelrycraft/network/PacketKeyPressEvent.java index 34e8364..b7ab07d 100644 --- a/src/main/java/darkknight/jewelrycraft/network/PacketKeyPressEvent.java +++ b/src/main/java/darkknight/jewelrycraft/network/PacketKeyPressEvent.java @@ -1,11 +1,11 @@ package darkknight.jewelrycraft.network;
-import io.netty.buffer.ByteBuf;
-import net.minecraft.entity.player.EntityPlayer;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import darkknight.jewelrycraft.JewelrycraftMod;
+import io.netty.buffer.ByteBuf;
+import net.minecraft.entity.player.EntityPlayer;
public class PacketKeyPressEvent implements IMessage, IMessageHandler<PacketKeyPressEvent, IMessage>
{
diff --git a/src/main/java/darkknight/jewelrycraft/network/PacketRequestPlayerInfo.java b/src/main/java/darkknight/jewelrycraft/network/PacketRequestPlayerInfo.java index 0e48968..f8df419 100644 --- a/src/main/java/darkknight/jewelrycraft/network/PacketRequestPlayerInfo.java +++ b/src/main/java/darkknight/jewelrycraft/network/PacketRequestPlayerInfo.java @@ -1,43 +1,43 @@ -package darkknight.jewelrycraft.network; - -import io.netty.buffer.ByteBuf; -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import darkknight.jewelrycraft.util.PlayerUtils; -import darkknight.jewelrycraft.util.Variables; - -public class PacketRequestPlayerInfo implements IMessage, IMessageHandler<PacketRequestPlayerInfo, IMessage> -{ - - /** - * - */ - public PacketRequestPlayerInfo() - {} - - /** - * @param message - * @param ctx - * @return - */ - @Override - public IMessage onMessage(PacketRequestPlayerInfo message, MessageContext ctx) - { - return new PacketSendClientPlayerInfo(PlayerUtils.getModPlayerPersistTag(ctx.getServerHandler().playerEntity, Variables.MODID)); - } - - /** - * @param buf - */ - @Override - public void fromBytes(ByteBuf buf) - {} - - /** - * @param buf - */ - @Override - public void toBytes(ByteBuf buf) - {} -} +package darkknight.jewelrycraft.network;
+
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+import io.netty.buffer.ByteBuf;
+
+public class PacketRequestPlayerInfo implements IMessage, IMessageHandler<PacketRequestPlayerInfo, IMessage>
+{
+
+ /**
+ *
+ */
+ public PacketRequestPlayerInfo()
+ {}
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketRequestPlayerInfo message, MessageContext ctx)
+ {
+ return new PacketSendClientPlayerInfo(PlayerUtils.getModPlayerPersistTag(ctx.getServerHandler().playerEntity, Variables.MODID));
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {}
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {}
+}
diff --git a/src/main/java/darkknight/jewelrycraft/network/PacketRequestSetSlot.java b/src/main/java/darkknight/jewelrycraft/network/PacketRequestSetSlot.java index 79b92f2..d06bfc0 100644 --- a/src/main/java/darkknight/jewelrycraft/network/PacketRequestSetSlot.java +++ b/src/main/java/darkknight/jewelrycraft/network/PacketRequestSetSlot.java @@ -1,64 +1,62 @@ -/** - * - */ -package darkknight.jewelrycraft.network; - -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import io.netty.buffer.ByteBuf; -import cpw.mods.fml.common.network.ByteBufUtils; -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import darkknight.jewelrycraft.client.gui.container.ContainerJewelryModifier; -import darkknight.jewelrycraft.client.gui.container.ContainerJewelryTab; - -/** - * @author Sorin - * - */ -public class PacketRequestSetSlot implements IMessage, IMessageHandler<PacketRequestSetSlot, IMessage> -{ - ItemStack stack; - - public PacketRequestSetSlot() - {} - - public PacketRequestSetSlot(ItemStack stack) - { - this.stack = stack; - } - - /** - * @param message - * @param ctx - * @return - */ - @Override - public IMessage onMessage(PacketRequestSetSlot message, MessageContext ctx) - { - if (ctx.getServerHandler().playerEntity.openContainer instanceof ContainerJewelryModifier) - { - ((ContainerJewelryModifier)ctx.getServerHandler().playerEntity.openContainer).modInv.setInventorySlotContents(36, message.stack); - } - return null; - } - - /** - * @param buf - */ - @Override - public void fromBytes(ByteBuf buf) - { - stack = ByteBufUtils.readItemStack(buf); - } - - /** - * @param buf - */ - @Override - public void toBytes(ByteBuf buf) - { - ByteBufUtils.writeItemStack(buf, stack); - } -} +/**
+ *
+ */
+package darkknight.jewelrycraft.network;
+
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.client.gui.container.ContainerJewelryModifier;
+import io.netty.buffer.ByteBuf;
+import net.minecraft.item.ItemStack;
+
+/**
+ * @author Sorin
+ *
+ */
+public class PacketRequestSetSlot implements IMessage, IMessageHandler<PacketRequestSetSlot, IMessage>
+{
+ ItemStack stack;
+
+ public PacketRequestSetSlot()
+ {}
+
+ public PacketRequestSetSlot(ItemStack stack)
+ {
+ this.stack = stack;
+ }
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketRequestSetSlot message, MessageContext ctx)
+ {
+ if (ctx.getServerHandler().playerEntity.openContainer instanceof ContainerJewelryModifier)
+ {
+ ((ContainerJewelryModifier)ctx.getServerHandler().playerEntity.openContainer).modInv.setInventorySlotContents(36, message.stack);
+ }
+ return null;
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {
+ stack = ByteBufUtils.readItemStack(buf);
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {
+ ByteBufUtils.writeItemStack(buf, stack);
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/network/PacketSendClientPlayerInfo.java b/src/main/java/darkknight/jewelrycraft/network/PacketSendClientPlayerInfo.java index 5c391cd..c8bf0aa 100644 --- a/src/main/java/darkknight/jewelrycraft/network/PacketSendClientPlayerInfo.java +++ b/src/main/java/darkknight/jewelrycraft/network/PacketSendClientPlayerInfo.java @@ -1,12 +1,12 @@ package darkknight.jewelrycraft.network;
-import io.netty.buffer.ByteBuf;
-import net.minecraft.nbt.NBTTagCompound;
import cpw.mods.fml.common.network.ByteBufUtils;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import darkknight.jewelrycraft.events.ScreenHandler;
+import io.netty.buffer.ByteBuf;
+import net.minecraft.nbt.NBTTagCompound;
public class PacketSendClientPlayerInfo implements IMessage, IMessageHandler<PacketSendClientPlayerInfo, IMessage>
{
diff --git a/src/main/java/darkknight/jewelrycraft/network/PacketSendServerPlayersInfo.java b/src/main/java/darkknight/jewelrycraft/network/PacketSendServerPlayersInfo.java index c87bf81..bcf58ea 100644 --- a/src/main/java/darkknight/jewelrycraft/network/PacketSendServerPlayersInfo.java +++ b/src/main/java/darkknight/jewelrycraft/network/PacketSendServerPlayersInfo.java @@ -1,70 +1,69 @@ -/** - * - */ -package darkknight.jewelrycraft.network; - -import io.netty.buffer.ByteBuf; -import java.util.Iterator; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.server.MinecraftServer; -import cpw.mods.fml.common.network.ByteBufUtils; -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import darkknight.jewelrycraft.events.PlayerRenderHandler; -import darkknight.jewelrycraft.util.PlayerUtils; -import darkknight.jewelrycraft.util.Variables; - -/** - * @author Sorin - * - */ -public class PacketSendServerPlayersInfo implements IMessage, IMessageHandler<PacketSendServerPlayersInfo, IMessage> -{ - public PacketSendServerPlayersInfo() - { - - } - - /** - * @param message - * @param ctx - * @return - */ - @Override - public IMessage onMessage(PacketSendServerPlayersInfo message, MessageContext ctx) - { - return null; - } - - /** - * @param buf - */ - @Override - public void fromBytes(ByteBuf buf) - { - NBTTagCompound temp = ByteBufUtils.readTag(buf); - if (temp != null) - PlayerRenderHandler.playersInfo = temp; - else - PlayerRenderHandler.playersInfo = new NBTTagCompound(); - } - - /** - * @param buf - */ - @Override - public void toBytes(ByteBuf buf) - { - Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator(); - String infamyPlayers = ""; - NBTTagCompound nbt = new NBTTagCompound(); - while (players.hasNext()) - { - EntityPlayer current = players.next(); - nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); - } - ByteBufUtils.writeTag(buf, nbt); - } -} +/**
+ *
+ */
+package darkknight.jewelrycraft.network;
+
+import java.util.Iterator;
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import darkknight.jewelrycraft.events.PlayerRenderHandler;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
+import io.netty.buffer.ByteBuf;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+
+/**
+ * @author Sorin
+ *
+ */
+public class PacketSendServerPlayersInfo implements IMessage, IMessageHandler<PacketSendServerPlayersInfo, IMessage>
+{
+ public PacketSendServerPlayersInfo()
+ {
+
+ }
+
+ /**
+ * @param message
+ * @param ctx
+ * @return
+ */
+ @Override
+ public IMessage onMessage(PacketSendServerPlayersInfo message, MessageContext ctx)
+ {
+ return null;
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void fromBytes(ByteBuf buf)
+ {
+ NBTTagCompound temp = ByteBufUtils.readTag(buf);
+ if (temp != null)
+ PlayerRenderHandler.playersInfo = temp;
+ else
+ PlayerRenderHandler.playersInfo = new NBTTagCompound();
+ }
+
+ /**
+ * @param buf
+ */
+ @Override
+ public void toBytes(ByteBuf buf)
+ {
+ Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator();
+ NBTTagCompound nbt = new NBTTagCompound();
+ while (players.hasNext())
+ {
+ EntityPlayer current = players.next();
+ nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
+ }
+ ByteBufUtils.writeTag(buf, nbt);
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/particles/EntityFlatShadowFX.java b/src/main/java/darkknight/jewelrycraft/particles/EntityFlatShadowFX.java index 70e47b0..0948f56 100644 --- a/src/main/java/darkknight/jewelrycraft/particles/EntityFlatShadowFX.java +++ b/src/main/java/darkknight/jewelrycraft/particles/EntityFlatShadowFX.java @@ -1,91 +1,91 @@ -package darkknight.jewelrycraft.particles; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.particle.EntityFX; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; -import org.lwjgl.opengl.GL11; - -public class EntityFlatShadowFX extends EntityFX -{ - float moteParticleScale; - ResourceLocation texture; - - /** - * @param world - * @param x - * @param y - * @param z - * @param size - * @param maxAge - * @param texture - */ - public EntityFlatShadowFX(World world, double x, double y, double z, float size, float maxAge, ResourceLocation texture) - { - super(world, x, y, z, 0D, 0D, 0D); - particleMaxAge = (int)(28D / (Math.random() * 0.3D + 0.7D) * maxAge); - particleGravity = 0F; - motionX = motionY = motionZ = 0; - particleScale = size; - noClip = true; - this.texture = texture; - setSize(0.1F, 0.1F); - } - - /** - * @param tessellator - * @param partialTicks - * @param minX - * @param minY - * @param minZ - * @param maxX - * @param maxZ - */ - @Override - public void renderParticle(Tessellator tessellator, float partialTicks, float minX, float minY, float minZ, float maxX, float maxZ) - { - tessellator.draw(); - Minecraft.getMinecraft().renderEngine.bindTexture(texture); - tessellator.startDrawingQuads(); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glDepthMask(false); - float scale = 1F * particleScale; - float x = (float)(posX - interpPosX); - float y = (float)(posX - interpPosY); - float z = (float)(posZ - interpPosZ); - tessellator.setColorRGBA_F(0F, 0F, 0F, 1F); - tessellator.addVertexWithUV(x - minX * scale - maxX * scale, y + minY * scale, z - minZ * scale - maxZ * scale, 0, 0); - tessellator.addVertexWithUV(x - minX * scale + maxX * scale, y + minY * scale, z - minZ * scale + maxZ * scale, 1, 0); - tessellator.addVertexWithUV(x + minX * scale + maxX * scale, y + minY * scale, z + minZ * scale + maxZ * scale, 1, 1); - tessellator.addVertexWithUV(x + minX * scale - maxX * scale, y + minY * scale, z + minZ * scale - maxZ * scale, 0, 1); - tessellator.draw(); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthMask(true); - tessellator.startDrawingQuads(); - } - - /** - * - */ - @Override - public void onUpdate() - { - prevPosX = posX; - prevPosY = posY; - prevPosZ = posZ; - motionX = motionY = motionZ = 0; - if (particleAge++ >= particleMaxAge) setDead(); - } - - /** - * @return - */ - @Override - public int getFXLayer() - { - return 0; - } -} +package darkknight.jewelrycraft.particles;
+
+import org.lwjgl.opengl.GL11;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.particle.EntityFX;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+
+public class EntityFlatShadowFX extends EntityFX
+{
+ float moteParticleScale;
+ ResourceLocation texture;
+
+ /**
+ * @param world
+ * @param x
+ * @param y
+ * @param z
+ * @param size
+ * @param maxAge
+ * @param texture
+ */
+ public EntityFlatShadowFX(World world, double x, double y, double z, float size, float maxAge, ResourceLocation texture)
+ {
+ super(world, x, y, z, 0D, 0D, 0D);
+ particleMaxAge = (int)(28D / (Math.random() * 0.3D + 0.7D) * maxAge);
+ particleGravity = 0F;
+ motionX = motionY = motionZ = 0;
+ particleScale = size;
+ noClip = true;
+ this.texture = texture;
+ setSize(0.1F, 0.1F);
+ }
+
+ /**
+ * @param tessellator
+ * @param partialTicks
+ * @param minX
+ * @param minY
+ * @param minZ
+ * @param maxX
+ * @param maxZ
+ */
+ @Override
+ public void renderParticle(Tessellator tessellator, float partialTicks, float minX, float minY, float minZ, float maxX, float maxZ)
+ {
+ tessellator.draw();
+ Minecraft.getMinecraft().renderEngine.bindTexture(texture);
+ tessellator.startDrawingQuads();
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ GL11.glDepthMask(false);
+ float scale = 1F * particleScale;
+ float x = (float)(posX - interpPosX);
+ float y = (float)(posX - interpPosY);
+ float z = (float)(posZ - interpPosZ);
+ tessellator.setColorRGBA_F(0F, 0F, 0F, 1F);
+ tessellator.addVertexWithUV(x - minX * scale - maxX * scale, y + minY * scale, z - minZ * scale - maxZ * scale, 0, 0);
+ tessellator.addVertexWithUV(x - minX * scale + maxX * scale, y + minY * scale, z - minZ * scale + maxZ * scale, 1, 0);
+ tessellator.addVertexWithUV(x + minX * scale + maxX * scale, y + minY * scale, z + minZ * scale + maxZ * scale, 1, 1);
+ tessellator.addVertexWithUV(x + minX * scale - maxX * scale, y + minY * scale, z + minZ * scale - maxZ * scale, 0, 1);
+ tessellator.draw();
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthMask(true);
+ tessellator.startDrawingQuads();
+ }
+
+ /**
+ *
+ */
+ @Override
+ public void onUpdate()
+ {
+ prevPosX = posX;
+ prevPosY = posY;
+ prevPosZ = posZ;
+ motionX = motionY = motionZ = 0;
+ if (particleAge++ >= particleMaxAge) setDead();
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public int getFXLayer()
+ {
+ return 0;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/particles/EntityShadowsFX.java b/src/main/java/darkknight/jewelrycraft/particles/EntityShadowsFX.java index 85dfae5..6cfcbaa 100644 --- a/src/main/java/darkknight/jewelrycraft/particles/EntityShadowsFX.java +++ b/src/main/java/darkknight/jewelrycraft/particles/EntityShadowsFX.java @@ -1,104 +1,104 @@ -package darkknight.jewelrycraft.particles; - -import java.util.Iterator; -import java.util.List; -import net.minecraft.client.Minecraft; -import net.minecraft.client.particle.EntityFX; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.Entity; -import net.minecraft.entity.projectile.EntityThrowable; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; -import org.lwjgl.opengl.GL11; -import darkknight.jewelrycraft.damage.DamageSourceList; - -public class EntityShadowsFX extends EntityFX -{ - float moteParticleScale; - ResourceLocation texture; - - /** - * @param world - * @param x - * @param y - * @param z - * @param size - * @param maxAge - * @param texture - */ - public EntityShadowsFX(World world, double x, double y, double z, float size, float maxAge, ResourceLocation texture) - { - super(world, x, y, z, 0D, 0D, 0D); - particleMaxAge = (int)(28D / (Math.random() * 0.3D + 0.7D) * maxAge); - particleGravity = 0F; - motionX = motionY = motionZ = 0; - particleScale *= size; - moteParticleScale = particleScale; - noClip = true; - this.texture = texture; - setSize(0.01F, 0.01F); - } - - /** - * @param tessellator - * @param partialTicks - * @param minX - * @param minY - * @param minZ - * @param maxX - * @param maxZ - */ - @Override - public void renderParticle(Tessellator tessellator, float partialTicks, float minX, float minY, float minZ, float maxX, float maxZ) - { - tessellator.draw(); - Minecraft.getMinecraft().renderEngine.bindTexture(texture); - GL11.glColor4f(1, 1, 1, 1); - tessellator.startDrawingQuads(); - tessellator.setBrightness(getBrightnessForRender(0)); - float scale = 0.1F * particleScale; - float x = (float)(posX - interpPosX); - float y = (float)(posY - interpPosY); - float z = (float)(posZ - interpPosZ); - tessellator.setColorRGBA_F(0F, 0F, 0F, 0.5F); - tessellator.addVertexWithUV(x - minX * scale - maxX * scale, y - minY * scale, z - minZ * scale - maxZ * scale, 0, 0); - tessellator.addVertexWithUV(x - minX * scale + maxX * scale, y + minY * scale, z - minZ * scale + maxZ * scale, 1, 0); - tessellator.addVertexWithUV(x + minX * scale + maxX * scale, y + minY * scale, z + minZ * scale + maxZ * scale, 1, 1); - tessellator.addVertexWithUV(x + minX * scale - maxX * scale, y - minY * scale, z + minZ * scale - maxZ * scale, 0, 1); - tessellator.draw(); - tessellator.startDrawingQuads(); - } - - /** - * - */ - @Override - public void onUpdate() - { - prevPosX = posX; - prevPosY = posY; - prevPosZ = posZ; - motionX = motionY = motionZ = 0; - if (particleAge++ >= particleMaxAge) setDead(); - AxisAlignedBB axisalignedbb = boundingBox.expand(16.0D, 16.0D, 16.0D); - List list1 = worldObj.getEntitiesWithinAABB(Entity.class, axisalignedbb); - if (!worldObj.isRemote && list1 != null && !list1.isEmpty()){ - Iterator iterator = list1.iterator(); - while (iterator.hasNext()){ - Entity entity = (Entity)iterator.next(); - if (entity != null && posX <= entity.posX + 0.5F && posX >= entity.posX - 0.5F && posZ <= entity.posZ + 0.5F && posZ >= entity.posZ - 0.5F) entity.attackEntityFrom(DamageSourceList.shadows, 100F); - if (entity instanceof EntityThrowable) ((EntityThrowable)entity).setDead(); - } - } - } - - /** - * @return - */ - @Override - public int getFXLayer() - { - return 2; - } -} +package darkknight.jewelrycraft.particles;
+
+import java.util.Iterator;
+import java.util.List;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.damage.DamageSourceList;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.particle.EntityFX;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.projectile.EntityThrowable;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+
+public class EntityShadowsFX extends EntityFX
+{
+ float moteParticleScale;
+ ResourceLocation texture;
+
+ /**
+ * @param world
+ * @param x
+ * @param y
+ * @param z
+ * @param size
+ * @param maxAge
+ * @param texture
+ */
+ public EntityShadowsFX(World world, double x, double y, double z, float size, float maxAge, ResourceLocation texture)
+ {
+ super(world, x, y, z, 0D, 0D, 0D);
+ particleMaxAge = (int)(28D / (Math.random() * 0.3D + 0.7D) * maxAge);
+ particleGravity = 0F;
+ motionX = motionY = motionZ = 0;
+ particleScale *= size;
+ moteParticleScale = particleScale;
+ noClip = true;
+ this.texture = texture;
+ setSize(0.01F, 0.01F);
+ }
+
+ /**
+ * @param tessellator
+ * @param partialTicks
+ * @param minX
+ * @param minY
+ * @param minZ
+ * @param maxX
+ * @param maxZ
+ */
+ @Override
+ public void renderParticle(Tessellator tessellator, float partialTicks, float minX, float minY, float minZ, float maxX, float maxZ)
+ {
+ tessellator.draw();
+ Minecraft.getMinecraft().renderEngine.bindTexture(texture);
+ GL11.glColor4f(1, 1, 1, 1);
+ tessellator.startDrawingQuads();
+ tessellator.setBrightness(getBrightnessForRender(0));
+ float scale = 0.1F * particleScale;
+ float x = (float)(posX - interpPosX);
+ float y = (float)(posY - interpPosY);
+ float z = (float)(posZ - interpPosZ);
+ tessellator.setColorRGBA_F(0F, 0F, 0F, 0.5F);
+ tessellator.addVertexWithUV(x - minX * scale - maxX * scale, y - minY * scale, z - minZ * scale - maxZ * scale, 0, 0);
+ tessellator.addVertexWithUV(x - minX * scale + maxX * scale, y + minY * scale, z - minZ * scale + maxZ * scale, 1, 0);
+ tessellator.addVertexWithUV(x + minX * scale + maxX * scale, y + minY * scale, z + minZ * scale + maxZ * scale, 1, 1);
+ tessellator.addVertexWithUV(x + minX * scale - maxX * scale, y - minY * scale, z + minZ * scale - maxZ * scale, 0, 1);
+ tessellator.draw();
+ tessellator.startDrawingQuads();
+ }
+
+ /**
+ *
+ */
+ @Override
+ public void onUpdate()
+ {
+ prevPosX = posX;
+ prevPosY = posY;
+ prevPosZ = posZ;
+ motionX = motionY = motionZ = 0;
+ if (particleAge++ >= particleMaxAge) setDead();
+ AxisAlignedBB axisalignedbb = boundingBox.expand(16.0D, 16.0D, 16.0D);
+ List list1 = worldObj.getEntitiesWithinAABB(Entity.class, axisalignedbb);
+ if (!worldObj.isRemote && list1 != null && !list1.isEmpty()){
+ Iterator iterator = list1.iterator();
+ while (iterator.hasNext()){
+ Entity entity = (Entity)iterator.next();
+ if (entity != null && posX <= entity.posX + 0.5F && posX >= entity.posX - 0.5F && posZ <= entity.posZ + 0.5F && posZ >= entity.posZ - 0.5F) entity.attackEntityFrom(DamageSourceList.shadows, 100F);
+ if (entity instanceof EntityThrowable) ((EntityThrowable)entity).setDead();
+ }
+ }
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public int getFXLayer()
+ {
+ return 2;
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/potions/PotionList.java b/src/main/java/darkknight/jewelrycraft/potions/PotionList.java index 2ee508d..6749c37 100644 --- a/src/main/java/darkknight/jewelrycraft/potions/PotionList.java +++ b/src/main/java/darkknight/jewelrycraft/potions/PotionList.java @@ -1,55 +1,78 @@ -/** - * - */ -package darkknight.jewelrycraft.potions; - -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import net.minecraft.potion.Potion; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; - -/** - * @author Sorin - * - */ -public class PotionList -{ - public static Potion stun; - - public static void preInit(FMLPreInitializationEvent e) - { - Potion[] potionTypes = null; - - for (Field f : Potion.class.getDeclaredFields()) { - f.setAccessible(true); - try { - if (f.getName().equals("potionTypes") || f.getName().equals("field_76425_a")) { - Field modfield = Field.class.getDeclaredField("modifiers"); - modfield.setAccessible(true); - modfield.setInt(f, f.getModifiers() & ~Modifier.FINAL); - - potionTypes = (Potion[])f.get(null); - final Potion[] newPotionTypes = new Potion[256]; - System.arraycopy(potionTypes, 0, newPotionTypes, 0, potionTypes.length); - f.set(null, newPotionTypes); - } - } catch (Exception e1) { - System.err.println("Severe error, please report this to the mod author:"); - System.err.println(e1); - } - } - - } - - public static void init(FMLInitializationEvent e) - { - stun = new PotionStun(32, true, 0x000000); - } - - public static void postInit(FMLPostInitializationEvent e) - { - - } -} +/**
+ *
+ */
+package darkknight.jewelrycraft.potions;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import cpw.mods.fml.common.event.FMLInitializationEvent;
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import net.minecraft.potion.Potion;
+
+/**
+ * @author Sorin
+ * Code for extending Potion list from Mithion
+ * SOurce: https://github.com/Mithion/ArsMagica2/blob/master/src/main/java/am2/buffs/BuffList.java
+ */
+public class PotionList
+{
+ public static Potion stun;
+ private static int potionDefaultOffset = 0;
+
+ public static void preInit(FMLPreInitializationEvent e)
+ {
+ }
+
+ private static void setFinalStatic(Field field, Object newValue) throws Exception
+ {
+ field.setAccessible(true);
+ Field modifiersField = Field.class.getDeclaredField("modifiers");
+ modifiersField.setAccessible(true);
+ modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
+ field.set(null, newValue);
+ }
+
+ private static void extendPotionsArray() throws Exception
+ {
+ JewelrycraftMod.logger.info("Extending potions array");
+ JewelrycraftMod.logger.info("Injecting potions starting from index " + Potion.potionTypes.length);
+ potionDefaultOffset = Potion.potionTypes.length;
+ setPotionArrayLength(255);
+ }
+
+ private static void setPotionArrayLength(int length) throws Exception
+ {
+ if (length <= Potion.potionTypes.length)
+ return;
+ Potion[] potions = new Potion[length];
+ for(int i = 0; i < Potion.potionTypes.length; ++i){
+ potions[i] = Potion.potionTypes[i];
+ }
+ Field field = null;
+ Field[] fields = Potion.class.getDeclaredFields();
+ for(Field f: fields){
+ if (f.getType().equals(Potion[].class)) {
+ field = f;
+ break;
+ }
+ }
+ setFinalStatic(field, potions);
+ }
+
+ public static void init(FMLInitializationEvent e)
+ {
+ try{
+ extendPotionsArray();
+ }
+ catch(Throwable t){
+ JewelrycraftMod.logger.error("Failed to extend potion ids!");
+ t.printStackTrace();
+ }
+ stun = new PotionStun(potionDefaultOffset + 0, true, 0x000000);
+ }
+
+ public static void postInit(FMLPostInitializationEvent e)
+ {}
+}
diff --git a/src/main/java/darkknight/jewelrycraft/potions/PotionStun.java b/src/main/java/darkknight/jewelrycraft/potions/PotionStun.java index 0e8ad7f..e1f43e6 100644 --- a/src/main/java/darkknight/jewelrycraft/potions/PotionStun.java +++ b/src/main/java/darkknight/jewelrycraft/potions/PotionStun.java @@ -3,12 +3,8 @@ */
package darkknight.jewelrycraft.potions;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
import darkknight.jewelrycraft.util.Variables;
import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
/**
* @author Sorin
diff --git a/src/main/java/darkknight/jewelrycraft/random/WeightedRandomCurse.java b/src/main/java/darkknight/jewelrycraft/random/WeightedRandomCurse.java index 117b514..7e75d93 100644 --- a/src/main/java/darkknight/jewelrycraft/random/WeightedRandomCurse.java +++ b/src/main/java/darkknight/jewelrycraft/random/WeightedRandomCurse.java @@ -2,8 +2,6 @@ package darkknight.jewelrycraft.random; import java.util.Random;
import darkknight.jewelrycraft.api.Curse;
-import net.minecraft.enchantment.EnchantmentHelper;
-import net.minecraft.item.ItemStack;
import net.minecraft.util.WeightedRandom;
public class WeightedRandomCurse extends WeightedRandom.Item
diff --git a/src/main/java/darkknight/jewelrycraft/random/WeightedRandomItem.java b/src/main/java/darkknight/jewelrycraft/random/WeightedRandomItem.java index 8e28973..8db6e82 100644 --- a/src/main/java/darkknight/jewelrycraft/random/WeightedRandomItem.java +++ b/src/main/java/darkknight/jewelrycraft/random/WeightedRandomItem.java @@ -1,7 +1,6 @@ package darkknight.jewelrycraft.random;
import java.util.Random;
-import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.item.ItemStack;
import net.minecraft.util.WeightedRandom;
diff --git a/src/main/java/darkknight/jewelrycraft/recipes/CraftingRecipes.java b/src/main/java/darkknight/jewelrycraft/recipes/CraftingRecipes.java index 0239da3..eb18ea7 100644 --- a/src/main/java/darkknight/jewelrycraft/recipes/CraftingRecipes.java +++ b/src/main/java/darkknight/jewelrycraft/recipes/CraftingRecipes.java @@ -1,13 +1,13 @@ package darkknight.jewelrycraft.recipes;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.oredict.ShapedOreRecipe;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import darkknight.jewelrycraft.block.BlockList;
import darkknight.jewelrycraft.item.ItemList;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.oredict.ShapedOreRecipe;
public class CraftingRecipes
{
diff --git a/src/main/java/darkknight/jewelrycraft/thirdparty/Alpaca.java b/src/main/java/darkknight/jewelrycraft/thirdparty/Alpaca.java index 82c341f..aee56dd 100644 --- a/src/main/java/darkknight/jewelrycraft/thirdparty/Alpaca.java +++ b/src/main/java/darkknight/jewelrycraft/thirdparty/Alpaca.java @@ -1,7 +1,5 @@ package darkknight.jewelrycraft.thirdparty;
-import darkknight.jewelrycraft.JewelrycraftMod;
-
/**
* @author Sorin
*/
diff --git a/src/main/java/darkknight/jewelrycraft/thirdparty/EE3.java b/src/main/java/darkknight/jewelrycraft/thirdparty/EE3.java index 7a8a331..af764ff 100644 --- a/src/main/java/darkknight/jewelrycraft/thirdparty/EE3.java +++ b/src/main/java/darkknight/jewelrycraft/thirdparty/EE3.java @@ -1,6 +1,5 @@ package darkknight.jewelrycraft.thirdparty;
-import net.minecraft.item.ItemStack;
import com.pahimar.ee3.api.exchange.EnergyValueRegistryProxy;
import com.pahimar.ee3.init.ModItems;
import com.pahimar.ee3.reference.Names;
@@ -10,6 +9,7 @@ import darkknight.jewelrycraft.item.ItemClayMolds; import darkknight.jewelrycraft.item.ItemList;
import darkknight.jewelrycraft.item.ItemMolds;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import net.minecraft.item.ItemStack;
public class EE3 implements IThirdParty
{
diff --git a/src/main/java/darkknight/jewelrycraft/thirdparty/ThirdPartyManager.java b/src/main/java/darkknight/jewelrycraft/thirdparty/ThirdPartyManager.java index 571358e..c45bd12 100644 --- a/src/main/java/darkknight/jewelrycraft/thirdparty/ThirdPartyManager.java +++ b/src/main/java/darkknight/jewelrycraft/thirdparty/ThirdPartyManager.java @@ -4,18 +4,15 @@ import java.util.ArrayList; import java.util.HashMap;
import java.util.List;
import java.util.Map;
-
import org.apache.logging.log4j.Level;
-
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.world.World;
import cpw.mods.fml.common.Loader;
-import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.network.IGuiHandler;
import darkknight.jewelrycraft.JewelrycraftMod;
import darkknight.jewelrycraft.config.ConfigHandler;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.world.World;
/**
* @author MineMarteen from Pneumaticraft
diff --git a/src/main/java/darkknight/jewelrycraft/thirdparty/WailaHandler.java b/src/main/java/darkknight/jewelrycraft/thirdparty/WailaHandler.java index b7b06f5..4352867 100644 --- a/src/main/java/darkknight/jewelrycraft/thirdparty/WailaHandler.java +++ b/src/main/java/darkknight/jewelrycraft/thirdparty/WailaHandler.java @@ -1,7 +1,6 @@ package darkknight.jewelrycraft.thirdparty; import java.util.List; - import darkknight.jewelrycraft.item.ItemList; import darkknight.jewelrycraft.tileentity.TileEntityMoltenMetal; import darkknight.jewelrycraft.util.JewelryNBT; diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityCrystal.java b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityCrystal.java index 9f97969..c7ca018 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityCrystal.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityCrystal.java @@ -3,7 +3,6 @@ */
package darkknight.jewelrycraft.tileentity;
-import org.lwjgl.opengl.GL11;
import darkknight.jewelrycraft.config.ConfigHandler;
import net.minecraft.tileentity.TileEntity;
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityDisplayer.java b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityDisplayer.java index e8bdb9d..c23ee15 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityDisplayer.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityDisplayer.java @@ -1,133 +1,133 @@ -package darkknight.jewelrycraft.tileentity; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.NetworkManager; -import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; - -public class TileEntityDisplayer extends TileEntity -{ - public float ringTranslation1, ringTranslation2, ringTranslation3, rotAngle; - public boolean isDescending1, isDescending2, isDescending3, isDirty, hasObject; - public ItemStack object; - public int quantity, infoIndex, timer = 0; - - /** - * - */ - public TileEntityDisplayer() - { - ringTranslation1 = 0.6f; - ringTranslation2 = 0.3f; - ringTranslation3 = 0.0f; - rotAngle = 0; - quantity = 0; - infoIndex = 1; - isDescending1 = false; - isDescending2 = false; - isDescending3 = false; - isDirty = false; - hasObject = false; - object = new ItemStack(Item.getItemById(0), 0, 0); - } - - /** - * @param nbt - */ - @Override - public void writeToNBT(NBTTagCompound nbt) - { - super.writeToNBT(nbt); - nbt.setFloat("translation1", ringTranslation1); - nbt.setFloat("translation2", ringTranslation2); - nbt.setFloat("translation3", ringTranslation3); - nbt.setFloat("angle", rotAngle); - nbt.setInteger("quantity", quantity); - nbt.setInteger("infoIndex", infoIndex); - nbt.setBoolean("descending1", isDescending1); - nbt.setBoolean("descending2", isDescending2); - nbt.setBoolean("descending3", isDescending3); - nbt.setBoolean("hasObject", hasObject); - NBTTagCompound tag = new NBTTagCompound(); - object.writeToNBT(tag); - nbt.setTag("object", tag); - } - - /** - * @param nbt - */ - @Override - public void readFromNBT(NBTTagCompound nbt) - { - super.readFromNBT(nbt); - ringTranslation1 = nbt.getFloat("translation1"); - ringTranslation2 = nbt.getFloat("translation2"); - ringTranslation3 = nbt.getFloat("translation3"); - rotAngle = nbt.getFloat("angle"); - quantity = nbt.getInteger("quantity"); - infoIndex = nbt.getInteger("infoIndex"); - isDescending1 = nbt.getBoolean("descending1"); - isDescending2 = nbt.getBoolean("descending2"); - isDescending3 = nbt.getBoolean("descending3"); - hasObject = nbt.getBoolean("hasObject"); - object = new ItemStack(Item.getItemById(0), 0, 0); - object.readFromNBT(nbt.getCompoundTag("object")); - } - - /** - * - */ - @Override - public void updateEntity() - { - super.updateEntity(); - if (isDirty){ - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - isDirty = false; - } - if (ringTranslation1 >= 0.6) isDescending1 = true; - if (ringTranslation1 <= 0) isDescending1 = false; - if (!isDescending1) ringTranslation1 += 0.03; - if (isDescending1) ringTranslation1 -= 0.03; - if (ringTranslation2 >= 0.6) isDescending2 = true; - if (ringTranslation2 <= 0) isDescending2 = false; - if (!isDescending2) ringTranslation2 += 0.02; - if (isDescending2) ringTranslation2 -= 0.02; - if (ringTranslation3 >= 0.6) isDescending3 = true; - if (ringTranslation3 <= 0) isDescending3 = false; - if (!isDescending3) ringTranslation3 += 0.01; - if (isDescending3) ringTranslation3 -= 0.01; - if (rotAngle < 360F) rotAngle += 3F; - if (rotAngle >= 360F) rotAngle = 0F; - timer++; - if (timer >= 20){ - infoIndex++; - timer = 0; - } - } - - /** - * @return - */ - @Override - public Packet getDescriptionPacket() - { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - writeToNBT(nbttagcompound); - return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 1, nbttagcompound); - } - - /** - * @param net - * @param packet - */ - @Override - public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet) - { - readFromNBT(packet.func_148857_g()); - worldObj.func_147479_m(xCoord, yCoord, zCoord); - } -} +package darkknight.jewelrycraft.tileentity;
+
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.network.NetworkManager;
+import net.minecraft.network.Packet;
+import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
+import net.minecraft.tileentity.TileEntity;
+
+public class TileEntityDisplayer extends TileEntity
+{
+ public float ringTranslation1, ringTranslation2, ringTranslation3, rotAngle;
+ public boolean isDescending1, isDescending2, isDescending3, isDirty, hasObject;
+ public ItemStack object;
+ public int quantity, infoIndex, timer = 0;
+
+ /**
+ *
+ */
+ public TileEntityDisplayer()
+ {
+ ringTranslation1 = 0.6f;
+ ringTranslation2 = 0.3f;
+ ringTranslation3 = 0.0f;
+ rotAngle = 0;
+ quantity = 0;
+ infoIndex = 1;
+ isDescending1 = false;
+ isDescending2 = false;
+ isDescending3 = false;
+ isDirty = false;
+ hasObject = false;
+ object = new ItemStack(Item.getItemById(0), 0, 0);
+ }
+
+ /**
+ * @param nbt
+ */
+ @Override
+ public void writeToNBT(NBTTagCompound nbt)
+ {
+ super.writeToNBT(nbt);
+ nbt.setFloat("translation1", ringTranslation1);
+ nbt.setFloat("translation2", ringTranslation2);
+ nbt.setFloat("translation3", ringTranslation3);
+ nbt.setFloat("angle", rotAngle);
+ nbt.setInteger("quantity", quantity);
+ nbt.setInteger("infoIndex", infoIndex);
+ nbt.setBoolean("descending1", isDescending1);
+ nbt.setBoolean("descending2", isDescending2);
+ nbt.setBoolean("descending3", isDescending3);
+ nbt.setBoolean("hasObject", hasObject);
+ NBTTagCompound tag = new NBTTagCompound();
+ object.writeToNBT(tag);
+ nbt.setTag("object", tag);
+ }
+
+ /**
+ * @param nbt
+ */
+ @Override
+ public void readFromNBT(NBTTagCompound nbt)
+ {
+ super.readFromNBT(nbt);
+ ringTranslation1 = nbt.getFloat("translation1");
+ ringTranslation2 = nbt.getFloat("translation2");
+ ringTranslation3 = nbt.getFloat("translation3");
+ rotAngle = nbt.getFloat("angle");
+ quantity = nbt.getInteger("quantity");
+ infoIndex = nbt.getInteger("infoIndex");
+ isDescending1 = nbt.getBoolean("descending1");
+ isDescending2 = nbt.getBoolean("descending2");
+ isDescending3 = nbt.getBoolean("descending3");
+ hasObject = nbt.getBoolean("hasObject");
+ object = new ItemStack(Item.getItemById(0), 0, 0);
+ object.readFromNBT(nbt.getCompoundTag("object"));
+ }
+
+ /**
+ *
+ */
+ @Override
+ public void updateEntity()
+ {
+ super.updateEntity();
+ if (isDirty){
+ worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
+ isDirty = false;
+ }
+ if (ringTranslation1 >= 0.6) isDescending1 = true;
+ if (ringTranslation1 <= 0) isDescending1 = false;
+ if (!isDescending1) ringTranslation1 += 0.03;
+ if (isDescending1) ringTranslation1 -= 0.03;
+ if (ringTranslation2 >= 0.6) isDescending2 = true;
+ if (ringTranslation2 <= 0) isDescending2 = false;
+ if (!isDescending2) ringTranslation2 += 0.02;
+ if (isDescending2) ringTranslation2 -= 0.02;
+ if (ringTranslation3 >= 0.6) isDescending3 = true;
+ if (ringTranslation3 <= 0) isDescending3 = false;
+ if (!isDescending3) ringTranslation3 += 0.01;
+ if (isDescending3) ringTranslation3 -= 0.01;
+ if (rotAngle < 360F) rotAngle += 3F;
+ if (rotAngle >= 360F) rotAngle = 0F;
+ timer++;
+ if (timer >= 40){
+ infoIndex++;
+ timer = 0;
+ }
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public Packet getDescriptionPacket()
+ {
+ NBTTagCompound nbttagcompound = new NBTTagCompound();
+ writeToNBT(nbttagcompound);
+ return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 1, nbttagcompound);
+ }
+
+ /**
+ * @param net
+ * @param packet
+ */
+ @Override
+ public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet)
+ {
+ readFromNBT(packet.func_148857_g());
+ worldObj.func_147479_m(xCoord, yCoord, zCoord);
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityJewelrsCraftingTable.java b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityJewelrsCraftingTable.java index 4ecaf7d..830da74 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityJewelrsCraftingTable.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityJewelrsCraftingTable.java @@ -1,8 +1,10 @@ package darkknight.jewelrycraft.tileentity;
+import darkknight.jewelrycraft.config.ConfigHandler;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.Item;
-import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
@@ -10,9 +12,6 @@ import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
public class TileEntityJewelrsCraftingTable extends TileEntity
{
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityMolder.java b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityMolder.java index da8cc19..b2fe655 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityMolder.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityMolder.java @@ -1,144 +1,144 @@ -package darkknight.jewelrycraft.tileentity; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.NetworkManager; -import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class TileEntityMolder extends TileEntity -{ - public int cooling; - public boolean hasMoltenMetal, hasJewelBase, hasMold, isDirty; - public ItemStack mold, jewelBase, moltenMetal, ringMetal; - public float quantity; - - /** - * - */ - public TileEntityMolder() - { - moltenMetal = new ItemStack(Item.getItemById(0), 0, 0); - jewelBase = new ItemStack(Item.getItemById(0), 0, 0); - mold = new ItemStack(Item.getItemById(0), 0, 0); - ringMetal = new ItemStack(Item.getItemById(0), 0, 0); - cooling = -1; - quantity = 0f; - hasJewelBase = false; - hasMoltenMetal = false; - hasMold = false; - isDirty = false; - } - - /** - * @param nbt - */ - @Override - public void writeToNBT(NBTTagCompound nbt) - { - super.writeToNBT(nbt); - nbt.setInteger("cooling", cooling); - nbt.setFloat("quantity", quantity); - nbt.setBoolean("hasJewelBase", hasJewelBase); - nbt.setBoolean("hasMoltenMetal", hasMoltenMetal); - nbt.setBoolean("hasMold", hasMold); - NBTTagCompound tag = new NBTTagCompound(); - NBTTagCompound tag1 = new NBTTagCompound(); - NBTTagCompound tag2 = new NBTTagCompound(); - NBTTagCompound tag3 = new NBTTagCompound(); - mold.writeToNBT(tag); - nbt.setTag("mold", tag); - jewelBase.writeToNBT(tag1); - nbt.setTag("jewelBase", tag1); - moltenMetal.writeToNBT(tag2); - nbt.setTag("moltenMetal", tag2); - ringMetal.writeToNBT(tag3); - nbt.setTag("ringMetal", tag3); - } - - /** - * @param nbt - */ - @Override - public void readFromNBT(NBTTagCompound nbt) - { - super.readFromNBT(nbt); - cooling = nbt.getInteger("cooling"); - quantity = nbt.getFloat("quantity"); - hasJewelBase = nbt.getBoolean("hasJewelBase"); - hasMoltenMetal = nbt.getBoolean("hasMoltenMetal"); - hasMold = nbt.getBoolean("hasMold"); - mold = new ItemStack(Item.getItemById(0), 0, 0); - mold.readFromNBT(nbt.getCompoundTag("mold")); - jewelBase = new ItemStack(Item.getItemById(0), 0, 0); - jewelBase.readFromNBT(nbt.getCompoundTag("jewelBase")); - moltenMetal = new ItemStack(Item.getItemById(0), 0, 0); - moltenMetal.readFromNBT(nbt.getCompoundTag("moltenMetal")); - ringMetal = new ItemStack(Item.getItemById(0), 0, 0); - ringMetal.readFromNBT(nbt.getCompoundTag("ringMetal")); - } - - /** - * - */ - @Override - public void updateEntity() - { - super.updateEntity(); - if (isDirty){ - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - isDirty = false; - } - if (hasMoltenMetal && moltenMetal.getItem() != Item.getItemById(0) && quantity > 0f){ - if (worldObj.rand.nextInt(20) == 0) worldObj.playSoundEffect(xCoord, yCoord + 0.5F, zCoord, "random.fizz", 0.5F, 1F); - for(int l = 0; l < 2; ++l) - worldObj.spawnParticle("reddust", xCoord + Math.random(), (double)yCoord + 0.2F, zCoord + Math.random(), 0.0D, 1.0D, 1.0D); - } - if (hasMoltenMetal && !hasJewelBase && quantity >= 0.1f){ - ringMetal = moltenMetal.copy(); - if (cooling > 0) cooling--; - if (cooling <= 0f){ - if (mold.getItemDamage() == 0) jewelBase = moltenMetal; - else if (mold.getItemDamage() == 1) jewelBase = new ItemStack(ItemList.ring); - else if (mold.getItemDamage() == 2) jewelBase = new ItemStack(ItemList.necklace); - else if (mold.getItemDamage() == 3) jewelBase = new ItemStack(ItemList.bracelet); - else if (mold.getItemDamage() == 4) jewelBase = new ItemStack(ItemList.earrings); - ringMetal.stackSize = 1; - jewelBase.stackSize = 1; - if (mold.getItemDamage() != 0 && jewelBase != new ItemStack(Item.getItemById(0), 0, 0)) JewelryNBT.addMetal(jewelBase, ringMetal); - hasMoltenMetal = false; - moltenMetal = new ItemStack(Item.getItemById(0), 0, 0); - hasJewelBase = true; - cooling = -1; - quantity = 0f; - isDirty = true; - } - } - } - - /** - * @return - */ - @Override - public Packet getDescriptionPacket() - { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - writeToNBT(nbttagcompound); - return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 1, nbttagcompound); - } - - /** - * @param net - * @param packet - */ - @Override - public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet) - { - readFromNBT(packet.func_148857_g()); - worldObj.func_147479_m(xCoord, yCoord, zCoord); - } -} +package darkknight.jewelrycraft.tileentity;
+
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.network.NetworkManager;
+import net.minecraft.network.Packet;
+import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
+import net.minecraft.tileentity.TileEntity;
+
+public class TileEntityMolder extends TileEntity
+{
+ public int cooling;
+ public boolean hasMoltenMetal, hasJewelBase, hasMold, isDirty;
+ public ItemStack mold, jewelBase, moltenMetal, ringMetal;
+ public float quantity;
+
+ /**
+ *
+ */
+ public TileEntityMolder()
+ {
+ moltenMetal = new ItemStack(Item.getItemById(0), 0, 0);
+ jewelBase = new ItemStack(Item.getItemById(0), 0, 0);
+ mold = new ItemStack(Item.getItemById(0), 0, 0);
+ ringMetal = new ItemStack(Item.getItemById(0), 0, 0);
+ cooling = -1;
+ quantity = 0f;
+ hasJewelBase = false;
+ hasMoltenMetal = false;
+ hasMold = false;
+ isDirty = false;
+ }
+
+ /**
+ * @param nbt
+ */
+ @Override
+ public void writeToNBT(NBTTagCompound nbt)
+ {
+ super.writeToNBT(nbt);
+ nbt.setInteger("cooling", cooling);
+ nbt.setFloat("quantity", quantity);
+ nbt.setBoolean("hasJewelBase", hasJewelBase);
+ nbt.setBoolean("hasMoltenMetal", hasMoltenMetal);
+ nbt.setBoolean("hasMold", hasMold);
+ NBTTagCompound tag = new NBTTagCompound();
+ NBTTagCompound tag1 = new NBTTagCompound();
+ NBTTagCompound tag2 = new NBTTagCompound();
+ NBTTagCompound tag3 = new NBTTagCompound();
+ mold.writeToNBT(tag);
+ nbt.setTag("mold", tag);
+ jewelBase.writeToNBT(tag1);
+ nbt.setTag("jewelBase", tag1);
+ moltenMetal.writeToNBT(tag2);
+ nbt.setTag("moltenMetal", tag2);
+ ringMetal.writeToNBT(tag3);
+ nbt.setTag("ringMetal", tag3);
+ }
+
+ /**
+ * @param nbt
+ */
+ @Override
+ public void readFromNBT(NBTTagCompound nbt)
+ {
+ super.readFromNBT(nbt);
+ cooling = nbt.getInteger("cooling");
+ quantity = nbt.getFloat("quantity");
+ hasJewelBase = nbt.getBoolean("hasJewelBase");
+ hasMoltenMetal = nbt.getBoolean("hasMoltenMetal");
+ hasMold = nbt.getBoolean("hasMold");
+ mold = new ItemStack(Item.getItemById(0), 0, 0);
+ mold.readFromNBT(nbt.getCompoundTag("mold"));
+ jewelBase = new ItemStack(Item.getItemById(0), 0, 0);
+ jewelBase.readFromNBT(nbt.getCompoundTag("jewelBase"));
+ moltenMetal = new ItemStack(Item.getItemById(0), 0, 0);
+ moltenMetal.readFromNBT(nbt.getCompoundTag("moltenMetal"));
+ ringMetal = new ItemStack(Item.getItemById(0), 0, 0);
+ ringMetal.readFromNBT(nbt.getCompoundTag("ringMetal"));
+ }
+
+ /**
+ *
+ */
+ @Override
+ public void updateEntity()
+ {
+ super.updateEntity();
+ if (isDirty){
+ worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
+ isDirty = false;
+ }
+ if (hasMoltenMetal && moltenMetal.getItem() != Item.getItemById(0) && quantity > 0f){
+ if (worldObj.rand.nextInt(20) == 0) worldObj.playSoundEffect(xCoord, yCoord + 0.5F, zCoord, "random.fizz", 0.5F, 1F);
+ for(int l = 0; l < 2; ++l)
+ worldObj.spawnParticle("reddust", xCoord + Math.random(), (double)yCoord + 0.2F, zCoord + Math.random(), 0.0D, 1.0D, 1.0D);
+ }
+ if (hasMoltenMetal && !hasJewelBase && quantity >= 0.1f){
+ ringMetal = moltenMetal.copy();
+ if (cooling > 0) cooling--;
+ if (cooling <= 0f){
+ if (mold.getItemDamage() == 0) jewelBase = moltenMetal;
+ else if (mold.getItemDamage() == 1) jewelBase = new ItemStack(ItemList.ring);
+ else if (mold.getItemDamage() == 2) jewelBase = new ItemStack(ItemList.necklace);
+ else if (mold.getItemDamage() == 3) jewelBase = new ItemStack(ItemList.bracelet);
+ else if (mold.getItemDamage() == 4) jewelBase = new ItemStack(ItemList.earrings);
+ ringMetal.stackSize = 1;
+ jewelBase.stackSize = 1;
+ if (mold.getItemDamage() != 0 && jewelBase != new ItemStack(Item.getItemById(0), 0, 0)) JewelryNBT.addMetal(jewelBase, ringMetal);
+ hasMoltenMetal = false;
+ moltenMetal = new ItemStack(Item.getItemById(0), 0, 0);
+ hasJewelBase = true;
+ cooling = -1;
+ quantity = 0f;
+ isDirty = true;
+ }
+ }
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public Packet getDescriptionPacket()
+ {
+ NBTTagCompound nbttagcompound = new NBTTagCompound();
+ writeToNBT(nbttagcompound);
+ return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 1, nbttagcompound);
+ }
+
+ /**
+ * @param net
+ * @param packet
+ */
+ @Override
+ public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet)
+ {
+ readFromNBT(packet.func_148857_g());
+ worldObj.func_147479_m(xCoord, yCoord, zCoord);
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityMoltenMetal.java b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityMoltenMetal.java index 5da722a..f8efb14 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityMoltenMetal.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityMoltenMetal.java @@ -3,7 +3,6 @@ */
package darkknight.jewelrycraft.tileentity;
-import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java index f006984..cdc3ac5 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java @@ -1,9 +1,16 @@ package darkknight.jewelrycraft.tileentity;
import java.util.ArrayList;
-
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.block.BlockHandPedestal;
+import darkknight.jewelrycraft.block.BlockList;
+import darkknight.jewelrycraft.config.ConfigHandler;
+import darkknight.jewelrycraft.model.ModelShadowEye;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
@@ -17,16 +24,6 @@ import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.block.BlockHandPedestal;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.model.ModelShadowEye;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-import darkknight.jewelrycraft.util.PlayerUtils;
-import darkknight.jewelrycraft.util.Variables;
public class TileEntityShadowEye extends TileEntity
{
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntitySmelter.java b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntitySmelter.java index cb3da14..c75d8f0 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntitySmelter.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntitySmelter.java @@ -1,6 +1,9 @@ package darkknight.jewelrycraft.tileentity;
import java.util.Random;
+import darkknight.jewelrycraft.config.ConfigHandler;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@@ -8,9 +11,6 @@ import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
public class TileEntitySmelter extends TileEntity
{
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityDisplayerRender.java b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityDisplayerRender.java index f36fa84..18f83b9 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityDisplayerRender.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityDisplayerRender.java @@ -3,6 +3,10 @@ package darkknight.jewelrycraft.tileentity.renders; import java.awt.Color;
import java.util.HashMap;
import java.util.List;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.model.ModelDisplayer;
+import darkknight.jewelrycraft.tileentity.TileEntityDisplayer;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.OpenGlHelper;
@@ -18,10 +22,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
-import darkknight.jewelrycraft.model.ModelDisplayer;
-import darkknight.jewelrycraft.tileentity.TileEntityDisplayer;
-import darkknight.jewelrycraft.util.Variables;
public class TileEntityDisplayerRender extends TileEntitySpecialRenderer
{
@@ -48,13 +48,6 @@ public class TileEntityDisplayerRender extends TileEntitySpecialRenderer }
};
- /**
- * @param te
- * @param x
- * @param y
- * @param z
- * @param scale
- */
@Override
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale)
{
@@ -132,133 +125,40 @@ public class TileEntityDisplayerRender extends TileEntitySpecialRenderer GL11.glPopMatrix();
}
- /**
- * @param par2Str
- * @param x
- * @param y
- * @param z
- * @param metadata
- * @param te
- * @param color
- */
- protected void renderLabel(String par2Str, double x, double y, double z, int metadata, TileEntity te, int color)
+ protected void renderLabel(String text, double x, double y, double z, int metadata, TileEntity te, int color)
{
FontRenderer fontrenderer = RenderManager.instance.getFontRenderer();
- float var14 = 0.01266667F * 1.5F;
- float var17 = 0.015F;
+ float width = 0.015F, height = 1F;
GL11.glRotatef(180F, 0F, 0F, 1F);
- if (metadata == 0) GL11.glRotatef(0F, 0F, 1F, 0F);
- else if (metadata == 1) GL11.glRotatef(270F, 0F, 1F, 0F);
- else if (metadata == 2) GL11.glRotatef(180F, 0F, 1F, 0F);
- else if (metadata == 3) GL11.glRotatef(90F, 0F, 1F, 0F);
+ GL11.glRotatef(360 - metadata * 90F, 0F, 1F, 0F);
GL11.glTranslatef((float)x, (float)y, (float)z + 0.45F);
- GL11.glScalef(-0.015F, -var14, 0.015F);
+ GL11.glScalef(-0.015F, -0.019F, 0.015F);
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
Tessellator tessellator = Tessellator.instance;
GL11.glDisable(GL11.GL_TEXTURE_2D);
- int j = fontrenderer.getStringWidth(par2Str) / 2;
+ int j = fontrenderer.getStringWidth(text) / 2;
tessellator.startDrawingQuads();
- tessellator.setColorRGBA_F(0.0F, 0.2F, 0.2F, 0.9F);
+ tessellator.setColorRGBA_F(0.275F, 0.145F, 0.431F, 0.5F);
tessellator.addVertex(-33.333 - 0, 0D, 0.1D);
tessellator.addVertex(-33.333 - 0, 9D, 0.1D);
tessellator.addVertex(33.333 + 0, 9D, 0.1D);
tessellator.addVertex(33.333 + 0, 0D, 0.1D);
tessellator.draw();
- if (fontrenderer.getStringWidth(par2Str) / 2 > 20) var17 = 0.9F / fontrenderer.getStringWidth(par2Str);
- else var17 = var14;
- int red = color >> 16 & 0xFF;
- int green = color >> 8 & 0xFF;
- int blue = color & 0xFF;
+ if (fontrenderer.getStringWidth(text) / 2 > 20){
+ width = 0.9F / fontrenderer.getStringWidth(text);
+ height = 1F - fontrenderer.getStringWidth(text)/20*0.06F;
+ }
GL11.glTranslatef((float)x + 1f, (float)y + 1f, (float)z);
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
- GL11.glScalef(var17 * 70F, 1F, 0F);
- int i = 15728880;
- int t = i % 65536;
- int k = i / 65536;
- OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, t / 1.0F, k / 1.0F);
- fontrenderer.drawString(par2Str.replaceFirst("§0", "§r").replaceFirst("§1", "§r").replaceFirst("§2", "§r").replaceFirst("§3", "§r").replaceFirst("§4", "§r").replaceFirst("§5", "§r").replaceFirst("§6", "§r").replaceFirst("§7", "§r").replaceFirst("§8", "§r").replaceFirst("§9", "§r").replaceFirst("§a", "§r").replaceFirst("§b", "§r").replaceFirst("§c", "§r").replaceFirst("§d", "§r").replaceFirst("§e", "§r").replaceFirst("§f", "§r"), -j, 0, 1973790);
+ GL11.glScalef(width * 70F, height, 0F);
+ fontrenderer.drawString(text.replaceFirst("§0", "§r").replaceFirst("§1", "§r").replaceFirst("§2", "§r").replaceFirst("§3", "§r").replaceFirst("§4", "§r").replaceFirst("§5", "§r").replaceFirst("§6", "§r").replaceFirst("§7", "§r").replaceFirst("§8", "§r").replaceFirst("§9", "§r").replaceFirst("§a", "§r").replaceFirst("§b", "§r").replaceFirst("§c", "§r").replaceFirst("§d", "§r").replaceFirst("§e", "§r").replaceFirst("§f", "§r"), -j, 0, 1973790);
GL11.glPopMatrix();
- GL11.glTranslatef((float)x - 1f, (float)y - 1f, (float)z - 1F);
- GL11.glScalef(var17 * 70F, 1F, 0F);
- fontrenderer.drawString(par2Str, -j, 0, color);
- GL11.glDisable(GL11.GL_BLEND);
+ GL11.glTranslatef((float)x - 0.5f, (float)y - 0.5f, (float)z - 0.5F);
+ GL11.glScalef(width * 70F, height, 0F);
+ fontrenderer.drawString(text, -j, 0, color);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glPopMatrix();
}
-
- /**
- * @param str
- * @param color
- */
- public void replaceEnumEnchValues(String str, int color)
- {
- if (str.contains("§0")){
- color = Color.BLACK.getRGB();
- str.replace("§0", "");
- }
- if (str.contains("§1")){
- color = 85;
- str.replace("§1", "");
- }
- if (str.contains("§2")){
- color = 17920;
- str.replace("§2", "");
- }
- if (str.contains("§3")){
- color = 1336183;
- str.replace("§3", "");
- }
- if (str.contains("§4")){
- color = 4587520;
- str.replace("§4", "");
- }
- if (str.contains("§5")){
- color = 5701759;
- str.replace("§5", "");
- }
- if (str.contains("§6")){
- color = 16762880;
- str.replace("§6", "");
- }
- if (str.contains("§7")){
- color = Color.GRAY.getRGB();
- str.replace("§7", "");
- }
- if (str.contains("§8")){
- color = Color.DARK_GRAY.getRGB();
- str.replace("§8", "");
- }
- if (str.contains("§9")){
- color = Color.BLUE.getRGB();
- str.replace("§9", "");
- }
- if (str.contains("§a")){
- color = Color.GREEN.getRGB();
- str.replace("§a", "");
- }
- if (str.contains("§b")){
- color = Color.CYAN.getRGB();
- str.replace("§b", "");
- }
- if (str.contains("§c")){
- color = Color.RED.getRGB();
- str.replace("§c", "");
- }
- if (str.contains("§d")){
- color = 11665663;
- str.replace("§d", "");
- }
- if (str.contains("§e")){
- color = Color.YELLOW.getRGB();
- str.replace("§e", "");
- }
- if (str.contains("§f")){
- color = Color.WHITE.getRGB();
- str.replace("§f", "");
- }
- }
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityHandPedestalRender.java b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityHandPedestalRender.java index ac98ca6..d639d93 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityHandPedestalRender.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityHandPedestalRender.java @@ -1,47 +1,47 @@ -package darkknight.jewelrycraft.tileentity.renders; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; -import darkknight.jewelrycraft.model.ModelHandPedestal; -import darkknight.jewelrycraft.tileentity.TileEntityHandPedestal; - -/** - * @author Paul Fulham (pau101) - */ -public class TileEntityHandPedestalRender extends TileEntitySpecialRenderer -{ - private ModelHandPedestal model; - private ResourceLocation texture; - - /** - * @param model - * @param texture - */ - public TileEntityHandPedestalRender(ModelHandPedestal model, ResourceLocation texture) - { - this.model = model; - this.texture = texture; - } - - /** - * @param te - * @param x - * @param y - * @param z - * @param partialRenderTicks - */ - @Override - public void renderTileEntityAt(TileEntity te, double x, double y, double z, float partialRenderTicks) - { - GL11.glPushMatrix(); - GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); - TileEntityHandPedestal pedestal = (TileEntityHandPedestal)te; - bindTexture(texture); - GL11.glRotatef(180, 0, 0, 1); - GL11.glRotatef(pedestal.getWorldObj() == null ? 180 : pedestal.getBlockMetadata() % 8 / 8F * 360, 0, 1, 0); - model.render(pedestal, partialRenderTicks, 0.0625F); - GL11.glPopMatrix(); - } +package darkknight.jewelrycraft.tileentity.renders;
+
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.model.ModelHandPedestal;
+import darkknight.jewelrycraft.tileentity.TileEntityHandPedestal;
+import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.ResourceLocation;
+
+/**
+ * @author Paul Fulham (pau101)
+ */
+public class TileEntityHandPedestalRender extends TileEntitySpecialRenderer
+{
+ private ModelHandPedestal model;
+ private ResourceLocation texture;
+
+ /**
+ * @param model
+ * @param texture
+ */
+ public TileEntityHandPedestalRender(ModelHandPedestal model, ResourceLocation texture)
+ {
+ this.model = model;
+ this.texture = texture;
+ }
+
+ /**
+ * @param te
+ * @param x
+ * @param y
+ * @param z
+ * @param partialRenderTicks
+ */
+ @Override
+ public void renderTileEntityAt(TileEntity te, double x, double y, double z, float partialRenderTicks)
+ {
+ GL11.glPushMatrix();
+ GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F);
+ TileEntityHandPedestal pedestal = (TileEntityHandPedestal)te;
+ bindTexture(texture);
+ GL11.glRotatef(180, 0, 0, 1);
+ GL11.glRotatef(pedestal.getWorldObj() == null ? 180 : pedestal.getBlockMetadata() % 8 / 8F * 360, 0, 1, 0);
+ model.render(pedestal, partialRenderTicks, 0.0625F);
+ GL11.glPopMatrix();
+ }
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityJewelrsCraftingTableRender.java b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityJewelrsCraftingTableRender.java index 248ac2e..02b12aa 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityJewelrsCraftingTableRender.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityJewelrsCraftingTableRender.java @@ -1,137 +1,137 @@ -package darkknight.jewelrycraft.tileentity.renders; - -import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; -import org.lwjgl.opengl.GL11; -import darkknight.jewelrycraft.model.ModelJewlersCraftingBench; -import darkknight.jewelrycraft.tileentity.TileEntityJewelrsCraftingTable; -import darkknight.jewelrycraft.util.Variables; - -public class TileEntityJewelrsCraftingTableRender extends TileEntitySpecialRenderer -{ - ModelJewlersCraftingBench modelTable = new ModelJewlersCraftingBench(); - String texture = "textures/tileentities/JewelrsCraftingBench.png"; - - /** - * @param te - * @param x - * @param y - * @param z - * @param scale - */ - @Override - public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) - { - GL11.glPushMatrix(); - GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); - ResourceLocation blockTexture = new ResourceLocation(Variables.MODID, texture); - Minecraft.getMinecraft().renderEngine.bindTexture(blockTexture); - TileEntityJewelrsCraftingTable jt = (TileEntityJewelrsCraftingTable)te; - GL11.glPushMatrix(); - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - try{ - int block = te.getBlockMetadata(); - if (block == 1) GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); - else if (block == 2){ - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); - }else if (block == 3){ - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(180F, 1.0F, 0.0F, 1.0F); - } - } - catch(Exception e){} - modelTable.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); - if (jt != null){ - if (jt.hasJewelry && jt.jewelry.getIconIndex() != null && jt.jewelry.getIconIndex().getIconName() != ""){ - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_LIGHTING); - EntityItem entityitem = new EntityItem(te.getWorldObj(), 0.0D, 0.0D, 0.0D, jt.jewelry); - entityitem.getEntityItem().stackSize = 1; - entityitem.hoverStart = 0.0F; - GL11.glRotatef(180F, 1F, 0F, 0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glTranslatef(0.55F, -1.5F, -0.45F); - GL11.glRotatef(jt.angle, 0F, 1F, 0F); - if (RenderManager.instance.options.fancyGraphics) RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); - else{ - GL11.glRotatef(180F, 0F, 1F, 0F); - RenderManager.instance.options.fancyGraphics = true; - RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); - RenderManager.instance.options.fancyGraphics = false; - } - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glPopMatrix(); - } - if (jt.hasEndItem && jt.endItem.getIconIndex().getIconName() != ""){ - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_LIGHTING); - EntityItem entityitem = new EntityItem(te.getWorldObj(), 0.0D, 0.0D, 0.0D, jt.endItem); - entityitem.getEntityItem().stackSize = 1; - entityitem.hoverStart = 0.0F; - GL11.glRotatef(180F, 1F, 0F, 0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glTranslatef(0.0F, -1.6F, 0.6F); - GL11.glRotatef(jt.angle, 0F, 1F, 0F); - if (RenderManager.instance.options.fancyGraphics) RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); - else{ - GL11.glRotatef(180F, 0F, 1F, 0F); - RenderManager.instance.options.fancyGraphics = true; - RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); - RenderManager.instance.options.fancyGraphics = false; - } - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glPopMatrix(); - } - if (jt.hasGem && jt.gem.getIconIndex().getIconName() != ""){ - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_LIGHTING); - EntityItem entityitem = new EntityItem(te.getWorldObj(), 0.0D, 0.0D, 0.0D, jt.gem); - entityitem.getEntityItem().stackSize = 1; - entityitem.hoverStart = 0.0F; - GL11.glRotatef(180F, 1F, 0F, 0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glTranslatef(-0.55F, -1.5F, -0.45F); - GL11.glRotatef(jt.angle, 0F, 1F, 0F); - if (RenderManager.instance.options.fancyGraphics) RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); - else{ - GL11.glRotatef(180F, 0F, 1F, 0F); - RenderManager.instance.options.fancyGraphics = true; - RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); - RenderManager.instance.options.fancyGraphics = false; - } - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glPopMatrix(); - } - } - GL11.glPopMatrix(); - GL11.glPopMatrix(); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param block - */ - public void adjustLightFixture(World world, int i, int j, int k, Block block) - { - Tessellator tess = Tessellator.instance; - float brightness = block.getLightOpacity(world, i, j, k); - int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0); - int modulousModifier = skyLight % 65536; - int divModifier = skyLight / 65536; - tess.setColorOpaque_F(brightness, brightness, brightness); - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, modulousModifier, divModifier); - } -} +package darkknight.jewelrycraft.tileentity.renders;
+
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.model.ModelJewlersCraftingBench;
+import darkknight.jewelrycraft.tileentity.TileEntityJewelrsCraftingTable;
+import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.OpenGlHelper;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.entity.RenderManager;
+import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+
+public class TileEntityJewelrsCraftingTableRender extends TileEntitySpecialRenderer
+{
+ ModelJewlersCraftingBench modelTable = new ModelJewlersCraftingBench();
+ String texture = "textures/tileentities/JewelrsCraftingBench.png";
+
+ /**
+ * @param te
+ * @param x
+ * @param y
+ * @param z
+ * @param scale
+ */
+ @Override
+ public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale)
+ {
+ GL11.glPushMatrix();
+ GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F);
+ ResourceLocation blockTexture = new ResourceLocation(Variables.MODID, texture);
+ Minecraft.getMinecraft().renderEngine.bindTexture(blockTexture);
+ TileEntityJewelrsCraftingTable jt = (TileEntityJewelrsCraftingTable)te;
+ GL11.glPushMatrix();
+ GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
+ try{
+ int block = te.getBlockMetadata();
+ if (block == 1) GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
+ else if (block == 2){
+ GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F);
+ }else if (block == 3){
+ GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(180F, 1.0F, 0.0F, 1.0F);
+ }
+ }
+ catch(Exception e){}
+ modelTable.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
+ if (jt != null){
+ if (jt.hasJewelry && jt.jewelry.getIconIndex() != null && jt.jewelry.getIconIndex().getIconName() != ""){
+ GL11.glPushMatrix();
+ GL11.glDisable(GL11.GL_LIGHTING);
+ EntityItem entityitem = new EntityItem(te.getWorldObj(), 0.0D, 0.0D, 0.0D, jt.jewelry);
+ entityitem.getEntityItem().stackSize = 1;
+ entityitem.hoverStart = 0.0F;
+ GL11.glRotatef(180F, 1F, 0F, 0F);
+ GL11.glScalef(0.5F, 0.5F, 0.5F);
+ GL11.glTranslatef(0.55F, -1.5F, -0.45F);
+ GL11.glRotatef(jt.angle, 0F, 1F, 0F);
+ if (RenderManager.instance.options.fancyGraphics) RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
+ else{
+ GL11.glRotatef(180F, 0F, 1F, 0F);
+ RenderManager.instance.options.fancyGraphics = true;
+ RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
+ RenderManager.instance.options.fancyGraphics = false;
+ }
+ GL11.glEnable(GL11.GL_LIGHTING);
+ GL11.glPopMatrix();
+ }
+ if (jt.hasEndItem && jt.endItem.getIconIndex().getIconName() != ""){
+ GL11.glPushMatrix();
+ GL11.glDisable(GL11.GL_LIGHTING);
+ EntityItem entityitem = new EntityItem(te.getWorldObj(), 0.0D, 0.0D, 0.0D, jt.endItem);
+ entityitem.getEntityItem().stackSize = 1;
+ entityitem.hoverStart = 0.0F;
+ GL11.glRotatef(180F, 1F, 0F, 0F);
+ GL11.glScalef(0.5F, 0.5F, 0.5F);
+ GL11.glTranslatef(0.0F, -1.6F, 0.6F);
+ GL11.glRotatef(jt.angle, 0F, 1F, 0F);
+ if (RenderManager.instance.options.fancyGraphics) RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
+ else{
+ GL11.glRotatef(180F, 0F, 1F, 0F);
+ RenderManager.instance.options.fancyGraphics = true;
+ RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
+ RenderManager.instance.options.fancyGraphics = false;
+ }
+ GL11.glEnable(GL11.GL_LIGHTING);
+ GL11.glPopMatrix();
+ }
+ if (jt.hasGem && jt.gem.getIconIndex().getIconName() != ""){
+ GL11.glPushMatrix();
+ GL11.glDisable(GL11.GL_LIGHTING);
+ EntityItem entityitem = new EntityItem(te.getWorldObj(), 0.0D, 0.0D, 0.0D, jt.gem);
+ entityitem.getEntityItem().stackSize = 1;
+ entityitem.hoverStart = 0.0F;
+ GL11.glRotatef(180F, 1F, 0F, 0F);
+ GL11.glScalef(0.5F, 0.5F, 0.5F);
+ GL11.glTranslatef(-0.55F, -1.5F, -0.45F);
+ GL11.glRotatef(jt.angle, 0F, 1F, 0F);
+ if (RenderManager.instance.options.fancyGraphics) RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
+ else{
+ GL11.glRotatef(180F, 0F, 1F, 0F);
+ RenderManager.instance.options.fancyGraphics = true;
+ RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
+ RenderManager.instance.options.fancyGraphics = false;
+ }
+ GL11.glEnable(GL11.GL_LIGHTING);
+ GL11.glPopMatrix();
+ }
+ }
+ GL11.glPopMatrix();
+ GL11.glPopMatrix();
+ }
+
+ /**
+ * @param world
+ * @param i
+ * @param j
+ * @param k
+ * @param block
+ */
+ public void adjustLightFixture(World world, int i, int j, int k, Block block)
+ {
+ Tessellator tess = Tessellator.instance;
+ float brightness = block.getLightOpacity(world, i, j, k);
+ int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0);
+ int modulousModifier = skyLight % 65536;
+ int divModifier = skyLight / 65536;
+ tess.setColorOpaque_F(brightness, brightness, brightness);
+ OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, modulousModifier, divModifier);
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMidasTouchRender.java b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMidasTouchRender.java index 286780f..786568a 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMidasTouchRender.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMidasTouchRender.java @@ -1,32 +1,32 @@ -package darkknight.jewelrycraft.tileentity.renders; - -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.passive.EntityPig; -import net.minecraft.tileentity.TileEntity; -import org.lwjgl.opengl.GL11; -import darkknight.jewelrycraft.tileentity.TileEntityMidasTouch; - -public class TileEntityMidasTouchRender extends TileEntitySpecialRenderer -{ - @Override - public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) - { - GL11.glPushMatrix(); - TileEntityMidasTouch midas = (TileEntityMidasTouch)te; - if (midas.target != null){ - EntityLiving target = ((EntityLiving)midas.target); - target.hurtTime = 0; - GL11.glTranslatef(0.5F, 0.0F, 0.5F); - GL11.glColor3f(1.0F, 1.0F, 0.0F); - RenderManager.instance.renderEntityWithPosYaw(target, midas.xCoord - RenderManager.instance.renderPosX, midas.yCoord - RenderManager.instance.renderPosY, midas.zCoord - RenderManager.instance.renderPosZ, 0F, 1F); - } - else{ - GL11.glTranslatef(0.5F, 0.0F, 0.5F); - GL11.glColor3f(1.0F, 1.0F, 0.0F); - RenderManager.instance.renderEntityWithPosYaw(new EntityPig(te.getWorldObj()), midas.xCoord - RenderManager.instance.renderPosX, midas.yCoord - RenderManager.instance.renderPosY, midas.zCoord - RenderManager.instance.renderPosZ, 0F, 1F); - } - GL11.glPopMatrix(); - } -} +package darkknight.jewelrycraft.tileentity.renders;
+
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.tileentity.TileEntityMidasTouch;
+import net.minecraft.client.renderer.entity.RenderManager;
+import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.passive.EntityPig;
+import net.minecraft.tileentity.TileEntity;
+
+public class TileEntityMidasTouchRender extends TileEntitySpecialRenderer
+{
+ @Override
+ public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale)
+ {
+ GL11.glPushMatrix();
+ TileEntityMidasTouch midas = (TileEntityMidasTouch)te;
+ if (midas.target != null){
+ EntityLiving target = ((EntityLiving)midas.target);
+ target.hurtTime = 0;
+ GL11.glTranslatef(0.5F, 0.0F, 0.5F);
+ GL11.glColor3f(1.0F, 1.0F, 0.0F);
+ RenderManager.instance.renderEntityWithPosYaw(target, midas.xCoord - RenderManager.instance.renderPosX, midas.yCoord - RenderManager.instance.renderPosY, midas.zCoord - RenderManager.instance.renderPosZ, 0F, 1F);
+ }
+ else{
+ GL11.glTranslatef(0.5F, 0.0F, 0.5F);
+ GL11.glColor3f(1.0F, 1.0F, 0.0F);
+ RenderManager.instance.renderEntityWithPosYaw(new EntityPig(te.getWorldObj()), midas.xCoord - RenderManager.instance.renderPosX, midas.yCoord - RenderManager.instance.renderPosY, midas.zCoord - RenderManager.instance.renderPosZ, 0F, 1F);
+ }
+ GL11.glPopMatrix();
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMolderRender.java b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMolderRender.java index 6067e2a..51e0677 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMolderRender.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMolderRender.java @@ -1,5 +1,12 @@ package darkknight.jewelrycraft.tileentity.renders;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.model.ModelMolder;
+import darkknight.jewelrycraft.tileentity.TileEntityMolder;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.OpenGlHelper;
@@ -15,13 +22,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
-import org.lwjgl.opengl.GL11;
-import darkknight.jewelrycraft.JewelrycraftMod;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.model.ModelMolder;
-import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.Variables;
public class TileEntityMolderRender extends TileEntitySpecialRenderer
{
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityShadowEyeRender.java b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityShadowEyeRender.java index 82cffbb..e347901 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityShadowEyeRender.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityShadowEyeRender.java @@ -1,5 +1,11 @@ package darkknight.jewelrycraft.tileentity.renders;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.util.glu.GLU;
+import org.lwjgl.util.glu.Sphere;
+import darkknight.jewelrycraft.model.ModelShadowEye;
+import darkknight.jewelrycraft.tileentity.TileEntityShadowEye;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.OpenGlHelper;
@@ -9,17 +15,8 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.Vec3;
import net.minecraft.world.World;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.util.glu.GLU;
-import org.lwjgl.util.glu.Sphere;
-
-import darkknight.jewelrycraft.model.ModelShadowEye;
-import darkknight.jewelrycraft.tileentity.TileEntityShadowEye;
-import darkknight.jewelrycraft.util.Variables;
-
public class TileEntityShadowEyeRender extends TileEntitySpecialRenderer
{
ModelShadowEye eye = new ModelShadowEye();
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityShadowHandRender.java b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityShadowHandRender.java index d0e2799..85a90d2 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityShadowHandRender.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityShadowHandRender.java @@ -1,20 +1,20 @@ -package darkknight.jewelrycraft.tileentity.renders; - -import net.minecraft.util.ResourceLocation; -import darkknight.jewelrycraft.model.ModelHandPedestal; - -/** - * @author Paul Fulham (pau101) - */ -public class TileEntityShadowHandRender extends TileEntityHandPedestalRender -{ - - /** - * @param model - * @param texture - */ - public TileEntityShadowHandRender(ModelHandPedestal model, ResourceLocation texture) - { - super(model, texture); - } +package darkknight.jewelrycraft.tileentity.renders;
+
+import darkknight.jewelrycraft.model.ModelHandPedestal;
+import net.minecraft.util.ResourceLocation;
+
+/**
+ * @author Paul Fulham (pau101)
+ */
+public class TileEntityShadowHandRender extends TileEntityHandPedestalRender
+{
+
+ /**
+ * @param model
+ * @param texture
+ */
+ public TileEntityShadowHandRender(ModelHandPedestal model, ResourceLocation texture)
+ {
+ super(model, texture);
+ }
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntitySmelterRender.java b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntitySmelterRender.java index 3db99c8..fa98f2c 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntitySmelterRender.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntitySmelterRender.java @@ -1,6 +1,12 @@ package darkknight.jewelrycraft.tileentity.renders;
-import net.minecraft.block.Block;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.model.ModelSmelter;
+import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.entity.RenderItem;
@@ -9,17 +15,9 @@ import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
-import darkknight.jewelrycraft.JewelrycraftMod;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.model.ModelSmelter;
-import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.Variables;
public class TileEntitySmelterRender extends TileEntitySpecialRenderer
{
diff --git a/src/main/java/darkknight/jewelrycraft/util/BlockUtils.java b/src/main/java/darkknight/jewelrycraft/util/BlockUtils.java index 18cb9eb..a33fd5e 100644 --- a/src/main/java/darkknight/jewelrycraft/util/BlockUtils.java +++ b/src/main/java/darkknight/jewelrycraft/util/BlockUtils.java @@ -1,155 +1,153 @@ -package darkknight.jewelrycraft.util; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public class BlockUtils -{ - public static final ForgeDirection DEFAULT_BLOCK_DIRECTION = ForgeDirection.WEST; - - /** - * This method is used to get the direction an entity is facing (NORTH, SOUTH, EAST or WEST) based on the entity's rotationYaw. - * - * @param entity the living entity - * @return a direction - */ - public static ForgeDirection get2dOrientation(EntityLivingBase entity) - { - int l = MathHelper.floor_double(entity.rotationYaw * 4.0F / 360.0F + 0.5D) & 0x3; - switch(l) - { - case 0: - return ForgeDirection.SOUTH; - case 1: - return ForgeDirection.WEST; - case 2: - return ForgeDirection.NORTH; - case 3: - return ForgeDirection.EAST; - } - return ForgeDirection.SOUTH; - } - - /** - * This gets a float value depending on a direction - * - * @param direction the forge direction - * @return value depending on direction - */ - public static float getRotationFromDirection(ForgeDirection direction) - { - switch(direction) - { - case NORTH: - return 0F; - case SOUTH: - return 180F; - case WEST: - return 90F; - case EAST: - return -90F; - case DOWN: - return -90f; - case UP: - return 90f; - default: - return 0f; - } - } - - /** - * This method is used to get the direction an entity is looking at (UP or DOWN) based on the entitiy's rotationPitch - * - * @param entity the living entity - * @return a forge direction - */ - public static ForgeDirection get3dOrientation(EntityLivingBase entity) - { - if (entity.rotationPitch > 45.5F) return ForgeDirection.DOWN; - else if (entity.rotationPitch < -45.5F) return ForgeDirection.UP; - return get2dOrientation(entity); - } - - /** - * This spawns the item specified and returns the EntityItem it created - * - * @param worldObj the world - * @param x position of the item to drop on the X axis - * @param y position of the item to drop on the Y axis - * @param z position of the item to drop on the Z axis - * @param stack the item to spawn - * @return the EntityItem of the stack - */ - public static EntityItem dropItemStackInWorld(World worldObj, double x, double y, double z, ItemStack stack) - { - float f = 0.7F; - float d0 = worldObj.rand.nextFloat() * f + (1.0F - f) * 0.5F; - float d1 = worldObj.rand.nextFloat() * f + (1.0F - f) * 0.5F; - float d2 = worldObj.rand.nextFloat() * f + (1.0F - f) * 0.5F; - EntityItem entityitem = new EntityItem(worldObj, x + d0, y + d1, z + d2, stack); - entityitem.delayBeforeCanPickup = 10; - if (stack.hasTagCompound()) entityitem.getEntityItem().setTagCompound((NBTTagCompound)stack.getTagCompound().copy()); - worldObj.spawnEntityInWorld(entityitem); - return entityitem; - } - - /** - * It spawns the item with momentum in a certain direction - * - * @param world the world to spawn the item - * @param x the X coordinate to spawn it in - * @param y the Y coordinate to spawn it in - * @param z the Z coordinate to spawn it in - * @param direction the direction towards which it should eject - * @param stack the item to spawn - * @return the spawned EntityItem - */ - public static EntityItem ejectItemInDirection(World world, double x, double y, double z, ForgeDirection direction, ItemStack stack) - { - EntityItem item = BlockUtils.dropItemStackInWorld(world, x, y, z, stack); - item.motionX = direction.offsetX / 5F; - item.motionY = direction.offsetY / 5F; - item.motionZ = direction.offsetZ / 5F; - return item; - } - - /** - * Drops the content of an inventory with doubles as coordinates - * - * @param inventory the inventory the items are contained in - * @param world the world in which to spawn - * @param x the X coordinate to spawn it in - * @param y the Y coordinate to spawn it in - * @param z the Z coordinate to spawn it in - */ - public static void dropInventory(IInventory inventory, World world, double x, double y, double z) - { - if (inventory == null) return; - for(int i = 0; i < inventory.getSizeInventory(); ++i){ - ItemStack itemStack = inventory.getStackInSlot(i); - if (itemStack != null) dropItemStackInWorld(world, x, y, z, itemStack); - } - } - - /** - * Drops the content of an inventory with integer as coordinates - * - * @param inventory the inventory the items are contained in - * @param world the world in which to spawn - * @param x the X coordinate to spawn it in - * @param y the Y coordinate to spawn it in - * @param z the Z coordinate to spawn it in - */ - public static void dropInventory(IInventory inventory, World world, int x, int y, int z) - { - dropInventory(inventory, world, x + 0.5, y + 0.5, z + 0.5); - } +package darkknight.jewelrycraft.util;
+
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+import net.minecraftforge.common.util.ForgeDirection;
+
+public class BlockUtils
+{
+ public static final ForgeDirection DEFAULT_BLOCK_DIRECTION = ForgeDirection.WEST;
+
+ /**
+ * This method is used to get the direction an entity is facing (NORTH, SOUTH, EAST or WEST) based on the entity's rotationYaw.
+ *
+ * @param entity the living entity
+ * @return a direction
+ */
+ public static ForgeDirection get2dOrientation(EntityLivingBase entity)
+ {
+ int l = MathHelper.floor_double(entity.rotationYaw * 4.0F / 360.0F + 0.5D) & 0x3;
+ switch(l)
+ {
+ case 0:
+ return ForgeDirection.SOUTH;
+ case 1:
+ return ForgeDirection.WEST;
+ case 2:
+ return ForgeDirection.NORTH;
+ case 3:
+ return ForgeDirection.EAST;
+ }
+ return ForgeDirection.SOUTH;
+ }
+
+ /**
+ * This gets a float value depending on a direction
+ *
+ * @param direction the forge direction
+ * @return value depending on direction
+ */
+ public static float getRotationFromDirection(ForgeDirection direction)
+ {
+ switch(direction)
+ {
+ case NORTH:
+ return 0F;
+ case SOUTH:
+ return 180F;
+ case WEST:
+ return 90F;
+ case EAST:
+ return -90F;
+ case DOWN:
+ return -90f;
+ case UP:
+ return 90f;
+ default:
+ return 0f;
+ }
+ }
+
+ /**
+ * This method is used to get the direction an entity is looking at (UP or DOWN) based on the entitiy's rotationPitch
+ *
+ * @param entity the living entity
+ * @return a forge direction
+ */
+ public static ForgeDirection get3dOrientation(EntityLivingBase entity)
+ {
+ if (entity.rotationPitch > 45.5F) return ForgeDirection.DOWN;
+ else if (entity.rotationPitch < -45.5F) return ForgeDirection.UP;
+ return get2dOrientation(entity);
+ }
+
+ /**
+ * This spawns the item specified and returns the EntityItem it created
+ *
+ * @param worldObj the world
+ * @param x position of the item to drop on the X axis
+ * @param y position of the item to drop on the Y axis
+ * @param z position of the item to drop on the Z axis
+ * @param stack the item to spawn
+ * @return the EntityItem of the stack
+ */
+ public static EntityItem dropItemStackInWorld(World worldObj, double x, double y, double z, ItemStack stack)
+ {
+ float f = 0.7F;
+ float d0 = worldObj.rand.nextFloat() * f + (1.0F - f) * 0.5F;
+ float d1 = worldObj.rand.nextFloat() * f + (1.0F - f) * 0.5F;
+ float d2 = worldObj.rand.nextFloat() * f + (1.0F - f) * 0.5F;
+ EntityItem entityitem = new EntityItem(worldObj, x + d0, y + d1, z + d2, stack);
+ entityitem.delayBeforeCanPickup = 10;
+ if (stack.hasTagCompound()) entityitem.getEntityItem().setTagCompound((NBTTagCompound)stack.getTagCompound().copy());
+ worldObj.spawnEntityInWorld(entityitem);
+ return entityitem;
+ }
+
+ /**
+ * It spawns the item with momentum in a certain direction
+ *
+ * @param world the world to spawn the item
+ * @param x the X coordinate to spawn it in
+ * @param y the Y coordinate to spawn it in
+ * @param z the Z coordinate to spawn it in
+ * @param direction the direction towards which it should eject
+ * @param stack the item to spawn
+ * @return the spawned EntityItem
+ */
+ public static EntityItem ejectItemInDirection(World world, double x, double y, double z, ForgeDirection direction, ItemStack stack)
+ {
+ EntityItem item = BlockUtils.dropItemStackInWorld(world, x, y, z, stack);
+ item.motionX = direction.offsetX / 5F;
+ item.motionY = direction.offsetY / 5F;
+ item.motionZ = direction.offsetZ / 5F;
+ return item;
+ }
+
+ /**
+ * Drops the content of an inventory with doubles as coordinates
+ *
+ * @param inventory the inventory the items are contained in
+ * @param world the world in which to spawn
+ * @param x the X coordinate to spawn it in
+ * @param y the Y coordinate to spawn it in
+ * @param z the Z coordinate to spawn it in
+ */
+ public static void dropInventory(IInventory inventory, World world, double x, double y, double z)
+ {
+ if (inventory == null) return;
+ for(int i = 0; i < inventory.getSizeInventory(); ++i){
+ ItemStack itemStack = inventory.getStackInSlot(i);
+ if (itemStack != null) dropItemStackInWorld(world, x, y, z, itemStack);
+ }
+ }
+
+ /**
+ * Drops the content of an inventory with integer as coordinates
+ *
+ * @param inventory the inventory the items are contained in
+ * @param world the world in which to spawn
+ * @param x the X coordinate to spawn it in
+ * @param y the Y coordinate to spawn it in
+ * @param z the Z coordinate to spawn it in
+ */
+ public static void dropInventory(IInventory inventory, World world, int x, int y, int z)
+ {
+ dropInventory(inventory, world, x + 0.5, y + 0.5, z + 0.5);
+ }
}
\ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/util/JewelryNBT.java b/src/main/java/darkknight/jewelrycraft/util/JewelryNBT.java index 1944510..52d965c 100644 --- a/src/main/java/darkknight/jewelrycraft/util/JewelryNBT.java +++ b/src/main/java/darkknight/jewelrycraft/util/JewelryNBT.java @@ -1,17 +1,10 @@ package darkknight.jewelrycraft.util;
import java.util.ArrayList;
-import java.util.List;
-import net.minecraft.block.Block;
-import net.minecraft.entity.EntityList;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
+
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
public class JewelryNBT
{
@@ -90,182 +83,7 @@ public class JewelryNBT itemStackData.setInteger("modifierSize", modifier.size());
}
}
-
- /**
- * @param item The item you want to add the NBT data on
- * @param entity The entity to add on the item
- */
- public static void addEntity(ItemStack item, EntityLivingBase entity)
- {
- NBTTagCompound itemStackData;
- if (item.hasTagCompound()) itemStackData = item.getTagCompound();
- else{
- itemStackData = new NBTTagCompound();
- item.setTagCompound(itemStackData);
- }
- NBTTagCompound entityNBT = new NBTTagCompound();
- entity.writeToNBT(entityNBT);
- itemStackData.setTag("entity", entityNBT);
- }
-
- /**
- * @param item
- * @param entity
- */
- public static void addEntityID(ItemStack item, EntityLivingBase entity)
- {
- NBTTagCompound itemStackData;
- if (item.hasTagCompound()) itemStackData = item.getTagCompound();
- else{
- itemStackData = new NBTTagCompound();
- item.setTagCompound(itemStackData);
- }
- NBTTagCompound entityNBT = new NBTTagCompound();
- int id = EntityList.getEntityID(entity);
- entityNBT.setInteger("entityID", id);
- itemStackData.setTag("entityID", entityNBT);
- }
-
- /**
- * @param item
- * @param x
- * @param y
- * @param z
- */
- public static void addCoordonates(ItemStack item, double x, double y, double z)
- {
- NBTTagCompound itemStackData;
- if (item.hasTagCompound()) itemStackData = item.getTagCompound();
- else{
- itemStackData = new NBTTagCompound();
- item.setTagCompound(itemStackData);
- }
- NBTTagCompound coords = new NBTTagCompound();
- coords.setDouble("x", x);
- coords.setDouble("y", y);
- coords.setDouble("z", z);
- itemStackData.setTag("x", coords);
- itemStackData.setTag("y", coords);
- itemStackData.setTag("z", coords);
- }
-
- /**
- * @param item
- * @param world
- * @param x
- * @param y
- * @param z
- */
- public static void addTileEntityBlock(ItemStack item, World world, int x, int y, int z)
- {
- NBTTagCompound itemStackData;
- if (item.hasTagCompound()) itemStackData = item.getTagCompound();
- else{
- itemStackData = new NBTTagCompound();
- item.setTagCompound(itemStackData);
- }
- NBTTagCompound tileNBT = new NBTTagCompound();
- NBTTagCompound block = new NBTTagCompound();
- world.getTileEntity(x, y, z).writeToNBT(tileNBT);
- itemStackData.setTag("tile", tileNBT);
- block.setInteger("blockID", Block.getIdFromBlock(world.getBlock(x, y, z)));
- block.setInteger("metadata", world.getBlockMetadata(x, y, z));
- block.setInteger("blockX", x);
- block.setInteger("blockY", y);
- block.setInteger("blockZ", z);
- itemStackData.setTag("metadata", block);
- itemStackData.setTag("blockID", block);
- itemStackData.setTag("blockX", block);
- itemStackData.setTag("blockY", block);
- itemStackData.setTag("blockZ", block);
- }
-
- /**
- * @param item
- * @param block
- * @param metadata
- */
- public static void addBlock(ItemStack item, int block, int metadata)
- {
- NBTTagCompound itemStackData;
- if (item.hasTagCompound()) itemStackData = item.getTagCompound();
- else{
- itemStackData = new NBTTagCompound();
- item.setTagCompound(itemStackData);
- }
- NBTTagCompound blockNBT = new NBTTagCompound();
- blockNBT.setInteger("blockID", block);
- itemStackData.setTag("blockID", blockNBT);
- blockNBT.setInteger("metadata", metadata);
- itemStackData.setTag("metadata", blockNBT);
- }
-
- /**
- * @param item
- * @param x
- * @param y
- * @param z
- */
- public static void addBlockCoordonates(ItemStack item, int x, int y, int z)
- {
- NBTTagCompound itemStackData;
- if (item.hasTagCompound()) itemStackData = item.getTagCompound();
- else{
- itemStackData = new NBTTagCompound();
- item.setTagCompound(itemStackData);
- }
- NBTTagCompound coords = new NBTTagCompound();
- coords.setInteger("blockX", x);
- coords.setInteger("blockY", y);
- coords.setInteger("blockZ", z);
- itemStackData.setTag("blockX", coords);
- itemStackData.setTag("blockY", coords);
- itemStackData.setTag("blockZ", coords);
- }
-
- /**
- * @param item
- * @param x
- * @param y
- * @param z
- * @param dim
- * @param name
- */
- public static void addCoordonatesAndDimension(ItemStack item, double x, double y, double z, int dim, String name)
- {
- NBTTagCompound itemStackData;
- if (item.hasTagCompound()) itemStackData = item.getTagCompound();
- else{
- itemStackData = new NBTTagCompound();
- item.setTagCompound(itemStackData);
- }
- NBTTagCompound coords = new NBTTagCompound();
- coords.setDouble("x", x);
- coords.setDouble("y", y);
- coords.setDouble("z", z);
- coords.setInteger("dimension", dim);
- coords.setString("dimName", name);
- itemStackData.setTag("x", coords);
- itemStackData.setTag("y", coords);
- itemStackData.setTag("z", coords);
- itemStackData.setTag("dimension", coords);
- itemStackData.setTag("dimName", coords);
- }
-
- /**
- * @param item
- */
- public static void addFakeEnchantment(ItemStack item)
- {
- NBTTagCompound itemStackData;
- if (item.hasTagCompound()) itemStackData = item.getTagCompound();
- else{
- itemStackData = new NBTTagCompound();
- item.setTagCompound(itemStackData);
- }
- itemStackData.setTag("ench", new NBTTagList());
- }
-
+
/**
* @param item
* @param color
@@ -278,9 +96,7 @@ public class JewelryNBT itemStackData = new NBTTagCompound();
item.setTagCompound(itemStackData);
}
- NBTTagCompound colors = new NBTTagCompound();
- colors.setInteger("ingotColor", color);
- itemStackData.setTag("ingotColor", colors);
+ itemStackData.setInteger("ingotColor", color);
}
// TODO
@@ -296,67 +112,7 @@ public class JewelryNBT itemStackData = new NBTTagCompound();
item.setTagCompound(itemStackData);
}
- NBTTagCompound colors = new NBTTagCompound();
- colors.setInteger("gemColor", color);
- itemStackData.setTag("gemColor", colors);
- }
-
- /**
- * @param item
- * @param list
- */
- @SuppressWarnings ("rawtypes")
- public static void addEntities(ItemStack item, List list)
- {
- NBTTagCompound itemStackData;
- if (item.hasTagCompound()) itemStackData = item.getTagCompound();
- else{
- itemStackData = new NBTTagCompound();
- item.setTagCompound(itemStackData);
- }
- NBTTagCompound entityNBT = new NBTTagCompound();
- for(int i = 0; i < list.size(); i++)
- ((EntityLivingBase)list.get(i)).writeToNBT(entityNBT);
- itemStackData.setTag("entities", entityNBT);
- }
-
- // TODO NBT Tag Removing
- /**
- * @param item
- * @param tag
- */
- public static void removeNBT(ItemStack item, String tag)
- {
- NBTTagCompound itemStackData;
- if (item.hasTagCompound()) itemStackData = item.getTagCompound();
- else{
- itemStackData = new NBTTagCompound();
- item.setTagCompound(itemStackData);
- }
- itemStackData.removeTag(tag);
- }
-
- /**
- * @param item
- */
- public static void removeEntity(ItemStack item)
- {
- JewelryNBT.removeNBT(item, "entityID");
- JewelryNBT.removeNBT(item, "entity");
- JewelryNBT.removeNBT(item, "ench");
- }
-
- /**
- * @param item
- */
- public static void removeBlock(ItemStack item)
- {
- JewelryNBT.removeNBT(item, "blockID");
- JewelryNBT.removeNBT(item, "metadata");
- JewelryNBT.removeNBT(item, "tile");
- JewelryNBT.removeNBT(item, "blockX");
- JewelryNBT.removeNBT(item, "blockY");
- JewelryNBT.removeNBT(item, "blockZ");
+ itemStackData.setInteger("gemColor", color);
}
// TODO NTB Tag Checking
@@ -417,7 +173,7 @@ public class JewelryNBT {
if (modifier(stack) != null) return modifier(stack).size();
return -1;
- }
+ }
/**
* @param stack
@@ -430,40 +186,6 @@ public class JewelryNBT return false;
}
- /**
- * @param stack
- * @param player
- * @param entity
- * @return
- */
- public static boolean isEntityX(ItemStack stack, EntityPlayer player, EntityLivingBase entity)
- {
- if (entity != null && entity instanceof EntityLivingBase && entity(stack, player) != null && entity(stack, player).equals(entity)) return true;
- return false;
- }
-
- /**
- * @param stack
- * @param dimName
- * @return
- */
- public static boolean isDimNameX(ItemStack stack, String dimName)
- {
- if (ingot(stack) != null && dimName(stack).equals(dimName)) return true;
- return false;
- }
-
- /**
- * @param stack
- * @param dimension
- * @return
- */
- public static boolean isDimensionX(ItemStack stack, int dimension)
- {
- if (dimension(stack) != -2 && dimension(stack) == dimension) return true;
- return false;
- }
-
// TODO Return components based on NBT
public static ItemStack item(ItemStack stack)
{
@@ -528,207 +250,12 @@ public class JewelryNBT /**
* @param stack
- * @param player
- * @return
- */
- public static EntityLivingBase entity(ItemStack stack, EntityPlayer player)
- {
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entityID") && stack.getTagCompound().hasKey("entity")){
- NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entityID");
- NBTTagCompound en = (NBTTagCompound)stack.getTagCompound().getTag("entity");
- int entityID = 0;
- entityID = enID.getInteger("entityID");
- EntityLivingBase entity = (EntityLivingBase)EntityList.createEntityByID(entityID, player.worldObj);
- if (entity != null && entity instanceof EntityLivingBase){
- entity.readFromNBT(en);
- return entity;
- }else return null;
- }
- return null;
- }
-
- /**
- * @param stack
- * @return
- */
- public static TileEntity tileEntity(ItemStack stack)
- {
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("tile")){
- NBTTagCompound tileNBT = (NBTTagCompound)stack.getTagCompound().getTag("tile");
- TileEntity tile = TileEntity.createAndLoadEntity(tileNBT);
- if (tile != null && tile instanceof TileEntity){
- tile.readFromNBT(tileNBT);
- return tile;
- }else return null;
- }
- return null;
- }
-
- /**
- * @param stack
- * @return
- */
- public static String dimName(ItemStack stack)
- {
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimName")){
- NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimName");
- String name = dim.getString("dimName");
- return name;
- }
- return null;
- }
-
- /**
- * @param stack
- * @return
- */
- public static String modeName(ItemStack stack)
- {
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("mode")){
- NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("mode");
- String name = dim.getString("mode");
- return name;
- }
- return null;
- }
-
- /**
- * @param stack
- * @return
- */
- public static int dimension(ItemStack stack)
- {
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimension")){
- NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimension");
- int dimension = dim.getInteger("dimension");
- return dimension;
- }
- return -2;
- }
-
- /**
- * @param stack
- * @return
- */
- public static int blockCoordX(ItemStack stack)
- {
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockX")){
- NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("blockX");
- int posX = x.getInteger("blockX");
- return posX;
- }
- return -1;
- }
-
- /**
- * @param stack
- * @return
- */
- public static int blockCoordY(ItemStack stack)
- {
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockY")){
- NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("blockY");
- int posY = y.getInteger("blockY");
- return posY;
- }
- return -1;
- }
-
- /**
- * @param stack
- * @return
- */
- public static int blockCoordZ(ItemStack stack)
- {
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockZ")){
- NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("blockZ");
- int posZ = z.getInteger("blockZ");
- return posZ;
- }
- return -1;
- }
-
- /**
- * @param stack
- * @return
- */
- public static int blockID(ItemStack stack)
- {
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockID")){
- NBTTagCompound blockID = (NBTTagCompound)stack.getTagCompound().getTag("blockID");
- int blockId = blockID.getInteger("blockID");
- return blockId;
- }
- return -1;
- }
-
- /**
- * @param stack
- * @return
- */
- public static int blockMetadata(ItemStack stack)
- {
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("metadata")){
- NBTTagCompound metadataNBT = (NBTTagCompound)stack.getTagCompound().getTag("metadata");
- int metadata = metadataNBT.getInteger("metadata");
- return metadata;
- }
- return -1;
- }
-
- /**
- * @param stack
- * @return
- */
- public static double playerPosX(ItemStack stack)
- {
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("x")){
- NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("x");
- double posX = x.getDouble("x");
- return posX;
- }
- return -1;
- }
-
- /**
- * @param stack
- * @return
- */
- public static double playerPosY(ItemStack stack)
- {
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("y")){
- NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("y");
- double posY = y.getDouble("y");
- return posY;
- }
- return -1;
- }
-
- /**
- * @param stack
- * @return
- */
- public static double playerPosZ(ItemStack stack)
- {
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("z")){
- NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("z");
- double posZ = z.getDouble("z");
- return posZ;
- }
- return -1;
- }
-
- /**
- * @param stack
* @return
*/
public static int ingotColor(ItemStack stack)
{
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingotColor")){
- NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("ingotColor");
- int color = colors.getInteger("ingotColor");
- return color;
- }
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingotColor"))
+ return stack.getTagCompound().getInteger("ingotColor");
return 16777215;
}
@@ -739,34 +266,9 @@ public class JewelryNBT */
public static int gemColor(ItemStack stack)
{
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gemColor")){
- NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("gemColor");
- int color = colors.getInteger("gemColor");
- return color;
- }
+ if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gemColor"))
+ return stack.getTagCompound().getInteger("gemColor");
return 16777215;
}
- /**
- * @param stack
- * @param player
- * @return
- */
- @SuppressWarnings ({"rawtypes", "unchecked", "null"})
- public static List entities(ItemStack stack, EntityPlayer player)
- {
- if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entities")){
- NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entitiesID");
- List list = null;
- int[] entityID;
- EntityLivingBase entity;
- entityID = enID.getIntArray("entitiesID");
- for(int element: entityID){
- entity = (EntityLivingBase)EntityList.createEntityByID(element, player.worldObj);
- list.add(entity);
- }
- return list;
- }
- return null;
- }
}
diff --git a/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java b/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java index 818a526..4c9669e 100644 --- a/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java +++ b/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java @@ -36,7 +36,6 @@ import net.minecraft.entity.player.EntityPlayerMP; 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.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.nbt.NBTTagCompound;
@@ -46,334 +45,376 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.world.World;
import net.minecraftforge.oredict.OreDictionary;
-public class JewelrycraftUtil {
- public static ArrayList<ItemStack> objects = new ArrayList<ItemStack>();
- public static ArrayList<ItemStack> gem = new ArrayList<ItemStack>();
- public static ArrayList<ItemStack> jewelry = new ArrayList<ItemStack>();
- public static ArrayList<ItemStack> metal = new ArrayList<ItemStack>();
- public static ArrayList<ItemStack> ores = new ArrayList<ItemStack>();
- public static HashMap<ItemStack, ItemStack> oreToIngot = new HashMap<ItemStack, ItemStack>();
- public static HashMap<ItemStack, Integer> colors = new HashMap<ItemStack, Integer>();
- public static ArrayList<String> jamcraftPlayers = new ArrayList<String>();
- private static ArrayList<ItemStack> items = new ArrayList<ItemStack>();
- public static ArrayList<WorldGenStructure> structures = new ArrayList<WorldGenStructure>();
- public static Random rand = new Random();
- public static EnumCreatureAttribute HEART;
-
- /**
- * Adds gems and jewelry to their appropriate list
- */
- public static void addStuff() {
- // Jewels
- for (int i = 0; i < 16; i++)
- gem.add(new ItemStack(BlockList.crystal, 1, i));
- gem.add(new ItemStack(Blocks.redstone_block));
- gem.add(new ItemStack(Blocks.lapis_block));
- gem.add(new ItemStack(Blocks.obsidian));
- gem.add(new ItemStack(Items.diamond));
- gem.add(new ItemStack(Items.emerald));
- gem.add(new ItemStack(Items.ender_pearl));
- gem.add(new ItemStack(Items.nether_star));
- // Jewelry
- jewelry.add(new ItemStack(ItemList.ring));
- jewelry.add(new ItemStack(ItemList.necklace));
- jewelry.add(new ItemStack(ItemList.bracelet));
- jewelry.add(new ItemStack(ItemList.earrings));
- for (Object item : GameData.getItemRegistry()) {
- if (Loader.isModLoaded("Mantle") && ((Item) item).getUnlocalizedName().equals("Mantle:item.mantle.manual")) continue;
- try {
- if (item != null && (Item) item != null && ((Item) item).getHasSubtypes() && FMLCommonHandler.instance().getSide() == Side.CLIENT) {
- ((Item) item).getSubItems((Item) item, null, items);
- }
- else objects.add(new ItemStack((Item) item));
- if (!items.isEmpty()) objects.addAll(items);
- items.removeAll(items);
- }
- catch (Exception e) {
- JewelrycraftMod.logger.info("Error, tried to add subtypes of item " + ((Item) item).getUnlocalizedName() + "\nItem is not added in the list.");
- }
- }
- // Structures
- try {
- for (Field f : Generation.class.getDeclaredFields()) {
- Object obj = f.get(null);
- if (obj instanceof WorldGenStructure) structures.add((WorldGenStructure) obj);
- }
- }
- catch (IllegalAccessException e) {
- throw new RuntimeException(e);
- }
- }
-
- @SideOnly(Side.CLIENT)
- public static void generateColors() {
- for (Object item : GameData.getItemRegistry()) {
- if (Loader.isModLoaded("Mantle") && ((Item) item).getUnlocalizedName().equals("Mantle:item.mantle.manual")) continue;
- try {
- if (item != null && (Item) item != null && ((Item) item).getHasSubtypes() && FMLCommonHandler.instance().getSide() == Side.CLIENT) {
- ((Item) item).getSubItems((Item) item, null, items);
- }
- else {
- ItemStack it = new ItemStack((Item) item);
- colors.put(it, color(it, 0));
- }
- if (!items.isEmpty()) for (ItemStack it : items)
- colors.put(it, color(it, 0));
- items.removeAll(items);
- }
- catch (Exception e) {
- JewelrycraftMod.logger.info("Error, tried to add the color of the item " + ((Item) item).getUnlocalizedName() + " but something went wrong.");
- }
- }
- }
-
- @SideOnly(Side.CLIENT)
- public static int getColor(ItemStack item) {
- for (ItemStack stack : colors.keySet())
- if (item != null && item.getItem() != null && stack.getItem() != null && item.getItem().equals(stack.getItem()) && item.getItemDamage() == stack.getItemDamage()) return colors.get(stack);
- return 0xFFFFFF;
- }
-
- @SideOnly(Side.CLIENT)
- public static int color(ItemStack stack, int pass) throws IOException {
- IResourceManager rm = Minecraft.getMinecraft().getResourceManager();
- ResourceLocation ingot;
- BufferedImage icon;
- if (stack != null && Item.getIdFromItem(stack.getItem()) > 0 && stack.getItem().getColorFromItemStack(stack, pass) == 16777215) {
- try {
- ingot = getLocation(stack);
- }
- catch (Exception e) {
- ingot = new ResourceLocation("textures/items/apple.png");
- }
- icon = ImageIO.read(rm.getResource(ingot).getInputStream());
- int height = icon.getHeight();
- int width = icon.getWidth();
- Map m = new HashMap();
- for (int i = 0; i < width; i++)
- for (int j = 0; j < height; j++) {
- int rgb = icon.getRGB(i, j);
- int red = rgb >> 16 & 0xff;
- int green = rgb >> 8 & 0xff;
- int blue = rgb & 0xff;
- int[] rgbArr = { red, green, blue };
- int Cmax = Math.max(red, Math.max(green, blue));
- int Cmin = Math.min(red, Math.min(green, blue));
- if (!isGray(rgbArr)) m.put(rgb, (Cmax + Cmin) / 2);
- }
- return getMostCommonColour(m);
- }
- else return stack.getItem().getColorFromItemStack(stack, pass);
- }
-
- public static ResourceLocation getLocation(ItemStack item) {
- String domain = "";
- String texture;
- IIcon itemIcon = item.getItem().getIcon(item, 0);
- if (!(Block.getBlockFromItem(item.getItem()) instanceof BlockAir) && !Block.getBlockFromItem(item.getItem()).getIcon(0, item.getItemDamage()).getIconName().equals("soul_sand")) itemIcon = Block.getBlockFromItem(item.getItem()).getIcon(0, item.getItemDamage());
- String iconName = itemIcon.getIconName();
- if (iconName.substring(0, iconName.indexOf(":") + 1) != "") domain = iconName.substring(0, iconName.indexOf(":") + 1).replace(":", " ").trim();
- else domain = "minecraft";
- texture = iconName.substring(iconName.lastIndexOf(":") + 1) + ".png";
- ResourceLocation textureLocation = null;
- TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
- if (texturemanager.getResourceLocation(item.getItemSpriteNumber()).toString().contains("items")) textureLocation = new ResourceLocation(domain.toLowerCase(), "textures/items/" + texture);
- else textureLocation = new ResourceLocation(domain.toLowerCase(), "textures/blocks/" + texture);
- return textureLocation;
- }
-
- @SideOnly(Side.CLIENT)
- public static int getMostCommonColour(Map map) {
- List list = new LinkedList(map.entrySet());
- Collections.sort(list, new Comparator() {
- public int compare(Object o1, Object o2) {
- return ((Comparable) ((Map.Entry) o1).getValue()).compareTo(((Map.Entry) o2).getValue());
- }
- });
- Map.Entry me = (Map.Entry) list.get(list.size() - 1);
- for (int i = 0; i < list.size(); i++) {
- float alpha = Float.valueOf(list.get(i).toString().split("=")[1]);
- if (alpha < 180) me = (Map.Entry) list.get(i);
- }
- int rgb = (Integer) me.getKey();
- return rgb;
- }
-
- @SideOnly(Side.CLIENT)
- public static boolean isGray(int[] rgbArr) {
- int rgbSum = rgbArr[0] + rgbArr[1] + rgbArr[2];
- if (rgbSum > 0 && rgbSum < 256 * 3) return false;
- return true;
- }
-
- public static WeightedRandomCurse[] getCurses(World world, EntityPlayer player, Random random) {
- WeightedRandomCurse[] curses = new WeightedRandomCurse[Curse.availableCurses.size()];
- for (int c = 0; c < Curse.availableCurses.size(); c++)
- curses[c] = new WeightedRandomCurse(Curse.availableCurses.get(c), Curse.availableCurses.get(c).weight(world, player, random));
- return curses;
- }
-
- /**
- * Adds curse points to a player
- *
- * @param player the player to add the points to
- * @param points amount of curse points
- */
- public static void addCursePoints(EntityPlayer player, int points) {
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
- playerInfo.setInteger("cursePoints", playerInfo.hasKey("cursePoints") ? (playerInfo.getInteger("cursePoints") + points) : points);
- playerInfo.setBoolean("playerCursePointsChanged", true);
- }
-
- public static int getCursePoints(EntityPlayer player) {
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
- return playerInfo.getInteger("cursePoints");
- }
-
- /**
- * Adds the UUID's of the jamcrafters in a list (+ special people)
- */
- public static void jamcrafters() {
- jamcraftPlayers.add("d3214311-7550-4c9c-a372-d9292c10b8a6"); //allout58
- jamcraftPlayers.add("a690119f-c4a2-4bd6-a99d-d63679abb328"); //ChewBaker
- jamcraftPlayers.add("de7c9903-51fa-4a24-88cd-48faf122ca36"); //domi1819
- jamcraftPlayers.add("70aeb298-3a7b-46da-a393-ab10df9359f2"); //founderio
- jamcraftPlayers.add("6fbe603c-14bf-4085-afdd-abe592c26e7c"); //GerbShert
- jamcraftPlayers.add("b0d21306-36bf-4d85-84df-a956d183c45a"); //isomgirls6
- jamcraftPlayers.add("1733a31f-01f9-4f4d-82aa-7de30ca810d3"); //TH3N00B
- jamcraftPlayers.add("4833eacf-1d94-49a7-9f89-4cf88d69dcf9"); //Joban
- jamcraftPlayers.add("718cf671-9084-4e78-b91f-033e80aa11bf"); //KJ4IPS
- jamcraftPlayers.add("bea5e0c4-85c4-454d-a081-e1eaae6895ee"); //Mitchellbrine
- jamcraftPlayers.add("7ecf3e2f-fedf-4f7e-8d24-6731d078db4f"); //MrComputerGhost
- jamcraftPlayers.add("1b11ad3a-f0ca-4695-a019-2d7e5d83a5fd"); //Resinresin
- jamcraftPlayers.add("3ec9ac58-2f1b-4d3f-b4eb-3b875da877ae"); //sci4me
- jamcraftPlayers.add("cf9fa23f-205e-4eed-aba3-9f2848cd6a4d"); //OnyxDarkKnight
- jamcraftPlayers.add("91880caa-b032-48e3-bfe8-c2c7ed31824e"); //theminecoder
- jamcraftPlayers.add("8d0b3804-f71c-4219-897b-8c315448ea7c"); //YSPilot
- jamcraftPlayers.add("bbb87dbe-690f-4205-bdc5-72ffb8ebc29d"); //direwolf20
- }
-
- /**
- * Adds a random amount of modifiers to a list
- *
- * @param randValue maximum number of modifiers
- * @return a list containing the random modifiers
- */
- public static ArrayList<ItemStack> addRandomModifiers(int randValue) {
- ArrayList<ItemStack> list = new ArrayList<ItemStack>();
- for (int i = 0; i < 2 + randValue; i++) {
- ItemStack item = objects.get(new Random().nextInt(objects.size()));
- item.stackSize = 1 + new Random().nextInt(2);
- list.add(item);
- }
- return list;
- }
-
- /**
- * Links ores with their appropriate ingot
- */
- public static void addMetals() {
- int index = 0;
- while (index < OreDictionary.getOreNames().length) {
- Iterator<ItemStack> i = OreDictionary.getOres(OreDictionary.getOreNames()[index]).iterator();
- while (i.hasNext()) {
- ItemStack nextStack = i.next();
- String stackName = nextStack.getItem().getUnlocalizedName().toLowerCase();
- if ((stackName.contains("ingot") || stackName.contains("alloy")) && !metal.contains(nextStack)) metal.add(nextStack);
- if (nextStack.getItem().getUnlocalizedName().toLowerCase().contains("ore") && !ores.contains(nextStack)) {
- ItemStack ingot = FurnaceRecipes.smelting().getSmeltingResult(nextStack);
- if (ingot != null && (ingot.getItem().getUnlocalizedName().toLowerCase().contains("ingot") || ingot.getItem().getUnlocalizedName().toLowerCase().contains("alloy"))) {
- ores.add(nextStack);
- oreToIngot.put(nextStack, ingot);
- JewelrycraftMod.logger.info(nextStack + " Adding " + nextStack.getDisplayName() + " with damage value " + nextStack.getItemDamage() + " and with " + nextStack.stackSize + " in stack");
- JewelrycraftMod.logger.info(ingot + " Adding ingot " + ingot.getDisplayName() + " with damage value " + ingot.getItemDamage() + " and with " + ingot.stackSize + " in stack");
- }
- }
- }
- index++;
- }
- }
-
- /**
- * Checks to see if the specified item is a gem
- *
- * @param item ItemStack containing the item
- * @return is the item a gem
- */
- public static boolean isGem(ItemStack item) {
- Iterator<ItemStack> i = gem.iterator();
- while (i.hasNext()) {
- ItemStack temp = i.next();
- if (temp.getItem() == item.getItem() && temp.getItemDamage() == item.getItemDamage()) return true;
- }
- return false;
- }
-
- /**
- * Checks to see if the specified item is a metal
- *
- * @param item ItemStack containing the item
- * @return is the item a metal
- */
- public static boolean isMetal(ItemStack item) {
- Iterator<ItemStack> i = metal.iterator();
- while (i.hasNext()) {
- ItemStack temp = i.next();
- if (temp.getItem() == item.getItem() && temp.getItemDamage() == item.getItemDamage()) return true;
- }
- return false;
- }
-
- /**
- * Checks to see if the specified item is a piece of jewelry
- *
- * @param item ItemStack containing the item
- * @return is the item a piece of jewelry
- */
- public static boolean isJewelry(ItemStack item) {
- Iterator<ItemStack> i = jewelry.iterator();
- while (i.hasNext()) {
- ItemStack temp = i.next();
- if (temp.getItem() == item.getItem() && temp.getItemDamage() == item.getItemDamage()) return true;
- }
- return false;
- }
-
- /**
- * Checks to see if the specified item is an ore
- *
- * @param item ItemStack containing the item
- * @return is the item an ore
- */
- public static boolean isOre(ItemStack item) {
- Iterator<ItemStack> i = ores.iterator();
- while (i.hasNext()) {
- ItemStack temp = i.next();
- if (temp.getItem().equals(item.getItem()) && temp.getItemDamage() == item.getItemDamage()) return true;
- }
- return false;
- }
-
- /**
- * Gets the ingot from the ore
- *
- * @param ore the ore
- * @return the ingot
- */
- public static ItemStack getIngotFromOre(ItemStack ore) {
- for (ItemStack ores : JewelrycraftUtil.oreToIngot.keySet())
- if (ores.getItem().equals(ore.getItem()) && ores.getItemDamage() == ore.getItemDamage()) return oreToIngot.get(ores);
- return null;
- }
-
- /**
- * This determines whether the player unlocked an achievement or not.
- *
- * @param player The player to unlock the achievement
- * @param achievement The achievement to be unlocked
- * @return True or False depending if the player did unlock the achievement or not
- */
- public static boolean AchievemtUnlocked(EntityPlayer player, Achievement achievement) {
- return ((EntityPlayerMP) player).func_147099_x().hasAchievementUnlocked(achievement);
- }
+public class JewelrycraftUtil
+{
+ public static ArrayList<ItemStack> objects = new ArrayList<ItemStack>();
+ public static ArrayList<ItemStack> gem = new ArrayList<ItemStack>();
+ public static ArrayList<ItemStack> jewelry = new ArrayList<ItemStack>();
+ public static ArrayList<ItemStack> metal = new ArrayList<ItemStack>();
+ public static ArrayList<ItemStack> ores = new ArrayList<ItemStack>();
+ public static HashMap<ItemStack, ItemStack> oreToIngot = new HashMap<ItemStack, ItemStack>();
+ public static HashMap<ItemStack, Integer> colors = new HashMap<ItemStack, Integer>();
+ public static ArrayList<String> jamcraftPlayers = new ArrayList<String>();
+ private static ArrayList<ItemStack> items = new ArrayList<ItemStack>();
+ public static ArrayList<WorldGenStructure> structures = new ArrayList<WorldGenStructure>();
+ public static Random rand = new Random();
+ public static EnumCreatureAttribute HEART;
+
+ /**
+ * Adds gems and jewelry to their appropriate list
+ */
+ public static void addStuff()
+ {
+ // Jewels
+ for(int i = 0; i < 16; i++)
+ gem.add(new ItemStack(BlockList.crystal, 1, i));
+ gem.add(new ItemStack(Blocks.redstone_block));
+ gem.add(new ItemStack(Blocks.lapis_block));
+ gem.add(new ItemStack(Blocks.obsidian));
+ gem.add(new ItemStack(Items.diamond));
+ gem.add(new ItemStack(Items.emerald));
+ gem.add(new ItemStack(Items.ender_pearl));
+ gem.add(new ItemStack(Items.nether_star));
+ // Jewelry
+ jewelry.add(new ItemStack(ItemList.ring));
+ jewelry.add(new ItemStack(ItemList.necklace));
+ jewelry.add(new ItemStack(ItemList.bracelet));
+ jewelry.add(new ItemStack(ItemList.earrings));
+ for(Object item: GameData.getItemRegistry()){
+ if (item != null) {
+ if (Loader.isModLoaded("Mantle") && ((Item)item).getUnlocalizedName().equals("Mantle:item.mantle.manual"))
+ continue;
+ try{
+ if (((Item)item).getHasSubtypes() && FMLCommonHandler.instance().getSide() == Side.CLIENT) {
+ ((Item)item).getSubItems((Item)item, null, items);
+ }else
+ objects.add(new ItemStack((Item)item));
+ if (!items.isEmpty())
+ objects.addAll(items);
+ items.removeAll(items);
+ }
+ catch(Exception e){
+ JewelrycraftMod.logger.info("Error, tried to add subtypes of item " + ((Item)item).getUnlocalizedName() + "\nItem is not added in the list.");
+ }
+ }
+ }
+ // Structures
+ try{
+ for(Field f: Generation.class.getDeclaredFields()){
+ Object obj = f.get(null);
+ if (obj instanceof WorldGenStructure)
+ structures.add((WorldGenStructure)obj);
+ }
+ }
+ catch(IllegalAccessException e){
+ throw new RuntimeException(e);
+ }
+ }
+
+ @SideOnly (Side.CLIENT)
+ public static void generateColors()
+ {
+ for(Object item: GameData.getItemRegistry()){
+ if (item != null) {
+ if (Loader.isModLoaded("Mantle") && ((Item)item).getUnlocalizedName().equals("Mantle:item.mantle.manual"))
+ continue;
+ try{
+ if (((Item)item).getHasSubtypes() && FMLCommonHandler.instance().getSide() == Side.CLIENT) {
+ ((Item)item).getSubItems((Item)item, null, items);
+ }else{
+ ItemStack it = new ItemStack((Item)item);
+ colors.put(it, color(it, 0));
+ }
+ if (!items.isEmpty())
+ for(ItemStack it: items)
+ colors.put(it, color(it, 0));
+ items.removeAll(items);
+ }
+ catch(Exception e){
+ JewelrycraftMod.logger.info("Error, tried to add the color of the item " + ((Item)item).getUnlocalizedName() + " but something went wrong.");
+ }
+ }
+ }
+ }
+
+ @SideOnly (Side.CLIENT)
+ public static int getColor(ItemStack item)
+ {
+ for(ItemStack stack: colors.keySet())
+ if (item != null && item.getItem() != null && stack.getItem() != null && item.getItem().equals(stack.getItem()) && item.getItemDamage() == stack.getItemDamage())
+ return colors.get(stack);
+ return 0xFFFFFF;
+ }
+
+ @SideOnly (Side.CLIENT)
+ public static int color(ItemStack stack, int pass) throws IOException
+ {
+ IResourceManager rm = Minecraft.getMinecraft().getResourceManager();
+ ResourceLocation ingot;
+ BufferedImage icon;
+ if (stack != null && Item.getIdFromItem(stack.getItem()) > 0 && stack.getItem().getColorFromItemStack(stack, pass) == 16777215) {
+ try{
+ ingot = getLocation(stack);
+ }
+ catch(Exception e){
+ ingot = new ResourceLocation("textures/items/apple.png");
+ }
+ icon = ImageIO.read(rm.getResource(ingot).getInputStream());
+ int height = icon.getHeight();
+ int width = icon.getWidth();
+ Map m = new HashMap();
+ for(int i = 0; i < width; i++)
+ for(int j = 0; j < height; j++){
+ int rgb = icon.getRGB(i, j);
+ int red = rgb >> 16 & 0xff;
+ int green = rgb >> 8 & 0xff;
+ int blue = rgb & 0xff;
+ int[] rgbArr = {red, green, blue};
+ int Cmax = Math.max(red, Math.max(green, blue));
+ int Cmin = Math.min(red, Math.min(green, blue));
+ if (!isGray(rgbArr))
+ m.put(rgb, (Cmax + Cmin) / 2);
+ }
+ return getMostCommonColour(m);
+ }else
+ return stack.getItem().getColorFromItemStack(stack, pass);
+ }
+
+ public static ResourceLocation getLocation(ItemStack item)
+ {
+ String domain = "";
+ String texture;
+ IIcon itemIcon = item.getItem().getIcon(item, 0);
+ if (!(Block.getBlockFromItem(item.getItem()) instanceof BlockAir) && !Block.getBlockFromItem(item.getItem()).getIcon(0, item.getItemDamage()).getIconName().equals("soul_sand"))
+ itemIcon = Block.getBlockFromItem(item.getItem()).getIcon(0, item.getItemDamage());
+ String iconName = itemIcon.getIconName();
+ if (iconName.substring(0, iconName.indexOf(":") + 1) != "")
+ domain = iconName.substring(0, iconName.indexOf(":") + 1).replace(":", " ").trim();
+ else domain = "minecraft";
+ texture = iconName.substring(iconName.lastIndexOf(":") + 1) + ".png";
+ ResourceLocation textureLocation = null;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ if (texturemanager.getResourceLocation(item.getItemSpriteNumber()).toString().contains("items"))
+ textureLocation = new ResourceLocation(domain.toLowerCase(), "textures/items/" + texture);
+ else textureLocation = new ResourceLocation(domain.toLowerCase(), "textures/blocks/" + texture);
+ return textureLocation;
+ }
+
+ @SideOnly (Side.CLIENT)
+ public static int getMostCommonColour(Map map)
+ {
+ List list = new LinkedList(map.entrySet());
+ Collections.sort(list, new Comparator(){
+ public int compare(Object o1, Object o2)
+ {
+ return ((Comparable)((Map.Entry)o1).getValue()).compareTo(((Map.Entry)o2).getValue());
+ }
+ });
+ Map.Entry me = (Map.Entry)list.get(list.size() - 1);
+ for(int i = 0; i < list.size(); i++){
+ float alpha = Float.valueOf(list.get(i).toString().split("=")[1]);
+ if (alpha < 180)
+ me = (Map.Entry)list.get(i);
+ }
+ int rgb = (Integer)me.getKey();
+ return rgb;
+ }
+
+ @SideOnly (Side.CLIENT)
+ public static boolean isGray(int[] rgbArr)
+ {
+ int rgbSum = rgbArr[0] + rgbArr[1] + rgbArr[2];
+ if (rgbSum > 0 && rgbSum < 256 * 3)
+ return false;
+ return true;
+ }
+
+ public static WeightedRandomCurse[] getCurses(World world, EntityPlayer player, Random random)
+ {
+ WeightedRandomCurse[] curses = new WeightedRandomCurse[Curse.availableCurses.size()];
+ for(int c = 0; c < Curse.availableCurses.size(); c++)
+ curses[c] = new WeightedRandomCurse(Curse.availableCurses.get(c), Curse.availableCurses.get(c).weight(world, player, random));
+ return curses;
+ }
+
+ /**
+ * Adds curse points to a player
+ *
+ * @param player the player to add the points to
+ * @param points amount of curse points
+ */
+ public static void addCursePoints(EntityPlayer player, int points)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ playerInfo.setInteger("cursePoints", playerInfo.hasKey("cursePoints") ? (playerInfo.getInteger("cursePoints") + points) : points);
+ playerInfo.setBoolean("playerCursePointsChanged", true);
+ }
+
+ public static int getCursePoints(EntityPlayer player)
+ {
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ return playerInfo.getInteger("cursePoints");
+ }
+
+ /**
+ * Adds the UUID's of the jamcrafters in a list (+ special people)
+ */
+ public static void jamcrafters()
+ {
+ jamcraftPlayers.add("d3214311-7550-4c9c-a372-d9292c10b8a6"); // allout58
+ jamcraftPlayers.add("a690119f-c4a2-4bd6-a99d-d63679abb328"); // ChewBaker
+ jamcraftPlayers.add("de7c9903-51fa-4a24-88cd-48faf122ca36"); // domi1819
+ jamcraftPlayers.add("70aeb298-3a7b-46da-a393-ab10df9359f2"); // founderio
+ jamcraftPlayers.add("6fbe603c-14bf-4085-afdd-abe592c26e7c"); // GerbShert
+ jamcraftPlayers.add("b0d21306-36bf-4d85-84df-a956d183c45a"); // isomgirls6
+ jamcraftPlayers.add("1733a31f-01f9-4f4d-82aa-7de30ca810d3"); // TH3N00B
+ jamcraftPlayers.add("4833eacf-1d94-49a7-9f89-4cf88d69dcf9"); // Joban
+ jamcraftPlayers.add("718cf671-9084-4e78-b91f-033e80aa11bf"); // KJ4IPS
+ jamcraftPlayers.add("bea5e0c4-85c4-454d-a081-e1eaae6895ee"); // Mitchellbrine
+ jamcraftPlayers.add("7ecf3e2f-fedf-4f7e-8d24-6731d078db4f"); // MrComputerGhost
+ jamcraftPlayers.add("1b11ad3a-f0ca-4695-a019-2d7e5d83a5fd"); // Resinresin
+ jamcraftPlayers.add("3ec9ac58-2f1b-4d3f-b4eb-3b875da877ae"); // sci4me
+ jamcraftPlayers.add("cf9fa23f-205e-4eed-aba3-9f2848cd6a4d"); // OnyxDarkKnight
+ jamcraftPlayers.add("91880caa-b032-48e3-bfe8-c2c7ed31824e"); // theminecoder
+ jamcraftPlayers.add("8d0b3804-f71c-4219-897b-8c315448ea7c"); // YSPilot
+ jamcraftPlayers.add("bbb87dbe-690f-4205-bdc5-72ffb8ebc29d"); // direwolf20
+ }
+
+ /**
+ * Adds a random amount of modifiers to a list
+ *
+ * @param randValue maximum number of modifiers
+ * @return a list containing the random modifiers
+ */
+ public static ArrayList<ItemStack> addRandomModifiers(int randValue)
+ {
+ ArrayList<ItemStack> list = new ArrayList<ItemStack>();
+ for(int i = 0; i < 2 + randValue; i++){
+ ItemStack item = objects.get(new Random().nextInt(objects.size()));
+ item.stackSize = 1 + new Random().nextInt(2);
+ list.add(item);
+ }
+ return list;
+ }
+
+ /**
+ * Links ores with their appropriate ingot
+ */
+ public static void addMetals()
+ {
+ int index = 0;
+ while (index < OreDictionary.getOreNames().length){
+ Iterator<ItemStack> i = OreDictionary.getOres(OreDictionary.getOreNames()[index]).iterator();
+ while (i.hasNext()){
+ ItemStack nextStack = i.next();
+ String stackName = nextStack.getItem().getUnlocalizedName().toLowerCase();
+ if ((stackName.contains("ingot") || stackName.contains("alloy")) && !metal.contains(nextStack))
+ metal.add(nextStack);
+ if (nextStack.getItem().getUnlocalizedName().toLowerCase().contains("ore") && !ores.contains(nextStack)) {
+ ItemStack ingot = FurnaceRecipes.smelting().getSmeltingResult(nextStack);
+ if (ingot != null && (ingot.getItem().getUnlocalizedName().toLowerCase().contains("ingot") || ingot.getItem().getUnlocalizedName().toLowerCase().contains("alloy"))) {
+ ores.add(nextStack);
+ oreToIngot.put(nextStack, ingot);
+ JewelrycraftMod.logger.info(nextStack + " Adding " + nextStack.getDisplayName() + " with damage value " + nextStack.getItemDamage() + " and with " + nextStack.stackSize + " in stack");
+ JewelrycraftMod.logger.info(ingot + " Adding ingot " + ingot.getDisplayName() + " with damage value " + ingot.getItemDamage() + " and with " + ingot.stackSize + " in stack");
+ }
+ }
+ }
+ index++;
+ }
+ }
+
+ /**
+ * Checks to see if the specified item is a gem
+ *
+ * @param item ItemStack containing the item
+ * @return is the item a gem
+ */
+ public static boolean isGem(ItemStack item)
+ {
+ Iterator<ItemStack> i = gem.iterator();
+ while (i.hasNext()){
+ ItemStack temp = i.next();
+ if (temp.getItem() == item.getItem() && temp.getItemDamage() == item.getItemDamage())
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Checks to see if the specified item is a metal
+ *
+ * @param item ItemStack containing the item
+ * @return is the item a metal
+ */
+ public static boolean isMetal(ItemStack item)
+ {
+ Iterator<ItemStack> i = metal.iterator();
+ while (i.hasNext()){
+ ItemStack temp = i.next();
+ if (temp.getItem() == item.getItem() && temp.getItemDamage() == item.getItemDamage())
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Checks to see if the specified item is a piece of jewelry
+ *
+ * @param item ItemStack containing the item
+ * @return is the item a piece of jewelry
+ */
+ public static boolean isJewelry(ItemStack item)
+ {
+ Iterator<ItemStack> i = jewelry.iterator();
+ while (i.hasNext()){
+ ItemStack temp = i.next();
+ if (temp.getItem() == item.getItem() && temp.getItemDamage() == item.getItemDamage())
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Checks to see if the specified item is an ore
+ *
+ * @param item ItemStack containing the item
+ * @return is the item an ore
+ */
+ public static boolean isOre(ItemStack item)
+ {
+ Iterator<ItemStack> i = ores.iterator();
+ while (i.hasNext()){
+ ItemStack temp = i.next();
+ if (temp.getItem().equals(item.getItem()) && temp.getItemDamage() == item.getItemDamage())
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Gets the ingot from the ore
+ *
+ * @param ore the ore
+ * @return the ingot
+ */
+ public static ItemStack getIngotFromOre(ItemStack ore)
+ {
+ for(ItemStack ores: JewelrycraftUtil.oreToIngot.keySet())
+ if (ores.getItem().equals(ore.getItem()) && ores.getItemDamage() == ore.getItemDamage())
+ return oreToIngot.get(ores);
+ return null;
+ }
+
+ /**
+ * This determines whether the player unlocked an achievement or not.
+ *
+ * @param player The player to unlock the achievement
+ * @param achievement The achievement to be unlocked
+ * @return True or False depending if the player did unlock the achievement or not
+ */
+ public static boolean AchievemtUnlocked(EntityPlayer player, Achievement achievement)
+ {
+ return ((EntityPlayerMP)player).func_147099_x().hasAchievementUnlocked(achievement);
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/ChestGeneration.java b/src/main/java/darkknight/jewelrycraft/worldGen/ChestGeneration.java index f8eb9d5..d697472 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/ChestGeneration.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/ChestGeneration.java @@ -1,15 +1,15 @@ package darkknight.jewelrycraft.worldGen;
import java.util.Random;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.WeightedRandomChestContent;
-import net.minecraftforge.common.ChestGenHooks;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import darkknight.jewelrycraft.block.BlockList;
import darkknight.jewelrycraft.item.ItemList;
import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.WeightedRandomChestContent;
+import net.minecraftforge.common.ChestGenHooks;
/**
* @author Sorin
@@ -24,7 +24,7 @@ public class ChestGeneration addItemToDifferentPlaces(new WeightedRandomChestContent(new ItemStack(ItemList.thiefGloves), 1, 1, 2), true, true, false, false, true);
addItemToDifferentPlaces(new WeightedRandomChestContent(new ItemStack(ItemList.guide), 1, 1, 7), true, true, true, true, true, false, true, true);
addVillageBlacksmithLoot(new WeightedRandomChestContent(new ItemStack(ItemList.shadowIngot), 1, 4, 5));
- for(int i = 0; i < 16; i++) addItemToDifferentPlaces(new WeightedRandomChestContent(new ItemStack(BlockList.crystal, 1, i), 1, 4, 4), true, true, true, true);
+ for(int i = 0; i < 16 && i%3==0; i++) addItemToDifferentPlaces(new WeightedRandomChestContent(new ItemStack(BlockList.crystal, 1, i), 1, 3, 3), true, true, true, true);
ItemStack special = new ItemStack(jewelry[random.nextInt(4)]);
int randValue = random.nextInt(4);
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java b/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java index 11d053e..93310df 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/Generation.java @@ -1,5 +1,6 @@ package darkknight.jewelrycraft.worldGen;
+import java.lang.reflect.Field;
import java.util.Random;
import cpw.mods.fml.common.IWorldGenerator;
import darkknight.jewelrycraft.block.BlockList;
@@ -43,12 +44,17 @@ public class Generation implements IWorldGenerator { if (!world.getWorldInfo().getTerrainType().equals(WorldType.FLAT)) {
if (ConfigHandler.ORE_GEN) generateShadowOre(world, random, i, j);
if (ConfigHandler.CRYSTAL_GEN) generateCrystals(world, random, i, j);
- if (ConfigHandler.STRUCTURES[0]) generateStructureOverground(STRUCTURE_1, world, random, i, j, 6, false, true);
- if (ConfigHandler.STRUCTURES[1]) generateStructureUnderground(STRUCTURE_2, world, random, i, j, 5, false, true);
- if (ConfigHandler.STRUCTURES[2]) generateStructureUnderground(STRUCTURE_3, world, random, i, j, 7, false, true);
- if (ConfigHandler.STRUCTURES[3]) generateStructureOverground(STRUCTURE_4, world, random, i, j, 10, false, true);
- if (ConfigHandler.STRUCTURES[4]) generateStructureUnderground(STRUCTURE_5, world, random, i, j, 6, false, true);
- if (ConfigHandler.STRUCTURES[5]) generateStructureOverground(STRUCTURE_6, world, random, i, j, 10, false, true);
+ try{
+ for(Field f: this.getClass().getDeclaredFields()){
+ Object obj = f.get(null);
+ if (obj instanceof WorldGenStructure && ConfigHandler.STRUCTURES[((WorldGenStructure)obj).structureNo() - 1])
+ if(((WorldGenStructure)obj).isUnderground()) generateStructureUnderground((WorldGenStructure)obj, world, random, i, j, ConfigHandler.STRUCTURES_SPAWN_CHANCE[((WorldGenStructure)obj).structureNo()-1], false, true);
+ else generateStructureOverground((WorldGenStructure)obj, world, random, i, j, ConfigHandler.STRUCTURES_SPAWN_CHANCE[((WorldGenStructure)obj).structureNo()-1], false, true);
+ }
+ }
+ catch(IllegalAccessException e){
+ throw new RuntimeException(e);
+ }
}
}
}
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure.java b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure.java index c2c4046..f233d3e 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure.java @@ -22,4 +22,14 @@ public class WorldGenStructure extends WorldGenerator public boolean generate(World world, Random rand, int x, int y, int z) {
return false;
}
+
+ public boolean isUnderground()
+ {
+ return false;
+ }
+
+ public int structureNo()
+ {
+ return -1;
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure1.java b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure1.java index c982e00..898ece2 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure1.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure1.java @@ -4,6 +4,10 @@ package darkknight.jewelrycraft.worldGen;
import java.util.Random;
+import darkknight.jewelrycraft.block.BlockList;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.random.WeightedRandomItem;
+import darkknight.jewelrycraft.tileentity.TileEntityHandPedestal;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
@@ -11,11 +15,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandom;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
-import net.minecraft.world.gen.feature.WorldGenerator;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.random.WeightedRandomItem;
-import darkknight.jewelrycraft.tileentity.TileEntityHandPedestal;
/**
* @author Sorin
@@ -57,4 +56,9 @@ public class WorldGenStructure1 extends WorldGenStructure {
return generate(world, BiomeGenBase.plains, rand, x, y, z);
}
+
+ public int structureNo()
+ {
+ return 1;
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure2.java b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure2.java index c58c0b8..4e4461c 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure2.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure2.java @@ -19,7 +19,7 @@ public class WorldGenStructure2 extends WorldGenStructure { public boolean generate(World world, BiomeGenBase biome, Random rand, int x, int y, int z) {
Block block = Blocks.stonebrick;
Block stair = Blocks.stone_brick_stairs;
- int metadata = 0, slabMeta = 5;
+ int metadata = 0;
if (biome == BiomeGenBase.desert || biome == BiomeGenBase.desertHills) {
block = Blocks.sandstone;
stair = Blocks.sandstone_stairs;
@@ -52,4 +52,14 @@ public class WorldGenStructure2 extends WorldGenStructure { public boolean generate(World world, Random rand, int x, int y, int z) {
return generate(world, BiomeGenBase.plains, rand, x, y, z);
}
+
+ public boolean isUnderground()
+ {
+ return true;
+ }
+
+ public int structureNo()
+ {
+ return 2;
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure3.java b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure3.java index 1f6f15c..f0e8cfa 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure3.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure3.java @@ -9,7 +9,6 @@ import net.minecraft.init.Blocks; import net.minecraft.tileentity.TileEntityMobSpawner;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
-import net.minecraft.world.gen.feature.WorldGenerator;
import net.minecraftforge.common.DungeonHooks;
/**
@@ -65,4 +64,14 @@ public class WorldGenStructure3 extends WorldGenStructure {
return generate(world, BiomeGenBase.plains, rand, x, y, z);
}
+
+ public boolean isUnderground()
+ {
+ return true;
+ }
+
+ public int structureNo()
+ {
+ return 3;
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure4.java b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure4.java index 6af8dc2..b0be600 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure4.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure4.java @@ -4,12 +4,11 @@ package darkknight.jewelrycraft.worldGen;
import java.util.Random;
+import darkknight.jewelrycraft.block.BlockList;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
-import net.minecraft.world.gen.feature.WorldGenerator;
-import darkknight.jewelrycraft.block.BlockList;
/**
* @author Sorin
@@ -18,7 +17,6 @@ public class WorldGenStructure4 extends WorldGenStructure {
public boolean generate(World world, BiomeGenBase biome, Random rand, int x, int y, int z)
{
- Block slab = Blocks.stone_slab;
Block stair = Blocks.stone_brick_stairs;
Block block = Blocks.stonebrick;
int metadata = 0, slabMeta = 5;
@@ -60,4 +58,9 @@ public class WorldGenStructure4 extends WorldGenStructure {
return generate(world, BiomeGenBase.plains, rand, x, y, z);
}
+
+ public int structureNo()
+ {
+ return 4;
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure5.java b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure5.java index 7ede3ef..e67fdb1 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure5.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure5.java @@ -78,4 +78,14 @@ public class WorldGenStructure5 extends WorldGenStructure { public boolean generate(World world, Random rand, int x, int y, int z) {
return generate(world, BiomeGenBase.plains, rand, x, y, z);
}
+
+ public boolean isUnderground()
+ {
+ return true;
+ }
+
+ public int structureNo()
+ {
+ return 5;
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure6.java b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure6.java index 9df172d..d68402a 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure6.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/WorldGenStructure6.java @@ -91,4 +91,9 @@ public class WorldGenStructure6 extends WorldGenStructure { public boolean generate(World world, Random rand, int x, int y, int z) {
return generate(world, BiomeGenBase.plains, rand, x, y, z);
}
+
+ public int structureNo()
+ {
+ return 6;
+ }
}
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java b/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java index d1fbe87..cefd063 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java @@ -2,6 +2,16 @@ package darkknight.jewelrycraft.worldGen.village; import java.util.List;
import java.util.Random;
+import darkknight.jewelrycraft.block.BlockList;
+import darkknight.jewelrycraft.config.ConfigHandler;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.item.ItemMolds;
+import darkknight.jewelrycraft.tileentity.TileEntityDisplayer;
+import darkknight.jewelrycraft.tileentity.TileEntityMolder;
+import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
@@ -15,16 +25,6 @@ import net.minecraft.world.gen.structure.StructureBoundingBox; import net.minecraft.world.gen.structure.StructureComponent;
import net.minecraft.world.gen.structure.StructureVillagePieces;
import net.minecraft.world.gen.structure.StructureVillagePieces.Start;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.config.ConfigHandler;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.item.ItemMolds;
-import darkknight.jewelrycraft.tileentity.TileEntityDisplayer;
-import darkknight.jewelrycraft.tileentity.TileEntityMolder;
-import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-import darkknight.jewelrycraft.util.Variables;
public class ComponentJewelry extends StructureVillagePieces.House1 {
private int averageGroundLevel = -1;
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java b/src/main/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java index 3a31a8f..f9b5930 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java @@ -1,6 +1,12 @@ package darkknight.jewelrycraft.worldGen.village;
import java.util.Random;
+import cpw.mods.fml.common.registry.VillagerRegistry.IVillageTradeHandler;
+import darkknight.jewelrycraft.block.BlockList;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.item.ItemMolds;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
@@ -8,12 +14,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack;
import net.minecraft.village.MerchantRecipe;
import net.minecraft.village.MerchantRecipeList;
-import cpw.mods.fml.common.registry.VillagerRegistry.IVillageTradeHandler;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.item.ItemMolds;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
public class JCTrades implements IVillageTradeHandler
{
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageHandler.java b/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageHandler.java index 5ef855e..68b892e 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageHandler.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageHandler.java @@ -4,11 +4,11 @@ package darkknight.jewelrycraft.worldGen.village;
import java.io.IOException;
-import net.minecraft.world.gen.structure.MapGenStructureIO;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.VillagerRegistry;
import darkknight.jewelrycraft.JewelrycraftMod;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.world.gen.structure.MapGenStructureIO;
public class VillageHandler
{
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageJewelryHandler.java b/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageJewelryHandler.java index d860db7..dca3b6e 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageJewelryHandler.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/village/VillageJewelryHandler.java @@ -1,50 +1,50 @@ -package darkknight.jewelrycraft.worldGen.village; - -import java.util.List; -import java.util.Random; -import net.minecraft.world.gen.structure.StructureVillagePieces.PieceWeight; -import net.minecraft.world.gen.structure.StructureVillagePieces.Start; -import cpw.mods.fml.common.registry.VillagerRegistry.IVillageCreationHandler; -import darkknight.jewelrycraft.config.ConfigHandler; - -public class VillageJewelryHandler implements IVillageCreationHandler -{ - - /** - * @param random - * @param i - * @return - */ - @Override - public PieceWeight getVillagePieceWeight(Random random, int i) - { - return new PieceWeight(ComponentJewelry.class, ConfigHandler.JEWELER_WEIGHT, ConfigHandler.MAX_VILLAGE_JEWELERS); - } - - /** - * @return - */ - @Override - public Class<?> getComponentClass() - { - return ComponentJewelry.class; - } - - /** - * @param villagePiece - * @param startPiece - * @param pieces - * @param random - * @param p1 - * @param p2 - * @param p3 - * @param p4 - * @param p5 - * @return - */ - @Override - public Object buildComponent(PieceWeight villagePiece, Start startPiece, @SuppressWarnings ("rawtypes") List pieces, Random random, int p1, int p2, int p3, int p4, int p5) - { - return ComponentJewelry.buildComponent(startPiece, pieces, random, p1, p2, p3, p4, p5); - } +package darkknight.jewelrycraft.worldGen.village;
+
+import java.util.List;
+import java.util.Random;
+import cpw.mods.fml.common.registry.VillagerRegistry.IVillageCreationHandler;
+import darkknight.jewelrycraft.config.ConfigHandler;
+import net.minecraft.world.gen.structure.StructureVillagePieces.PieceWeight;
+import net.minecraft.world.gen.structure.StructureVillagePieces.Start;
+
+public class VillageJewelryHandler implements IVillageCreationHandler
+{
+
+ /**
+ * @param random
+ * @param i
+ * @return
+ */
+ @Override
+ public PieceWeight getVillagePieceWeight(Random random, int i)
+ {
+ return new PieceWeight(ComponentJewelry.class, ConfigHandler.JEWELER_WEIGHT, ConfigHandler.MAX_VILLAGE_JEWELERS);
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public Class<?> getComponentClass()
+ {
+ return ComponentJewelry.class;
+ }
+
+ /**
+ * @param villagePiece
+ * @param startPiece
+ * @param pieces
+ * @param random
+ * @param p1
+ * @param p2
+ * @param p3
+ * @param p4
+ * @param p5
+ * @return
+ */
+ @Override
+ public Object buildComponent(PieceWeight villagePiece, Start startPiece, @SuppressWarnings ("rawtypes") List pieces, Random random, int p1, int p2, int p3, int p4, int p5)
+ {
+ return ComponentJewelry.buildComponent(startPiece, pieces, random, p1, p2, p3, p4, p5);
+ }
}
\ No newline at end of file diff --git a/src/main/resources/assets/jewelrycraft2/Changelog.txt b/src/main/resources/assets/jewelrycraft2/Changelog.txt deleted file mode 100644 index 82c1a2f..0000000 --- a/src/main/resources/assets/jewelrycraft2/Changelog.txt +++ /dev/null @@ -1,65 +0,0 @@ -TODO
-- Make a way so that the ingot affects the jewels somehow
-- Add a ring of Resistance
-- Think of a way to balance the rings
-- (MAYBE) Shadow Ring -> Shadow ingot ring, nether star, obsidian - makes you appear as hostile so mobs actually leave you alone
-- Elemental jewellery -> punch a creature with it in your hand to do different things, lightning, fling into the air, set on fire,
- encase in ice/fences/iron bars, turn into a sheep (like that spell from Warcraft 2, if anyone remembers that), blindness, extreme
- knockback, charm (turns on your enemies), tame - tames any tamable mob
-!- Add Necklaces, bracelets and earrings; Necklaces could have an AOE effect;
-- Shadow armor and tools
-- Add an item that can store rings (maybe a keychain?)
-- Monks Ring -> ups your unarmed damage / block breaking speed / ability to break harder blocks with bare hands, made with a block of iron and a jewel.
-- Ring of Strength -> self explanatory
-- (MAYBE) Add a Shadow Merchant (a villager that trades only shadow related stuff and appears randomly at night)
-- Add a blast protection jewelry
-- Add a jewelery of the Arrow Catcher - each tier of protection gives you a certain % chance of catching arrows instead of being hit by them.
-- (MAYBE) Render the rings on the character
-- In the case of passive benefits, might it be possible to make it so, with fire resistance for example, it refreshes the buff as long as you're not in fire,
- but as soon as you are it gains a limited duration (better jewels for longer durations) that, when it expires there goes the buff and you can burn to death.
- Then you'd need to avoid being on fire for a cooldown period of a few seconds before it could refresh back to the passive state (this part reduced by better jewels)?
- Invisibility could turn off for a period when you punch a mob, that kind of thing.
-- Glowstone Block (Modifier): Places a torch-like blob of light in exchange for 1/2 a heart, higher-tier jewels increase the light emitted.
-- Ghast Tear (Modifier): Allows for a limited-duration flight buff, say starting at 3 seconds all the way to 60 when combined with a nether star. When the timer expires
- you have to land again to reset the usage.
-- Any Color Dye (Modifier): Right-click a sheep to dye it the chosen color. Posted Image
-- Beacon (Modifier): Portable beacon, with the tier based on the jewel added. Shift + Right-click to open the beacon GUI, which would work just like the vanilla one.
-- Water Bucket (Modifier): Right-click the air to start a storm.
-- Lava Bucket (Modifier): Passively adds fire aspect to your weapons and tools.
-- Sand (Modifier): Shift + right-click to advance the day 1 hour. Only usable once per day by default, better jewels increase this.
-- Glass (Jewel): Right-click while holding the ring to zoom in!
-- Lapis Piece (Modifier): Passively adds a slowing effect to your weapons. Better jewels improve this.
-- Lapis Block (Jewel): A jewel that looks pretty but doesn't do much else.
-- Bone (Jewel): Right-click to trade 1/2 a hunger for a bonemeal effect. Otherwise a white jewel with no benefit.
-- Carrot (Modifier): Right-click to trade 1/2 a heart for 1/2 a hunger. Better jewels increase these values. 4 hearts for a steaks-worth of food? XD
-- Diamond Block (Jewel): When on a gold ring it turns it into "Ostentatious Wedding Ring". Otherwise the same (or a little better than) diamond.
-- Golden Apple (Jewel): Ring becomes named "Discord". Right-clicking gives an entirely random buff, a debuff, launches you high into the air, teleports you to a
- random location, sets you on fire, spawns a pig or makes lightning strike. Pretty much anything can happen, and the more biased to negative results the better. :P
-- Enchanted Golden Apple (Jewel): As above, but more biased towards positive effects. Hail Discordia!
-- Name Tag (Jewel): Right-clicking a mob gives it a random name (bonus points if it's from a user-editable list!)
-- Add randomly generated "named" loot to dungeon chests! Ring of Displacement (lets you tele randomly like an enderman), Necklace of Second Chances
- (heals you for 50 when you drop to 3 or fewer hearts with a cooldown of ~1 minute), Trinket of the Gale (arrow/fireball immunity!), Goggles of the Merfolk
- (water breathing!). Endless possibilities! :D
-- Also! Trinkets and Belts!
-
-Trinkets would probably require a new mold, and should bring out the more passive side of items (like, say, instead of opening an enderchest, it automatically
-sucks items into your ender chest, or instead of teleporting you it prevents endermen from teleporting away from you [which could be done pretty easily with a
-fake screen overlay that's treated like the pumpkin one]).
-
-Belts... I'd personally see belts as a ring crafted with a piece of Leather as the "jewel" and could provide conditional buffs proportionate to some factor, like
-say increasing strength buff the lower your HP is. The idea being that the belt should assist you in a useful way, but only when its needed. I'd probably limit it
-to HP and Hunger as determining factors. Things like resistance, regeneration and strength could be applied at low HP, while things like jump boost, haste and speed
-could be applied at high hunger meter values. I wouldn't tie anything to having high/max HP or no hunger since those would be things that players normally try to
-avoid or always have.
-
-And as for goggles... A new mold for the base goggle template, and have it only accept "jewel"-typed items (as "lenses"). If you can't think of where to put a neat
-effect it should probably end up on goggles. Off the top of my head I can think of a few neat uses: Ore Radar (2x diamonds), Clear Vision (2x glass), Mob Spawnable
-Area Highlighting (2x ender pearl), Compass and Clock overlays (doy), Coordinate HUD (map and glass), Speedometer (glass and enderpearl), Altimiter (glass and emerald),
-Thermometer (diamond and glass)... Required Pickaxe Level HUD (no idea). XD
-
-Oooh! And last but not least: Cursed items! I'd probably start with an upgraded jewelry table requiring a regular one, a brewing stand, a piece of glass and a stick.
-You could initially use this upgraded stand to add additional effects, or merge two items into one. Should operate kind of like a furnace, but only accepts blaze powder
-and rods as fuel (about 1 rod or 2 powder = 1 process, the idea being using the blaze stuff like welding materials). But the other use would be cursing jewelry! Why?
-Because nothing says "I hate you so much." like a non-dequipable piece of jewelry that gives you blindness and slowness! Slimeballs could add a cursed sticky effect
-that prevents you dropping it without dying. Fermented spider eye, like with brewing potions, could corrupt the effects on the item. Flint and steel could randomly set
-you on fire. Eye of Ender could randomly tell the world your coordinates.
\ No newline at end of file diff --git a/src/main/resources/assets/jewelrycraft2/lang/en_US.lang b/src/main/resources/assets/jewelrycraft2/lang/en_US.lang index e55463e..39aefe8 100644 --- a/src/main/resources/assets/jewelrycraft2/lang/en_US.lang +++ b/src/main/resources/assets/jewelrycraft2/lang/en_US.lang @@ -104,8 +104,8 @@ chatmessage.jewelrycraft2.steal.fail=sensed a strange presence around him, makin chatmessage.jewelrycraft2.steal.caught1=As he was passing by, a random villager caught you trying to steal from
chatmessage.jewelrycraft2.steal.caught2=A villager nearby saw you trying to steal from
-chatmessage.jewelrycraft2.endereye.1=You sense some
-chatmessage.jewelrycraft2.endereye.2=around you.
+chatmessage.jewelrycraft2.effect.endereye.1=You sense some
+chatmessage.jewelrycraft2.effect.endereye.2=around you.
chatmessage.jewelrycraft2.feather=The necklace protected you from taking damage!
chatmessage.jewelrycraft2.heartKilled.Red=GG! You just killed something that was beneficial to you! MURDERER! Red hearts heal you if you collide with them >:c
@@ -160,8 +160,8 @@ jeweler.jewelrycraft2.ingotchest=Ingot Chest jeweler.jewelrycraft2.orechest=Ores Chest
guide.jewelrycraft2.tab.introduction=Introduction
-guide.jewelrycraft2.tab.introduction.1=Welcome to Jewelrycraft 2! This mod is about making jewelry that you can modify to your own will. To find out how to create a jewelry, please consult the book and look at the Smelter block. To add modifiers to it you need to perform a ritual. To see how to do that, look at the Cursed Eye block in this guide. Please be aware that even if you can add anything as a modifier and can have multiple modifiers on one jewelry, this mod does not have that many modifiers implemented and
-guide.jewelrycraft2.tab.introduction.2=currently don't have any different effects depending on the gem used. To see what modifiers are currently implemented, just look in the Modifiers tab located in this guide (it is the one with the blaze powder as an icon). This mod was made by OnyxDarkKnight and the help of domi1819, pau101, Damien Hazard, boni and MineMarteen.
+guide.jewelrycraft2.tab.introduction.1=Welcome to Jewelrycraft 2! This mod is about making jewelry that you can modify to your own will. To find out how to create jewelry, please consult this book and look at the Smelter under the block tab. To add modifiers to it you need to perform a ritual. To see how to do that, look at the Cursed Eye under the block tab in this guide. Please be aware that even if you can add anything as a modifier and can have multiple modifiers on one piece of jewelry, this mod does not have that many
+guide.jewelrycraft2.tab.introduction.2=modifiers implemented and currently don't have any different effects depending on the gem used. To see what modifiers are currently implemented, just look in the Modifiers tab located in this guide (it is the one with the blaze powder as an icon). This mod was made by OnyxDarkKnight and the help of domi1819, pau101, Damien Hazard, boni and MineMarteen.
guide.jewelrycraft2.tab.blocks=Blocks
guide.jewelrycraft2.tab.misc=Gems, Ores and Ingots
diff --git a/src/main/resources/assets/jewelrycraft2/textures/blocks/displayer.png b/src/main/resources/assets/jewelrycraft2/textures/blocks/displayer.png Binary files differdeleted file mode 100644 index 155fa53..0000000 --- a/src/main/resources/assets/jewelrycraft2/textures/blocks/displayer.png +++ /dev/null diff --git a/src/main/resources/assets/jewelrycraft2/textures/blocks/jewelrsCraftingTable.png b/src/main/resources/assets/jewelrycraft2/textures/blocks/jewelrsCraftingTable.png Binary files differdeleted file mode 100644 index e826bbe..0000000 --- a/src/main/resources/assets/jewelrycraft2/textures/blocks/jewelrsCraftingTable.png +++ /dev/null diff --git a/src/main/resources/assets/jewelrycraft2/textures/blocks/smelter.png b/src/main/resources/assets/jewelrycraft2/textures/blocks/smelter.png Binary files differdeleted file mode 100644 index 4da0c0a..0000000 --- a/src/main/resources/assets/jewelrycraft2/textures/blocks/smelter.png +++ /dev/null diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index bbfd90b..61d26c9 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -1,18 +1,18 @@ -{ - "modListVersion": 2, - "modList": [{ - "modid": "jewelrycraft2", - "name": "Jewelrycraft 2", - "description": "Jewelrycraft 2 is a mod about creating jewellery and imbuing them with mystical powers. However, they have both positives and negatives. There are also curses, some good, some bad. Maybe acquiring some wouldn't be that bad.", - "version": "1.0.9", - "mcversion": "1.7.10", - "url": "http://www.minecraftforum.net/forums/topic/2414865", - "updateUrl": "", - "authorList": [ "OnyxDarkKnight" ], - "credits": "domi1819, MrCompost, pau101, bspkrs, DamienHazard", - "logoFile": "/logo.png", - "requiredMods": [ "Forge" ], - "dependencies": [ "EE3" ], - "useDependencyInformation": true - }] +{
+ "modListVersion": 2,
+ "modList": [{
+ "modid": "jewelrycraft2",
+ "name": "Jewelrycraft 2",
+ "description": "Jewelrycraft 2 is a mod about creating jewellery and imbuing them with mystical powers. However, they have both positives and negatives. There are also curses, some good, some bad. Maybe acquiring some wouldn't be that bad.",
+ "version": "1.1.4",
+ "mcversion": "1.7.10",
+ "url": "http://www.minecraftforum.net/forums/topic/2414865",
+ "updateUrl": "",
+ "authorList": [ "OnyxDarkKnight" ],
+ "credits": "domi1819, pau101, DamienHazard, Mithion",
+ "logoFile": "/logo.png",
+ "requiredMods": [ "Forge" ],
+ "dependencies": [ "EE3" ],
+ "useDependencyInformation": true
+ }]
}
\ No newline at end of file |
