Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[Solved] Custom Bow Pullback Animation Only Loading One Frame


fracturx
 Share

Recommended Posts

My custom bow that extends the regular BowItem works perfectly fine with the exception of it not loading the pullback textures besides pulling_0. Here is my code:

diamond_bow.json:

 

{
  "parent": "item/generated",
  "textures": {
    "layer0": "otherutilities:items/diamond_bow"
  },
  "display": {
    "thirdperson_righthand": {
      "rotation": [ -80, 260, -40 ],
      "translation": [ -1, -2, 2.5 ],
      "scale": [ 0.9, 0.9, 0.9 ]
    },
    "thirdperson_lefthand": {
      "rotation": [ -80, -280, 40 ],
      "translation": [ -1, -2, 2.5 ],
      "scale": [ 0.9, 0.9, 0.9 ]
    },
    "firstperson_righthand": {
      "rotation": [ 0, -90, 25 ],
      "translation": [ 1.13, 3.2, 1.13],
      "scale": [ 0.68, 0.68, 0.68 ]
    },
    "firstperson_lefthand": {
      "rotation": [ 0, 90, -25 ],
      "translation": [ 1.13, 3.2, 1.13],
      "scale": [ 0.68, 0.68, 0.68 ]
    }
  },
  "overrides": [
    {
      "predicate": {
        "pulling": 1
      },
      "model": "otherutilities:item/diamond_bow_pulling_0"
    },
    {
      "predicate": {
        "pulling": 1,
        "pull": 0.65
      },
      "model": "otherutilities:item/diamond_bow_pulling_1"
    },
    {
      "predicate": {
        "pulling": 1,
        "pull": 0.9
      },
      "model": "otherutilities:item/diamond_bow_pulling_2"
    }
  ]
}

 

diamond_bow_pulling_0.json:

{
  "parent": "item/bow",
  "textures": {
    "layer0": "otherutilities:items/diamond_bow_pulling_0"
  }
}

 

diamond_bow_pulling_1.json:

{
  "parent": "item/bow",
  "textures": {
    "layer0": "otherutilities:items/diamond_bow_pulling_1"
  }
}

diamond_bow_pulling_2.json:

{
  "parent": "item/bow",
  "textures": {
    "layer0": "otherutilities:items/diamond_bow_pulling_2"
  }
}

I have confirmed that all of the images in the items folder do in fact exist, but only diamond_bow_pulling_0.png loads.

Here is my BaseBow Class:

package com.Silver2040.OtherUtilities.items;

import com.Silver2040.OtherUtilities.OtherUtilities;
import net.minecraft.item.*;
import net.minecraft.util.ResourceLocation;


public class BaseBow extends BowItem {

    public BaseBow(int damage) {
        super((new Item.Properties()).group(OtherUtilities.TAB)
                .maxStackSize(1)
                .maxDamage(damage));


        this.addPropertyOverride(new ResourceLocation("pull"), (stack, world, entity) -> {
            if (entity == null) {
                return 0F;
            } else {
                if (entity.getActiveItemStack().getItem() instanceof BaseBow) {
                    return 0F;
                } else {
                    return (float)(stack.getUseDuration() - entity.getItemInUseCount()) / 20F;
                }
            }
        });

        this.addPropertyOverride(new ResourceLocation("pulling"), (stack, world, entity) -> entity != null && entity.isHandActive() && entity.getActiveItemStack() == stack ? 1F : 0F);

    }

    @Override
    public int getItemEnchantability() {
        return 10;
    }

    
    private boolean isArrow(ItemStack stack) {
        return stack.getItem() instanceof ArrowItem;
    }


}

 

And here is my DiamondBow class:

package com.Silver2040.OtherUtilities.items;

public class DiamondBow extends BaseBow {

    public DiamondBow() {
        super(800);
    }
}

 

To avoid spam and also because I don't think it's really needed, I haven't included the registry file or my main file but if needed I can provide it.

Again, the bow itself loads perfectly, everything works as expected, but the drawback only has 1 pulling frame which is diamond_bow_pulling_0.png 

Thank you in advance.

Edited by fracturx
Link to comment
Share on other sites

it does? what I mean is

    {
      "predicate": {
        "pulling": 1,
        "pull": 0.65
      },
      "model": "otherutilities:item/diamond_bow_pulling_1"
    },
    {
      "predicate": {
        "pulling": 1,
        "pull": 0.9
      },
      "model": "otherutilities:item/diamond_bow_pulling_2"
    }
  ]

