Jump to content

[1.7.10/1.8/1.9] Need Help Updating Mod between Versions.


NovaViper

Recommended Posts

Since 1.9, they now use SoundEvents instead of strings for sounds. How do I reconfigure my strings to Sound Events and what does that mean for my sound.json?

 

Sound Java File

package novaviper.tetracraft.common.lib;

/**
* Created by NovaViper on 2/6/2016.
* Class Purpose: Defines and lists all sounds for the mod
*/
public class Sound {
private static final String SOUND_PREFIX = ModReference.modid + ":";

// Terrakon Sounds\\
public static final String TerrakonBark = SOUND_PREFIX + "mob.terrakon.bark";
public static final String TerrakonGrowl = SOUND_PREFIX + "mob.terrakon.growl";
public static final String TerrakonHurt = SOUND_PREFIX + "mob.terrakon.hurt";
public static final String TerrakonPanting = SOUND_PREFIX + "mob.terrakon.pant";
public static final String TerrakonWhine = SOUND_PREFIX + "mob.terrakon.whine";
public static final String TerrakonDeath = SOUND_PREFIX + "mob.terrakon.death";

}

 

Sound Json

{
  "mob.terrakon.bark": {"category": "neutral", "sounds": ["mob/terrakon/bark1", "mob/terrakon/bark2", "mob/terrakon/bark3"]},
  "mob.terrakon.growl": {"category": "neutral", "sounds": ["mob/terrakon/growl1", "mob/terrakon/growl2", "mob/terrakon/growl3"]},
  "mob.terrakon.hurt": {"category": "neutral", "sounds": ["mob/terrakon/hurt1", "mob/terrakon/hurt2", "mob/terrakon/hurt3"]},
  "mob.terrakon.pant": {"category": "neutral", "sounds": ["mob/terrakon/panting"]},
  "mob.terrakon.whine": {"category": "neutral", "sounds": ["mob/terrakon/whine"]},
  "mob.terrakon.death": {"category": "neutral", "sounds": ["mob/terrakon/death"]}
}

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

Also, I'm having issues with registering my entities. I have a method that makes sets a new ID for me but sicne 1.9, it doesn't use ids, it uses the entity's name. How I configure my method to check for the entity name instead?

 

	startEntityId = 0;
public static int getUniqueEntityId() {
	do {
		startEntityId++;
	}
	while (EntityList.getIDFromString(startEntityId) != null);

	return startEntityId;
}

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

Oh, so this registry method i made is a bad idea to use?

 

	public static void addEntityWithEgg(Class entityClass, String entityName, int eggColor, int eggSpotsColor) {

	int id = getUniqueEntityId();
	EntityRegistry.registerModEntity(entityClass, entityName, id, TetraCraft.instance, 80, 3, false); //Last 3 Parameters monitors movement See EntityTracker.addEntityToTracker()

	EntityList.idToClassMapping.put(id, entityClass);
	EntityList.entityEggs.put(entityName, new EntityList.EntityEggInfo(entityName, eggColor, eggSpotsColor));
}

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

[
  {
  "modid": "tetracraft",
  "name": "TetraCraft",
  "description": "Another Adventure, the Sequel of Zero Quest",
  "version": "0.0.1",
  "mcversion": "1.8.9",
  "logoFile": "assets/tetracraft/logo/logo1.png",
  "url": "",
  "authorList": ["NovaViper"],
  "credits": "Made by NovaViper",
  "parent": "",
  "screenshots": [],
  "requiredMods": ["Forge"],
  "dependencies": [],
  "dependants": [],
  "useDependencyInformation": "true"
  }
]

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

I'm having issues with 1.7.10, for some reason the game can't detect the mc.modinfo file I have in mymod.

 

The file should be called mcmod.info, not mc.modinfo.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

Also, the game can't seem to find m textures or anything. . Here's my log too

.

