Jump to content

OhiraKyou

Members
  • Posts

    13
  • Joined

Everything posted by OhiraKyou

  1. Edit: solved by using Forge version 28.0.82 rather than 28.0.83 Same message here. But, I tried the Oracle JDK (jdk-8u221-windows-x64) after reading this and saw no change. Log: > Configure project : New Dep: net.minecraftforge:forge:1.14.4-28.0.83_mapped_snapshot_20190719-1.14.3 Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/4.9/userguide/command_line_interface.html#sec:command_line_warnings CONFIGURE SUCCESSFUL in 0s Failed to apply patch: net.minecraftforge:forge:1.14.4-28.0.83:userdev: patches/net/minecraft/crash/CrashReportCategory.java Hunk #1 Failed: Cannot find hunk target Error getting artifact: net.minecraftforge:forge:1.14.4-28.0.83_mapped_snapshot_20190719-1.14.3:sources@jar from MinecraftUserRepo java.lang.RuntimeException: Failed to apply patches to source file, see log for details: C:\Users\Heaven\.gradle\caches\forge_gradle\minecraft_user_repo\net\minecraftforge\forge\1.14.4-28.0.83\forge-1.14.4-28.0.83-decomp.jar at net.minecraftforge.gradle.userdev.MinecraftUserRepo.findPatched(MinecraftUserRepo.java:959) at net.minecraftforge.gradle.userdev.MinecraftUserRepo.findSource(MinecraftUserRepo.java:995) at net.minecraftforge.gradle.userdev.MinecraftUserRepo.findFile(MinecraftUserRepo.java:394) at net.minecraftforge.gradle.common.util.BaseRepo.getArtifact(BaseRepo.java:81) at net.minecraftforge.gradle.common.util.BaseRepo.getArtifact(BaseRepo.java:41) at net.minecraftforge.gradle.common.util.BaseRepo$Builder$1.lambda$getArtifact$0(BaseRepo.java:127) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1359) at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) at net.minecraftforge.gradle.common.util.BaseRepo$Builder$1.getArtifact(BaseRepo.java:127) at net.minecraftforge.gradle.common.util.BaseRepo$Builder$1.getArtifact(BaseRepo.java:124) at com.amadornes.artifactural.base.repository.ArtifactProviderBuilder$Complete.getArtifact(ArtifactProviderBuilder.java:92) at com.amadornes.artifactural.base.repository.SimpleRepository.getArtifact(SimpleRepository.java:41) at com.amadornes.artifactural.gradle.GradleRepositoryAdapter$GeneratingFileResourceRepository.findArtifact(GradleRepositoryAdapter.java:298) at com.amadornes.artifactural.gradle.GradleRepositoryAdapter$GeneratingFileResourceRepository.resource(GradleRepositoryAdapter.java:277) at com.amadornes.artifactural.gradle.GradleRepositoryAdapter$GeneratingFileResourceRepository.resource(GradleRepositoryAdapter.java:243) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.staticResourceExists(DefaultExternalResourceArtifactResolver.java:83) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.artifactExists(DefaultExternalResourceArtifactResolver.java:71) at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.findOptionalArtifacts(ExternalResourceResolver.java:260) at org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver$MavenRemoteRepositoryAccess.resolveSourceArtifacts(MavenResolver.java:264) at org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver$MavenRemoteRepositoryAccess.resolveSourceArtifacts(MavenResolver.java:240) at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver$AbstractRepositoryAccess.resolveArtifactsWithType(ExternalResourceResolver.java:380) at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver$RemoteRepositoryAccess.resolveArtifactsWithType(ExternalResourceResolver.java:450) at com.amadornes.artifactural.gradle.GradleRepositoryAdapter$1$1.resolveArtifactsWithType(GradleRepositoryAdapter.java:202) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$ResolveAndCacheRepositoryAccess.resolveArtifactsWithType(CachingModuleComponentRepository.java:402) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.LocalModuleComponentRepository$LocalAccess.resolveArtifactsWithType(LocalModuleComponentRepository.java:89) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveArtifactsWithType(ErrorHandlingModuleComponentRepository.java:153) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainArtifactResolver.resolveArtifactsWithType(RepositoryChainArtifactResolver.java:50) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingArtifactResolver.resolveArtifactsWithType(ErrorHandlingArtifactResolver.java:37) at org.gradle.api.internal.artifacts.query.DefaultArtifactResolutionQuery.addArtifacts(DefaultArtifactResolutionQuery.java:175) at org.gradle.api.internal.artifacts.query.DefaultArtifactResolutionQuery.buildComponentResult(DefaultArtifactResolutionQuery.java:168) at org.gradle.api.internal.artifacts.query.DefaultArtifactResolutionQuery.createResult(DefaultArtifactResolutionQuery.java:142) at org.gradle.api.internal.artifacts.query.DefaultArtifactResolutionQuery.execute(DefaultArtifactResolutionQuery.java:133) at org.gradle.plugins.ide.internal.resolver.IdeDependencySet$IdeDependencyResult.resolveAuxiliaryArtifacts(IdeDependencySet.java:161) at org.gradle.plugins.ide.internal.resolver.IdeDependencySet$IdeDependencyResult.visit(IdeDependencySet.java:90) at org.gradle.plugins.ide.internal.resolver.IdeDependencySet.visit(IdeDependencySet.java:71) at org.gradle.plugins.ide.idea.model.internal.IdeaDependenciesProvider.visitDependencies(IdeaDependenciesProvider.java:105) at org.gradle.plugins.ide.idea.model.internal.IdeaDependenciesProvider.getDependencies(IdeaDependenciesProvider.java:90) at org.gradle.plugins.ide.idea.model.internal.IdeaDependenciesProvider.provide(IdeaDependenciesProvider.java:66) at org.gradle.plugins.ide.idea.model.IdeaModule.resolveDependencies(IdeaModule.java:589) at org.gradle.plugins.ide.internal.tooling.IdeaModelBuilder.buildDependencies(IdeaModelBuilder.java:125) at org.gradle.plugins.ide.internal.tooling.IdeaModelBuilder.build(IdeaModelBuilder.java:112) at org.gradle.plugins.ide.internal.tooling.IdeaModelBuilder.buildAll(IdeaModelBuilder.java:78) at org.gradle.plugins.ide.internal.tooling.IdeaModelBuilder.buildAll(IdeaModelBuilder.java:59) at org.gradle.tooling.internal.provider.runner.DefaultBuildController.getModel(DefaultBuildController.java:79) at org.gradle.tooling.internal.consumer.connection.InternalBuildActionAdapter$2.getModel(InternalBuildActionAdapter.java:74) at org.gradle.tooling.internal.consumer.connection.BuildControllerAdapter.getModel(BuildControllerAdapter.java:62) at org.gradle.tooling.internal.consumer.connection.AbstractBuildController.getModel(AbstractBuildController.java:40) at org.gradle.tooling.internal.consumer.connection.AbstractBuildController.getModel(AbstractBuildController.java:28) at org.jetbrains.plugins.gradle.model.ProjectImportAction.execute(ProjectImportAction.java:114) at org.jetbrains.plugins.gradle.model.ProjectImportAction.execute(ProjectImportAction.java:48) at org.gradle.tooling.internal.consumer.connection.InternalBuildActionAdapter.execute(InternalBuildActionAdapter.java:77) at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner.runAction(ClientProvidedPhasedActionRunner.java:109) at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner.access$000(ClientProvidedPhasedActionRunner.java:41) at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner$1.run(ClientProvidedPhasedActionRunner.java:97) at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner$1.buildFinished(ClientProvidedPhasedActionRunner.java:91) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.event.DefaultListenerManager$ListenerDetails.dispatch(DefaultListenerManager.java:370) at org.gradle.internal.event.DefaultListenerManager$ListenerDetails.dispatch(DefaultListenerManager.java:352) at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58) at org.gradle.internal.event.DefaultListenerManager$EventBroadcast$ListenerDispatch.dispatch(DefaultListenerManager.java:340) at org.gradle.internal.event.DefaultListenerManager$EventBroadcast$ListenerDispatch.dispatch(DefaultListenerManager.java:327) at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:42) at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:230) at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:149) at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58) at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:324) at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:234) at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:140) at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) at com.sun.proxy.$Proxy16.buildFinished(Unknown Source) at org.gradle.initialization.DefaultGradleLauncher.finishBuild(DefaultGradleLauncher.java:162) at org.gradle.initialization.DefaultGradleLauncher.finishBuild(DefaultGradleLauncher.java:128) at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:87) at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:83) at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152) at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:38) at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:96) at org.gradle.internal.invocation.GradleBuildController.configure(GradleBuildController.java:83) at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner.run(ClientProvidedPhasedActionRunner.java:63) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.run(RunAsBuildOperationBuildActionRunner.java:47) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:43) at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51) at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:50) at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:46) at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:74) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:46) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:32) at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39) at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:53) at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:62) at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:34) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25) at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43) at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:59) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:46) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30) at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72) at org.gradle.util.Swapper.swap(Swapper.java:38) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50) at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java.lang.Thread.run(Thread.java:748)
  2. Edit: actually, the first was the item. The second was the tile. Just a copy/paste fail from when I added a new block. Thanks for pointing it out. Replaced the second one with a tooltip.
  3. I've confirmed that simply running the client in IntelliJ IDEA using the runClient task changes the jar such that it crashes the proper client. This is because the runClient task also rebuilds the mod, although not in the same way, apparently. So, after testing in the IDE, I have to build again to get a fresh release jar. Incidentally, my mod is now on github.
  4. Yeah, I mentioned that I could do something similar in the OP. It does mostly work. Although, because the turret rotates beyond a single cardinal direction, rather than using facing, I would have to create a separate forward vector between the barrel's origin and the target, using the distance from the center to a corner of the cube to basically create a sphere that encompasses the cube. The surface of that sphere would be the safe ray starting point in any direction. There are a couple of edge cases with this method. The target could have been pushed slightly inside the block. Or, it could be just close enough that it exists between the cube and the safe start sphere. I imagine silverfish and baby mobs could easy manage that. And, if the turret is thinner in one direction than another, the resulting difference between the safe sphere and bounding box could be enough to let in much larger creatures. Sure, it's a relatively minor edge case, but it's also one that wouldn't exist if I could simply shoot from the turret's center instead of from outside of its bounding box. And then there's management concerns. If the turret has more than one bounding box, I'd have to calculate another, virtual box that surrounds them all to get the smallest possible box that lets in the fewest mobs between it and the safe sphere formed from the radius obtained from its center and one of its corners. So, I'm just wondering if there's a more elegant solution that doesn't involve coupling the ray start position and the block's bounding box. If I could trace a ray from the center while ignoring the source block, that would really be the simplest and most ideal solution.
  5. Ah, that clears up the MOP mystery. Anyway, although the arrow method of checking for a target reference is perfect for use with a moving projectile that just needs to know when to stop, I imagine a laser or other hitscan turret probably can't make much use of that without adding some travel time.
  6. Hmm, looked through the source and it seems MOPs have been removed. Arrows use World.rayTraceBlocks, and dispensers simply use an offset based on facing, which doesn't apply to smoothly rotating turrets. My turret, which fires entity-piercing lasers, also uses rayTraceBlocks. Then, it damages entities whose bounding boxes the ray intersects.
  7. I have a turret that ray casts from its center to its target. I could use some math to push the ray's origin down the barrel's forward vector to prevent it from hitting its own bounding box. However, I do wonder if there is a more elegant solution that allows a cast to simply ignore a bounding box. That would decouple the ray start position from the bounding box. How would you deal or how have you dealt with this?
  8. Indeed. I just tried my old build batch again without incident. So, I have absolutely no idea why it wasn't working before. Nothing has changed between the build that crashed and the successful builds that followed. Not a single line of code was changed anywhere, and I used the exact same MC instance, unmodified from the last attempt.
  9. Figured out the problem. I had added "--stacktrace" to my build batch file for debugging. Removing that, so that the line was simply "gradlew build" rather than "gradlew build --stacktrace" let it build the jar correctly.
  10. Here's both the source jar (129 KB) and the full project (12 MB) (it's not on github yet). I'm not doing anything particularly fancy. I just have the other mods installed because they have some utility stuff that's useful for testing. I only have a hard dependency on Base Metals.
  11. I've been developing a mod with IntelliJ IDEA, and I just tried loading the normal .jar (not the -sources.jar) from build/libs in the MC client outside of my development environment. The client crashes with "net.minecraftforge.fml.common.LoaderException: java.lang.NoSuchFieldError: IRON" So, I imagine I'm just not generating a proper, obfuscated jar. But, a scan through Google hasn't yielded a solution. I've uploaded my crash report and mod jar. Links below. Any suggestions? Crash report Mod jar
  12. I currently have a working turret that rotates, rendered by a TESR that uses bindTexture with a texture map and functions for generating shapes using addVertex. I provide visual cues for state changes by changing the UVs. First, I've read some mixed information about using bindTexture over some stitched icon functions. So, what is the recommended way to get textures for a model that will change its texture to reflect its state? Second, should I even be using a TESR to begin with? I just now discovered that ISimpleBlockRenderingHandler is a thing, having not read anything about it since I started working on my mod. And, as my other active support thread indicates, I've also been trying out OBJ model loading to no rendering success (which might be related to my next question). And, after much investigation, I haven't managed to figure out how blocks like the vanilla enchantment table load their static base while using EnumBlockRenderType.MODEL to render an animated part with a TESR. My turret has a base model specified in its blockstate and another one with its barrel for the inventory variant. The inventory variant works fine, but the base, specified in both the default and normal variant, doesn't render or throw a file not found exception (much like my issue with rendering an OBJ model). Perhaps I should have split this thread into separate threads, one per topic, but... Eh, ship it. Any suggestions would be appreciated.
  13. I'm trying to load this OBJ file (961 bytes) from Blender 2.76b and apply it to a block. However, it silently does not render. The block is currently untextured as I want to get the model in the game before worrying about details. In the client's preinit, I use the following: OBJLoader.INSTANCE.addDomain(DataModInfo.MOD_ID.toLowerCase()); Item precisionLaserTurretItem = Item.getItemFromBlock(ModBlocks.precision_laser_turret); ModelLoader.setCustomModelResourceLocation(precisionLaserTurretItem, 0, new ModelResourceLocation(DataModInfo.MOD_ID.toLowerCase()+ ":precision_laser_turret_head.obj", "inventory")); Under assets.turtletech.blockstates, I have the following in precision_laser_turret.json: { "forge_marker": 1, "defaults": { "model": "turtletech:precision_laser_turret_head.obj", "uvlock": true }, "variants": { "inventory": { "model": "turtletech:precision_laser_turret_head.obj" }, "facing": { "north": {}, "east": { "y": 90 }, "south": { "y": 180 }, "west": { "y": 270 } }, "active": { "true": {}, "false": {} }, "powered": { "true": {}, "false": {} } } } And, I have placed precision_laser_turret_head.obj and precision_laser_turret_head.mtl in both assets.turtletech.models.block and assets.turtletech.models.item. I could certainly use some suggestions here and can upload any files necessary.
×
×
  • Create New...

Important Information

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