pull is always 0 which < 0.65 and 0.9

Link to comment
Share on other sites

you misunderstood what I mean.

                if (entity.getActiveItemStack().getItem() instanceof BaseBow) {
                    return 0F;
                } else {
                    return (float)(stack.getUseDuration() - entity.getItemInUseCount()) / 20F;
                }
            }

change the 0F to 1F does not matter because what are you trying to do is to change the bow's model correspond to the bow's pulling duration (time pulled), which you've done that in the else statement. But the else statement is never going to be reached because the item you are holding is an instance of the custom bow class so it will always return the value in the if statement

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.

Guest
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.

 Share



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • 1.12 is no longer supported on this forum. Please update to a modern version of Minecraft to receive support.
    • This now falls in the support for legacy versions. If you google this you will find answers easily.
    • Installing the latest version of Forge 1.15.2(31.2.55), appears to install just fine but it crashes Minecraft on launch. The recommended version does not fully install ect. Images for context: https://imgur.com/end2JkU (recommended version) https://imgur.com/uMXsapx  (latest version) Here's what I've already tried - Re-installed java - Using a VPN - Deleted .minecraft and re-installed minecraft entirely - Tried other versions of minecraft forge eg; 1.13, 1.12, 1.17 and they all work. Here's the installer log for 1.15.2 (recommended): JVM info: Oracle Corporation - 1.8.0_251 - 25.251-b08 java.net.preferIPv4Stack=true Found java version 1.8.0_251 Extracting json Considering minecraft client jar Downloading libraries Considering library net.minecraftforge:forge:1.15.2-31.2.0 File exists: Checksum validated. Considering library org.ow2.asm:asm:7.2 File exists: Checksum validated. Considering library org.ow2.asm:asm-commons:7.2 File exists: Checksum validated. Considering library org.ow2.asm:asm-tree:7.2 File exists: Checksum validated. Considering library cpw.mods:modlauncher:5.1.0 File exists: Checksum validated. Considering library cpw.mods:grossjava9hacks:1.3.0 File exists: Checksum validated. Considering library net.minecraftforge:accesstransformers:2.1.1-shadowed Downloading library from https://maven.creeperhost.net/net/minecraftforge/accesstransformers/2.1.1-shadowed/accesstransformers-2.1.1-shadowed.jar java.io.FileNotFoundException: https://maven.creeperhost.net/net/minecraftforge/accesstransformers/2.1.1-shadowed/accesstransformers-2.1.1-shadowed.jar at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source) at net.minecraftforge.installer.DownloadUtils.download(DownloadUtils.java:146) at net.minecraftforge.installer.DownloadUtils.download(DownloadUtils.java:134) at net.minecraftforge.installer.DownloadUtils.downloadLibrary(DownloadUtils.java:123) at net.minecraftforge.installer.actions.Action.downloadLibraries(Action.java:79) at net.minecraftforge.installer.actions.ClientInstall.run(ClientInstall.java:108) at net.minecraftforge.installer.InstallerPanel.run(InstallerPanel.java:428) at net.minecraftforge.installer.SimpleInstaller.launchGui(SimpleInstaller.java:170) at net.minecraftforge.installer.SimpleInstaller.main(SimpleInstaller.java:143) Caused by: java.io.FileNotFoundException: https://maven.creeperhost.net/net/minecraftforge/accesstransformers/2.1.1-shadowed/accesstransformers-2.1.1-shadowed.jar at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.net.HttpURLConnection.getResponseCode(Unknown Source) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source) at net.minecraftforge.installer.DownloadUtils.getConnection(DownloadUtils.java:203) at net.minecraftforge.installer.DownloadUtils.download(DownloadUtils.java:144) ... 7 more Considering library net.minecraftforge:eventbus:2.2.0-service Downloading library from https://maven.creeperhost.net/net/minecraftforge/eventbus/2.2.0-service/eventbus-2.2.0-service.jar java.io.FileNotFoundException: https://maven.creeperhost.net/net/minecraftforge/eventbus/2.2.0-service/eventbus-2.2.0-service.jar at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source) at net.minecraftforge.installer.DownloadUtils.download(DownloadUtils.java:146) at net.minecraftforge.installer.DownloadUtils.download(DownloadUtils.java:134) at net.minecraftforge.installer.DownloadUtils.downloadLibrary(DownloadUtils.java:123) at net.minecraftforge.installer.actions.Action.downloadLibraries(Action.java:79) at net.minecraftforge.installer.actions.ClientInstall.run(ClientInstall.java:108) at net.minecraftforge.installer.InstallerPanel.run(InstallerPanel.java:428) at net.minecraftforge.installer.SimpleInstaller.launchGui(SimpleInstaller.java:170) at net.minecraftforge.installer.SimpleInstaller.main(SimpleInstaller.java:143) Caused by: java.io.FileNotFoundException: https://maven.creeperhost.net/net/minecraftforge/eventbus/2.2.0-service/eventbus-2.2.0-service.jar at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.net.HttpURLConnection.getResponseCode(Unknown Source) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source) at net.minecraftforge.installer.DownloadUtils.getConnection(DownloadUtils.java:203) at net.minecraftforge.installer.DownloadUtils.download(DownloadUtils.java:144) ... 7 more Considering library net.minecraftforge:forgespi:2.1.2 File exists: Checksum validated. Considering library net.minecraftforge:coremods:2.0.3 File exists: Checksum validated. Considering library net.minecraftforge:unsafe:0.2.0 File exists: Checksum validated. Considering library com.electronwill.night-config:core:3.6.2 File exists: Checksum validated. Considering library com.electronwill.night-config:toml:3.6.2 File exists: Checksum validated. Considering library org.jline:jline:3.12.1 File exists: Checksum validated. Considering library org.apache.maven:maven-artifact:3.6.0 File exists: Checksum validated. Considering library net.jodah:typetools:0.8.1 File exists: Checksum validated. Considering library org.apache.logging.log4j:log4j-api:2.11.2 File exists: Checksum validated. Considering library org.apache.logging.log4j:log4j-core:2.11.2 File exists: Checksum validated. Considering library net.minecrell:terminalconsoleappender:1.2.0 File exists: Checksum validated. Considering library net.sf.jopt-simple:jopt-simple:5.0.4 File exists: Checksum validated. Considering library com.github.jponge:lzma-java:1.3 File exists: Checksum validated. Considering library com.google.code.findbugs:jsr305:3.0.2 File exists: Checksum validated. Considering library com.google.code.gson:gson:2.8.0 File exists: Checksum validated. Considering library com.google.errorprone:error_prone_annotations:2.1.3 File exists: Checksum validated. Considering library com.google.guava:guava:20.0 File exists: Checksum validated. Considering library com.google.guava:guava:25.1-jre File exists: Checksum validated. Considering library com.google.j2objc:j2objc-annotations:1.1 File exists: Checksum validated. Considering library com.nothome:javaxdelta:2.0.1 File exists: Checksum validated. Considering library commons-io:commons-io:2.4 File exists: Checksum validated. Considering library de.oceanlabs.mcp:mcp_config:1.15.2-20200515.085601@zip File exists: Checksum validated. Considering library net.md-5:SpecialSource:1.8.5 File exists: Checksum validated. Considering library net.minecraftforge:binarypatcher:1.0.12 File exists: Checksum validated. Considering library net.minecraftforge:forge:1.15.2-31.2.0:universal File exists: Checksum validated. Considering library net.minecraftforge:installertools:1.1.4 File exists: Checksum validated. Considering library net.minecraftforge:jarsplitter:1.1.2 File exists: Checksum validated. Considering library net.sf.jopt-simple:jopt-simple:4.9 File exists: Checksum validated. Considering library net.sf.jopt-simple:jopt-simple:5.0.4 File exists: Checksum validated. Considering library net.sf.opencsv:opencsv:2.3 File exists: Checksum validated. Considering library org.checkerframework:checker-qual:2.0.0 File exists: Checksum validated. Considering library org.codehaus.mojo:animal-sniffer-annotations:1.14 File exists: Checksum validated. Considering library org.ow2.asm:asm-analysis:6.1.1 File exists: Checksum validated. Considering library org.ow2.asm:asm-commons:6.1.1 File exists: Checksum validated. Considering library org.ow2.asm:asm-tree:6.1.1 File exists: Checksum validated. Considering library org.ow2.asm:asm:6.1.1 File exists: Checksum validated. Considering library trove:trove:1.0.2 File exists: Checksum validated. These libraries failed to download. Try again. net.minecraftforge:accesstransformers:2.1.1-shadowed net.minecraftforge:eventbus:2.2.0-service
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.