"C:\Program Files\Java\jdk1.8.0_73\bin\java" -Xincgc -Xmx1024M -Xms1024M -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_73\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_73\jre\lib\rt.jar;C:\Users\NovaPC\Dropbox\MinecraftMods\TetraCraft\1.7.10\build\classes\main;C:\Users\NovaPC\Dropbox\MinecraftMods\TetraCraft\1.7.10\build\resources\main;C:\Users\NovaPC\.gradle\caches\minecraft\net\minecraftforge\forge\1.7.10-10.13.4.1614-1.7.10\forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\net.minecraft\launchwrapper\1.12\111e7bea9c968cdb3d06ef4632bf7ff0824d0f36\launchwrapper-1.12.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\com.google.code.findbugs\jsr305\1.3.9\40719ea6961c0cb6afaeb6a921eaa1f6afd4cfdf\jsr305-1.3.9.jar;C:\Users\NovaPC\.gradle\caches\minecraft\net\minecraftforge\forge\1.7.10-10.13.4.1614-1.7.10\start;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-debug-all\5.0.3\f9e364ae2a66ce2a543012a4668856e84e5dab74\asm-debug-all-5.0.3.jar;C:\Users\NovaPC\.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;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\com.typesafe\config\1.2.1\f771f71fdae3df231bcd54d5ca2d57f0bf93f467\config-1.2.1.jar;C:\Users\NovaPC\.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;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-compiler\2.11.1\56ea2e6c025e0821f28d73ca271218b8dd04926a\scala-compiler-2.11.1.jar;C:\Users\NovaPC\.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;C:\Users\NovaPC\.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;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-library\2.11.1\e11da23da3eabab9f4777b9220e60d44c1aab6a\scala-library-2.11.1.jar;C:\Users\NovaPC\.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;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-reflect\2.11.1\6580347e61cc7f8e802941e7fde40fa83b8badeb\scala-reflect-2.11.1.jar;C:\Users\NovaPC\.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;C:\Users\NovaPC\.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;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\net.sf.jopt-simple\jopt-simple\4.5\6065cc95c661255349c1d0756657be17c29a4fd3\jopt-simple-4.5.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\lzma\lzma\0.0.1\521616dc7487b42bef0e803bd2fa3faf668101d7\lzma-0.0.1.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\com.mojang\realms\1.3.5\807ae355ee63583becd7ea60e76aab1532bb42e\realms-1.3.5.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-compress\1.8.1\a698750c16740fd5b3871425f4cb3bbaa87f529d\commons-compress-1.8.1.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpclient\4.3.3\18f4247ff4572a074444572cee34647c43e7c9c7\httpclient-4.3.3.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\commons-logging\commons-logging\1.1.3\f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f\commons-logging-1.1.3.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpcore\4.3.2\31fbbff1ddbf98f3aa7377c94d33b0447c646b6e\httpcore-4.3.2.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\java3d\vecmath\1.3.1\a0ae4f51da409fa0c20fa0ca59e6bbc9413ae71d\vecmath-1.3.1.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\net.sf.trove4j\trove4j\3.0.3\42ccaf4761f0dfdfa805c9e340d99a755907e2dd\trove4j-3.0.3.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\com.ibm.icu\icu4j-core-mojang\51.2\63d216a9311cca6be337c1e458e587f99d382b84\icu4j-core-mojang-51.2.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\com.paulscode\codecjorbis\20101023\c73b5636faf089d9f00e8732a829577de25237ee\codecjorbis-20101023.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\com.paulscode\codecwav\20101023\12f031cfe88fef5c1dd36c563c0a3a69bd7261da\codecwav-20101023.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\com.paulscode\libraryjavasound\20101123\5c5e304366f75f9eaa2e8cca546a1fb6109348b3\libraryjavasound-20101123.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\com.paulscode\librarylwjglopenal\20100824\73e80d0794c39665aec3f62eee88ca91676674ef\librarylwjglopenal-20100824.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\com.paulscode\soundsystem\20120107\419c05fe9be71f792b2d76cfc9b67f1ed0fec7f6\soundsystem-20120107.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\io.netty\netty-all\4.0.10.Final\9e50bd52ffe257a0e2cd8d971688d6ce7d174325\netty-all-4.0.10.Final.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\com.google.guava\guava\17.0\9c6ef172e8de35fd8d4d8783e4821e57cdef7445\guava-17.0.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-lang3\3.3.2\90a3822c38ec8c996e84c16a3477ef632cbc87a3\commons-lang3-3.3.2.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\commons-io\commons-io\2.4\b1b6ea3b7e4aa4f492509a4952029cd8e48019ad\commons-io-2.4.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\commons-codec\commons-codec\1.9\9ce04e34240f674bc72680f8b843b1457383161a\commons-codec-1.9.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput\2.0.5\39c7796b469a600f72380316f6b1f11db6c2c7c4\jinput-2.0.5.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\net.java.jutils\jutils\1.0.0\e12fe1fda814bd348c1579329c86943d2cd3c6a6\jutils-1.0.0.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\com.google.code.gson\gson\2.2.4\a60a5e993c98c864010053cb901b7eab25306568\gson-2.2.4.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\com.mojang\authlib\1.5.16\ef1582b11fd0943d069cdcb72e99008ac209a283\authlib-1.5.16.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.0-beta9\1dd66e68cccd907880229f9e2de1314bd13ff785\log4j-api-2.0-beta9.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-core\2.0-beta9\678861ba1b2e1fccb594bb0ca03114bb05da9695\log4j-core-2.0-beta9.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl\2.9.1\f58c5aabcef0e41718a564be9f8e412fff8db847\lwjgl-2.9.1.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl_util\2.9.1\290d7ba8a1bd9566f5ddf16ad06f09af5ec9b20e\lwjgl_util-2.9.1.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\tv.twitch\twitch\5.16\1f55f009c61637c10c0acfb8b5ffc600f30044b4\twitch-5.16.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-actors\2.11.0\8ccfb6541de179bb1c4d45cf414acee069b7f78b\scala-actors-2.11.0.jar;C:\Users\NovaPC\.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;C:\Users\NovaPC\.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;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\7ff832a6eb9ab6a767f1ade2b548092d0fa64795\jinput-platform-2.0.5-natives-linux.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\385ee093e01f587f30ee1c8a2ee7d408fd732e16\jinput-platform-2.0.5-natives-windows.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\53f9c919f34d2ca9de8c51fc4e1e8282029a9232\jinput-platform-2.0.5-natives-osx.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\tv.twitch\twitch-platform\5.16\7c6affe439099806a4f552da14c42f9d643d8b23\twitch-platform-5.16-natives-windows-32.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\tv.twitch\twitch-platform\5.16\39d0c3d363735b4785598e0e7fbf8297c706a9f9\twitch-platform-5.16-natives-windows-64.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\tv.twitch\twitch-platform\5.16\62503ee712766cf77f97252e5902786fd834b8c5\twitch-platform-5.16-natives-osx.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\tv.twitch\twitch-external-platform\4.5\18215140f010c05b9f86ef6f0f8871954d2ccebf\twitch-external-platform-4.5-natives-windows-32.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\tv.twitch\twitch-external-platform\4.5\c3cde57891b935d41b6680a9c5e1502eeab76d86\twitch-external-platform-4.5-natives-windows-64.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl-platform\2.9.1\4c517eca808522457dd95ee8fc1fbcdbb602efbe\lwjgl-platform-2.9.1-natives-windows.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl-platform\2.9.1\aa9aae879af8eb378e22cfc64db56ec2ca9a44d1\lwjgl-platform-2.9.1-natives-linux.jar;C:\Users\NovaPC\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl-platform\2.9.1\2d12c83fdfbc04ecabf02c7bc8cc54d034f0daac\lwjgl-platform-2.9.1-natives-osx.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain GradleStart
[21:37:27] [main/INFO] [GradleStart]: Extra: []
[21:37:28] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/NovaPC/.gradle/caches/minecraft/assets, --assetIndex, 1.7.10, --accessToken, {REDACTED}, --version, 1.7.10, --tweakClass, cpw.mods.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[21:37:28] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[21:37:29] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[21:37:29] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[21:37:29] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
[21:37:29] [main/INFO] [FML]: Forge Mod Loader version 7.99.40.1614 for Minecraft 1.7.10 loading
[21:37:29] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_73, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jdk1.8.0_73\jre
[21:37:29] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[21:37:30] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[21:37:30] [main/INFO] [GradleStart]: Injecting location in coremod cpw.mods.fml.relauncher.FMLCorePlugin
[21:37:30] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[21:37:30] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[21:37:30] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
[21:37:30] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[21:37:30] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[21:37:30] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[21:37:30] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[21:37:32] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[21:37:54] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
[21:37:54] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[21:37:54] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
[21:37:57] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[21:37:58] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker
[21:37:58] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker
[21:37:58] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[21:38:14] [main/INFO]: Setting user: Player284
[21:38:21] [Client thread/INFO]: LWJGL Version: 2.9.1
[21:38:28] [Client thread/INFO] [FML]: Could not load splash.properties, will create a default one
[21:38:28] [Client thread/ERROR] [FML]: Could not save the splash.properties file
java.io.FileNotFoundException: .\config\splash.properties (The system cannot find the path specified)
at java.io.FileOutputStream.open0(Native Method) ~[?:1.8.0_73]
at java.io.FileOutputStream.open(FileOutputStream.java:270) ~[?:1.8.0_73]
at java.io.FileOutputStream.<init>(FileOutputStream.java:213) ~[?:1.8.0_73]
at java.io.FileOutputStream.<init>(FileOutputStream.java:162) ~[?:1.8.0_73]
at java.io.FileWriter.<init>(FileWriter.java:90) ~[?:1.8.0_73]
at cpw.mods.fml.client.SplashProgress.start(SplashProgress.java:151) [splashProgress.class:?]
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:193) [FMLClientHandler.class:?]
at net.minecraft.client.Minecraft.startGame(Minecraft.java:522) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:942) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_73]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_73]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_73]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_73]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
at GradleStart.main(Unknown Source) [start/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_73]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_73]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_73]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_73]
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) [idea_rt.jar:?]
[21:38:29] [Client thread/INFO] [sTDOUT]: [cpw.mods.fml.client.SplashProgress:start:188]: ---- Minecraft Crash Report ----
// There are four lights!

Time: 3/19/16 9:38 PM
Description: Loading screen debug info

This is just a prompt for computer specs to be printed. THIS IS NOT A ERROR


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_73, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 770510856 bytes (734 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: 
GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.5.13416 Compatibility Profile Context 15.300.1025.1001' Renderer: 'AMD Radeon(TM) R5 Graphics'
[21:38:31] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization
[21:38:31] [Client thread/INFO] [FML]: MinecraftForge v10.13.4.1614 Initialized
[21:38:32] [Client thread/INFO] [FML]: Replaced 183 ore recipies
[21:38:33] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization
[21:38:34] [Client thread/INFO] [FML]: Config directory created successfully
[21:38:39] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
[21:38:39] [Client thread/INFO] [FML]: Searching C:\Users\NovaPC\Dropbox\MinecraftMods\TetraCraft\1.7.10\eclipse\mods for mods
[21:39:51] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load
[21:39:53] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, tetracraft] at CLIENT
[21:39:53] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, tetracraft] at SERVER
[21:39:57] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:TetraCraft
[21:39:58] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
[21:39:58] [Client thread/INFO] [FML]: Found 341 ObjectHolder annotations
[21:39:58] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
[21:39:58] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
[21:39:58] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
[21:40:00] [Client thread/INFO] [FML]: Applying holder lookups
[21:40:00] [Client thread/INFO] [FML]: Holder lookups applied
[21:40:00] [Client thread/INFO] [FML]: Injecting itemstacks
[21:40:00] [Client thread/INFO] [FML]: Itemstack injection complete
[21:40:01] [sound Library Loader/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[21:40:01] [sound Library Loader/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem...
[21:40:02] [Thread-7/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL
[21:40:02] [Thread-7/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:     (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[21:40:03] [Thread-7/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized.
[21:40:03] [sound Library Loader/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[21:40:03] [sound Library Loader/INFO]: Sound engine started
[21:40:27] [Client thread/INFO]: Created: 16x16 textures/blocks-atlas
[21:40:27] [Client thread/INFO]: Created: 16x16 textures/items-atlas
[21:40:27] [Client thread/INFO] [FML]: Injecting itemstacks
[21:40:27] [Client thread/INFO] [FML]: Itemstack injection complete
[21:40:29] [Client thread/INFO] [TetraCraft]: The item net.minecraft.item.ItemFood@30b19518 meta 32767 was register to an item list
[21:40:29] [Client thread/INFO] [TetraCraft]: The item net.minecraft.item.ItemFood@366ac49b meta 32767 was register to an item list
[21:40:29] [Client thread/INFO] [TetraCraft]: The item net.minecraft.item.ItemFood@41d426b5 meta 32767 was register to an item list
[21:40:29] [Client thread/INFO] [TetraCraft]: The item net.minecraft.item.ItemFishFood@7642df8f meta 32767 was register to an item list
[21:40:29] [Client thread/INFO] [TetraCraft]: The item net.minecraft.item.ItemFood@363042d7 meta 32767 was register to an item list
[21:40:29] [Client thread/INFO] [TetraCraft]: The item net.minecraft.item.ItemFood@6ad59d92 meta 32767 was register to an item list
[21:40:29] [Client thread/INFO] [TetraCraft]: The item net.minecraft.item.ItemFishFood@3e30646a meta 32767 was register to an item list
[21:40:29] [Client thread/INFO] [TetraCraft]: The item net.minecraft.item.ItemFood@8dbfffb meta 32767 was register to an item list
[21:40:29] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods
[21:40:29] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:TetraCraft
[21:40:31] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas
[21:40:32] [Client thread/INFO]: Created: 256x256 textures/items-atlas
[21:40:32] [Client thread/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[21:40:32] [Client thread/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: SoundSystem shutting down...
[21:40:32] [Client thread/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:importantMessage:90]:     Author: Paul Lamb, www.paulscode.com
[21:40:32] [Client thread/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[21:40:32] [sound Library Loader/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[21:40:32] [sound Library Loader/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem...
[21:40:32] [Thread-9/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL
[21:40:32] [Thread-9/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:     (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[21:40:33] [Thread-9/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized.
[21:40:33] [sound Library Loader/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[21:40:33] [sound Library Loader/INFO]: Sound engine started
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]: The following texture errors were found.
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]:   DOMAIN tetracraft
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]: --------------------------------------------------
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]:   domain tetracraft is missing 6 textures
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]:     domain tetracraft is missing a resource manager - it is probably a side-effect of automatic texture processing
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]: -------------------------
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]:     The missing resources for domain tetracraft are:
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/items/triaxIngot.png
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/items/ballisticBow_standby.png
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/items/null_pulling_1.png
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/blocks/triaxOre.png
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/items/null_pulling_0.png
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/items/null_pulling_2.png
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]: -------------------------
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]:     No other errors exist for domain tetracraft
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
[21:40:47] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

If none of your assets are working in the development environment but they're in the built JAR when you run the

build

task, add this to your build.gradle:

// Fix resources not being loaded in IDEA
// http://www.minecraftforge.net/forum/index.php/topic,32467.msg169687.html#msg169687
idea.module.inheritOutputDirs = true

 

This code is only for 1.7.10 and earlier. This is built in to ForgeGradle for 1.8+.

 

Side note: Why are you using 1.7.10?

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

If none of your assets are working in the development environment but they're in the built JAR when you run the

build

task, add this to your build.gradle:

// Fix resources not being loaded in IDEA
// http://www.minecraftforge.net/forum/index.php/topic,32467.msg169687.html#msg169687
idea.module.inheritOutputDirs = true

 

This code is only for 1.7.10 and earlier. This is built in to ForgeGradle for 1.8+.

 

Side note: Why are you using 1.7.10?

 

Thanks and I'm doing 3 different versions, 1.7.10, 1.8 and 1.9. I want to ensure compatability (though I may not keep at 1.7.10 since its so old)

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

I got a big issue in 1.9, for some reason I can't spawn my custom entity, it spawns a big instead

 

package novaviper.tetracraft.main;

import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraftforge.fml.client.registry.IRenderFactory;
import novaviper.tetracraft.client.model.*;
import novaviper.tetracraft.common.entity.*;
import novaviper.tetracraft.client.render.entity.*;
import novaviper.tetracraft.common.lib.Registers;

/**
* Created by NovaViper on 2/5/2016.
* Class Purpose: Main class for defining and loading all entities
*/
public class ModEntities {

public static void load(){
	creatures();
	spawns();
}

private static void creatures(){ //NAV
	Registers.addEntityWithEgg(EntityTerrakon.class, "Terrakon", 1, 0x99ffcc, 0x009900);
}

private static void spawns(){
	//Registers.addEntitySpawn();
}

public static void loadRenderers(){ //NAV
	Registers.addEntityRender(EntityTerrakon.class, new IRenderFactory<EntityTerrakon>() {
		@Override
		public Render<? super EntityTerrakon> createRenderFor(RenderManager manager) {
			return new RenderTerrakon(manager, 0.5F);
		}});
}
}

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

What about custom timed bows in 1.9?

 

Forge's

Item#getModel

method that was previously used for things like bow pulling models has now been replaced with item properties that can be queried from item models. I'm in the process of updating TestMod3 to 1.9, I'll probably know more about this when I finish updating my bow items.

 

I got a big issue in 1.9, for some reason I can't spawn my custom entity, it spawns a big instead

 

Mod spawn eggs are currently broken in 1.9, diesieben07 has opened a pull request to fix them.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

What about custom timed bows in 1.9?

 

Forge's

Item#getModel

method that was previously used for things like bow pulling models has now been replaced with item properties that can be queried from item models. I'm in the process of updating TestMod3 to 1.9, I'll probably know more about this when I finish updating my bow items.

 

I got a big issue in 1.9, for some reason I can't spawn my custom entity, it spawns a big instead

 

Mod spawn eggs are currently broken in 1.9, diesieben07 has opened a pull request to fix them.

 

Thanks for that and hopefully they get this error fixed

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

I got a question about the json file registry in 1.9, did anything change because I notice that the custom bow doesn't work. Also, I did try to convert over the code to 1.9

 

Base Bow Code

package novaviper.tetracraft.common.item;

import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.init.Enchantments;
import net.minecraft.init.Items;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.*;
import net.minecraft.stats.StatList;
import net.minecraft.util.*;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.ForgeEventFactory;
import net.minecraftforge.event.entity.player.ArrowLooseEvent;
import net.minecraftforge.event.entity.player.ArrowNockEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import novaviper.tetracraft.client.lib.ModelJsonReference;

/**
* Created by NovaViper on 2/6/2016.
* Class Purpose: Generic function class for the mod's bows
* Credit: Choonster For bow firing and boolean code!
*/
public class ItemModBow extends ItemBow {
public String bowType;

public ItemModBow(String unlocalizedName, CreativeTabs tab, String type, int maxUsage) {
	bowType = type;
	this.setUnlocalizedName(unlocalizedName);
	this.setCreativeTab(tab);
	this.setMaxDamage(maxUsage);
	this.addPropertyOverride(new ResourceLocation("pull"), new IItemPropertyGetter()
	{
		@SideOnly(Side.CLIENT)
		public float apply(ItemStack stack, World worldIn, EntityLivingBase entityIn)
		{
			if (entityIn == null)
			{
				return 0.0F;
			}
			else
			{
				ItemStack itemstack = entityIn.getActiveItemStack();
				return itemstack != null && itemstack.getItem() instanceof ItemModBow ? (float)(stack.getMaxItemUseDuration() - entityIn.getItemInUseCount()) / 20.0F : 0.0F;
			}
		}
	});
	this.addPropertyOverride(new ResourceLocation("pulling"), new IItemPropertyGetter()
	{
		@SideOnly(Side.CLIENT)
		public float apply(ItemStack stack, World worldIn, EntityLivingBase entityIn)
		{
			return entityIn != null && entityIn.isHandActive() && entityIn.getActiveItemStack() == stack ? 1.0F : 0.0F;
		}
	});
}

/**
 * Does the player need ammunition to fire the bow?
 *
 * @param stack  The bow ItemStack
 * @param player The player to check
 * @return True if the player is not in creative mode and the bow doesn't have the Infinity enchantment
 */
protected boolean playerNeedsAmmo(ItemStack stack, EntityPlayer player) {
	return !player.capabilities.isCreativeMode && EnchantmentHelper.getEnchantmentLevel(Enchantments.infinity, stack)== 0;
}

/**
 * Does the player have the ammunition to fire the bow?
 *
 * @param player The player to check
 * @return True if the player has the ammunition Item
 */
protected boolean playerHasAmmo(EntityPlayer player) {
	return this.getHand(player) != null;
}

/**
 * Does the player have the ammunition to fire the bow?
 *
 * @param stack  The bow ItemStack
 * @return True if the player has the ammunition Item
 */
 protected boolean isItemAmmo(ItemStack stack){
	 return stack != null && stack.getItem() == Items.arrow;
 }

private ItemStack getHand(EntityPlayer player) {
	if (this.isItemAmmo(player.getHeldItem(EnumHand.OFF_HAND))) {
		return player.getHeldItem(EnumHand.OFF_HAND);
	} else if (this.isItemAmmo(player.getHeldItem(EnumHand.MAIN_HAND))) {
		return player.getHeldItem(EnumHand.MAIN_HAND);
	} else {
		for (int i = 0; i < player.inventory.getSizeInventory(); ++i) {
			ItemStack itemstack = player.inventory.getStackInSlot(i);

			if (this.isItemAmmo(itemstack)) {
				return itemstack;
			}
		}
		return null;
	}
}

@Override
public void onPlayerStoppedUsing(ItemStack stack, World worldIn, EntityLivingBase entityLiving, int timeLeft) {
	if (entityLiving instanceof EntityPlayer) {
		EntityPlayer playerIn = (EntityPlayer) entityLiving;
		int charge = this.getMaxItemUseDuration(stack) - timeLeft;
		fireArrow(stack, worldIn, playerIn, charge);
	}
}

@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn, EnumHand hand) {
	boolean flag = this.getHand(playerIn) != null;

	ActionResult<ItemStack> ret = nockArrow(itemStackIn, worldIn, hand, playerIn);
	if (ret != null && flag) return ret;

	if (!playerIn.capabilities.isCreativeMode && !flag)
	{
		return !flag ? new ActionResult(EnumActionResult.FAIL, itemStackIn) : new ActionResult(EnumActionResult.PASS, itemStackIn);
	}
	else
	{
		playerIn.setActiveHand(hand);
		return new ActionResult(EnumActionResult.SUCCESS, itemStackIn);
	}
}

/**
 * Nock an arrow.
 *
 * @param itemStackIn The bow ItemStack
 * @param playerIn    The player
 * @return The result of ArrowNockEvent if it was canceled.
 */
protected ActionResult<ItemStack> nockArrow(ItemStack itemStackIn, World worldIn, EnumHand hand,EntityPlayer playerIn) {

	ActionResult<ItemStack> ret = ForgeEventFactory.onArrowNock(itemStackIn, worldIn, playerIn, hand, playerNeedsAmmo(itemStackIn, playerIn));
	if (ret != null) return ret;

	if (!playerIn.capabilities.isCreativeMode && !playerNeedsAmmo(itemStackIn, playerIn))
	{
		return !playerNeedsAmmo(itemStackIn, playerIn) ? new ActionResult(EnumActionResult.FAIL, itemStackIn) : new ActionResult(EnumActionResult.PASS, itemStackIn);
	}
	else
	{
		playerIn.setActiveHand(hand);
		return new ActionResult(EnumActionResult.SUCCESS, itemStackIn);
	}
}

/**
 * Fire an arrow with the specified charge.
 *
 * @param stack  The bow ItemStack
 * @param worldIn  The firing player's World
 * @param entityLiving The entity, the player firing the bow
 * @param charge The charge of the arrow
 */
protected void fireArrow(ItemStack stack, World worldIn, EntityLivingBase entityLiving, int charge)
{
	if (entityLiving instanceof EntityPlayer)
	{
		EntityPlayer entityplayer = (EntityPlayer)entityLiving;
		ItemStack itemstack = this.getHand(entityplayer);

		ArrowLooseEvent event = new ArrowLooseEvent(entityplayer, stack, worldIn, charge, stack != null || playerNeedsAmmo(stack, entityplayer));
		if (MinecraftForge.EVENT_BUS.post(event)) return;
		charge = event.getCharge();

		if (itemstack != null || playerNeedsAmmo(itemstack, entityplayer))
		{
			if (itemstack == null)
			{
				itemstack = new ItemStack(Items.arrow);
			}

			float velocity = chargeVelocity(charge);

			if ((double)velocity >= 0.1D)
			{
				boolean flag1 = playerNeedsAmmo(itemstack, entityplayer) && itemstack.getItem() instanceof ItemArrow; //Forge: Fix consuming custom arrows.

				if (!worldIn.isRemote)
				{
					ItemArrow itemarrow = (ItemArrow)((ItemArrow)(itemstack.getItem() instanceof ItemArrow ? itemstack.getItem() : Items.arrow));
					EntityArrow entityarrow = itemarrow.makeTippedArrow(worldIn, itemstack, entityplayer);
					entityarrow.func_184547_a(entityplayer, entityplayer.rotationPitch, entityplayer.rotationYaw, 0.0F, velocity * 3.0F, 1.0F);

					if (velocity == 1.0F)
					{
						entityarrow.setIsCritical(true);
					}

					int j = EnchantmentHelper.getEnchantmentLevel(Enchantments.power, stack);

					if (j > 0)
					{
						entityarrow.setDamage(entityarrow.getDamage() + (double)j * 0.5D + 0.5D);
					}

					int k = EnchantmentHelper.getEnchantmentLevel(Enchantments.punch, stack);

					if (k > 0)
					{
						entityarrow.setKnockbackStrength(k);
					}

					if (EnchantmentHelper.getEnchantmentLevel(Enchantments.flame, stack) > 0)
					{
						entityarrow.setFire(100);
					}

					stack.damageItem(1, entityplayer);

					if (flag1)
					{
						entityarrow.canBePickedUp = EntityArrow.PickupStatus.CREATIVE_ONLY;
					}

					worldIn.spawnEntityInWorld(entityarrow);
				}

				worldIn.playSound((EntityPlayer)null, entityplayer.posX, entityplayer.posY, entityplayer.posZ, SoundEvents.entity_arrow_shoot, SoundCategory.NEUTRAL, 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + velocity * 0.5F);

				if (!flag1)
				{
					--itemstack.stackSize;

					if (itemstack.stackSize == 0)
					{
						entityplayer.inventory.deleteStack(itemstack);
					}
				}

				entityplayer.addStat(StatList.func_188057_b(this));
			}
		}
	}
}

public static float chargeVelocity(int charge)
{
	float velocity = (float) charge / 20.0f;
	velocity = (velocity * velocity + velocity * 2.0f) / 3.0f;

	if (velocity < 0.1f) {
		return 0;
	}

	if (velocity > 1.0f) {
		velocity = 1.0f;
	}

	return charge;
}
}

 

ContionuousBow

package novaviper.tetracraft.common.item;

import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import novaviper.tetracraft.client.lib.ModelJsonReference;

/**
* Created by NovaViper on 2/12/2016.
* Class Purpose:
*/
public class ItemContinousBow extends ItemModBow{
int fireRate;

public ItemContinousBow(String unlocalizedName, CreativeTabs tab, String type, int maxUsage, int fireRate) {
	super(unlocalizedName, tab, type, maxUsage);
	this.fireRate = fireRate;
}

/**
 * How long it takes to use or consume an item
 */
	@Override
public int getMaxItemUseDuration(ItemStack stack){return 10;}

/**
 * returns the action that specifies what animation to play when the items is being used
 */
@Override
public EnumAction getItemUseAction(ItemStack stack)
{
	return EnumAction.BOW;
}

@Override
public void onPlayerStoppedUsing(ItemStack stack, World worldIn, EntityLivingBase entityLiving, int timeLeft) {
	int charge = (getMaxItemUseDuration(stack) - timeLeft) * fireRate;
	fireArrow(stack, worldIn, (EntityPlayer)entityLiving, charge);
}

@Override
public ItemStack onItemUseFinish(ItemStack stack, World worldIn, EntityLivingBase entityLiving) {
	int charge = getMaxItemUseDuration(stack) * fireRate;
	fireArrow(stack, worldIn, (EntityPlayer)entityLiving, charge);

	return stack;
}
}

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

Ok.. Another thing I noticed in 1.9 relating with entities, I do have the latest 1.9 (build 1800). whenevrer I spawn the entity, it spawns a block instead of the model

 

Registry

	public static void addEntityRender(Class entityClass, IRenderFactory renderFactory) {
	RenderingRegistry.registerEntityRenderingHandler(entityClass, renderFactory);
}

 

Render loader

	public static void loadRenderers(){ //NAV
	Registers.addEntityRender(EntityTerrakon.class, new IRenderFactory<EntityTerrakon>() {
		@Override
		public Render<? super EntityTerrakon> createRenderFor(RenderManager manager) {
			return new RenderTerrakon(manager, 0.5F);
		}});
}

 

RenderLiving

package novaviper.tetracraft.client.render.entity;

import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import novaviper.tetracraft.client.model.ModelTerrakon;
import novaviper.tetracraft.client.render.entity.layers.LayerTerrakon;
import novaviper.tetracraft.common.entity.EntityTerrakon;
import novaviper.tetracraft.client.lib.TextureReference;

/**
* Created by NovaViper on 3/10/2016.
* Class Purpose:Rendering class for Terrakons
*/
@SideOnly(Side.CLIENT)
public class RenderTerrakon extends RenderLiving
{
public RenderTerrakon(RenderManager renderManagerIn, float shadowSizeIn)
{
	super(renderManagerIn, new ModelTerrakon(), shadowSizeIn);
	this.addLayer(new LayerTerrakon(this));
}

/**
 * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
 */
protected ResourceLocation getEntityTexture(Entity entity)
{
	return this.getTexture((EntityTerrakon)entity);
}

/**
 * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
 */
protected ResourceLocation getTexture(EntityTerrakon entityTerrakon)
{
	return entityTerrakon.isAngry() ? TextureReference.getTerrakonSkins("_angry") : TextureReference.getTerrakonSkins("");
}
}

 

Layer

package novaviper.tetracraft.client.render.entity.layers;

import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.entity.layers.LayerRenderer;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import novaviper.tetracraft.client.lib.TextureReference;
import novaviper.tetracraft.client.render.entity.RenderTerrakon;
import novaviper.tetracraft.common.entity.EntityTerrakon;
import novaviper.tetracraft.common.lib.Constants;

/**
* Created by NovaViper on 3/16/2016.
* Class Purpose:
*/
@SideOnly(Side.CLIENT)
public class LayerTerrakon implements LayerRenderer
{
private final RenderTerrakon terrakonRenderer;

public LayerTerrakon(RenderTerrakon terrakonRendererIn)
{
	this.terrakonRenderer = terrakonRendererIn;
}

public void renderLayer(EntityTerrakon entityTerrakon, float par2, float par3, float partialTicks, float par5, float par6, float par7, float scale)
{
	if (!entityTerrakon.isInvisible()) {
		if (entityTerrakon.isTamed() && (entityTerrakon.isChild() || !entityTerrakon.isChild())) {
			this.terrakonRenderer.bindTexture(TextureReference.getTerrakonSkins("_collar"));
			EnumDyeColor enumdyecolor = EnumDyeColor.byMetadata(entityTerrakon.getCollarColor().getMetadata());
			float[] afloat = EntitySheep.getDyeRgb(enumdyecolor);
			GlStateManager.color(afloat[0], afloat[1], afloat[2]);
			this.terrakonRenderer.getMainModel().render(entityTerrakon, par2, par3, par5, par6, par7, scale);
		}
		if (entityTerrakon.isTamed() && !entityTerrakon.isChild() && entityTerrakon.isSaddled()) {
			this.terrakonRenderer.bindTexture(TextureReference.getTerrakonSkins("_saddle"));
			GlStateManager.color(1f, 1f, 1f);
			this.terrakonRenderer.getMainModel().render(entityTerrakon, par2, par3, par5, par6, par7, scale);
		}
		if (entityTerrakon.isTamed() && !entityTerrakon.isChild() && entityTerrakon.getHealth() <= Constants.lowHP) {
			this.terrakonRenderer.bindTexture(TextureReference.getTerrakonSkins("_dying"));
			GlStateManager.color(1f, 1f, 1f);
			this.terrakonRenderer.getMainModel().render(entityTerrakon, par2, par3, par5, par6, par7, scale);
		}
		if (entityTerrakon.getGender() == true) {
			this.terrakonRenderer.bindTexture(TextureReference.getTerrakonSkins("_male"));
			GlStateManager.color(1f, 1f, 1f);
			this.terrakonRenderer.getMainModel().render(entityTerrakon, par2, par3, par5, par6, par7, scale);
		}
	}
}

public void doRenderLayer(EntityLivingBase entityLivingBase, float par2, float par3, float partialTicks, float par5, float par6, float par7, float scale)
{
	this.renderLayer((EntityTerrakon)entityLivingBase, par2, par3, partialTicks, par5, par6, par7, scale);
}

public boolean shouldCombineTextures()
{
	return true;
}
}

 

Client Proxy

package novaviper.tetracraft.client.proxy;

import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.event.*;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
import novaviper.tetracraft.common.proxy.CommonProxy;
import novaviper.tetracraft.main.*;

/**
* Created by NovaViper on 2/6/2016.
* Class Purpose: Loads stuff on the client side
*/
public class ClientProxy extends CommonProxy {

// Client Objects\\
@Override
public void onPreInt(FMLPreInitializationEvent event){
	//Item Stuff\\
	ModBlocks.loadRenderers();
	ModItems.loadRenderersAndVariants();
	ModEvents.load();
}

@Override
public void onInt(FMLInitializationEvent event){
	ModEntities.loadRenderers();
}

@Override
public void onPostInt(FMLPostInitializationEvent event){}

@Override
public void onServerStart(FMLServerStartedEvent event){}

@Override
public void onServerStop(FMLServerStoppedEvent event){}

// Client Objects\\
@Override
public EntityPlayer getPlayerEntity(MessageContext ctx) {
	return (ctx.side.isClient() ? Minecraft.getMinecraft().thePlayer
			: super.getPlayerEntity(ctx));
}

@Override
public EntityPlayer getPlayerEntity() {
	return Minecraft.getMinecraft().thePlayer;
}

@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
	/*if (ID == IDs.nileTableGUI) {
		TileEntity target = world.getTileEntity(new BlockPos(x, y, z));
		if (!(target instanceof TileEntityNileWorkbench)) {
			return null;
		}

		TileEntityNileWorkbench tileNileTable = (TileEntityNileWorkbench) target;
		GuiNileWorkbench tableGui = new GuiNileWorkbench(player.inventory, tileNileTable, world, new BlockPos(x, y, z));
		return tableGui;
	}*/
	return null;
}

/*@Override
public void spawnCrit(World world, Entity entity) {
	FMLClientHandler.instance().getClient().effectRenderer.emitParticleAtEntity(entity, EnumParticleTypes.CRIT);
}*/
}

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

Ok.. Another thing I noticed in 1.9 relating with entities, I do have the latest 1.9 (build 1800). whenevrer I spawn the entity, it spawns a block instead of the model

 

I'm not sure exactly what your issue is, but I do see some potential problems in your code:

  • Render

    classes are generic in 1.8.8+, so don't use raw types (

    RenderTerrakon

    should extend

    RenderLiving<EntityTerrakon>

    instead of

    RenderLiving

    )

  • Always use the
    @Override

    annotation on override methods

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

Also, the Optional class you use in your bow events are erroring too, it doesn't cause the game the crash but Intellij says "Usage of API documented as @since 1.7+ less... (Ctrl+F1)

This inspection finds all usages of methods that have @since tag in their documentation.  This may be useful when development is performed under newer SDK version as the target platform for production."

 

How do I make this error go away?

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Link to comment
Share on other sites

Also, the Optional class you use in your bow events are erroring too, it doesn't cause the game the crash but Intellij says "Usage of API documented as @since 1.7+ less... (Ctrl+F1)

This inspection finds all usages of methods that have @since tag in their documentation.  This may be useful when development is performed under newer SDK version as the target platform for production."

 

How do I make this error go away?

 

java.util.Optional

was added in Java 8. If you're targeting an earlier version of Java (the default set by ForgeGradle is Java 6, the same as Minecraft), you can't use it since it won't be present in that version.

 

You could use

com.google.common.base.Optional

(from Guava) as an alternative, but my updated bow doesn't actually use

Optional

at all.

nockArrow

now returns an

ActionResult<ItemStack>

like

Item#onItemRightClick

.

 

You can see the updated code here, but the bows and other projectile launchers are still a WIP.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.