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

[Solved] [1.17.1] Is there are way to define a client only item state for client animation and other effects ?


Kaworru
 Share

Recommended Posts

Hi,

I created a simple steel lighter item, which has a item property "open" with "1.0" or "0.0" to display two different models, see:

https://github.com/MarkusBordihn/BOs-Steel-Armor-Tools-Weapons/blob/main/src/main/resources/assets/steel_armor_tools_weapons/models/item/steel_lighter.json

This works fine, but I want to change the state in the case the steel lighter is currently selected in the hotbar or not.

I tried the LivingEquipmentChangeEvent which offers exactly the needed functionality, see:

https://github.com/MarkusBordihn/BOs-Steel-Armor-Tools-Weapons/blob/main/src/main/java/de/markusbordihn/steelarmortoolsweapons/client/equipment/EquipmentChange.java

But it seems that the ItemStack from this event is different from the ItemStack which is used for the ItemProperties.register(...), even both should be client side only.

What I tried so far:

  • Using itemStack.getOrCreateTag().putBoolean(...) and itemStack.getOrCreateTag().getBoolean(...)
  • Using a hashmap with <itemStack, boolean>
  • Using a local variable (current version)

A debug of the hashmap with <itemStack, boolean> shows that the itemStack within the ItemProperties.register(...) is different from the itemStack in LivingEquipmentChangeEvent.

So I wonder if there is a alternative event / approach I could use in this case or any other client only item state which I could share between these two events.

Edited by Kaworru
Link to comment
Share on other sites

4 hours ago, diesieben07 said:

Check whether the LivingEntity you get is not null and if the ItemStack being rendered is == to LivingEntity#getMainHandItem.

Thanks. Works like a charm. 

Example for the record:

ItemProperties.register(ModItems.STEEL_LIGHTER.get(),
    new ResourceLocation(Constants.MOD_ID, "open"),
    (itemStack, clientLevel, livingEntity, id) -> {
      return (livingEntity == null || !itemStack.is(ModItems.STEEL_LIGHTER.get())
          || livingEntity.getMainHandItem().isEmpty()
          || itemStack != livingEntity.getMainHandItem()) ? 0.0F : 1.0F;
    });

 

Link to comment
Share on other sites

  • Kaworru changed the title to [Solved] [1.17.1] Is there are way to define a client only item state for client animation and other effects ?

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

    • by running the run.bat with this in it "java -Xmx3072M -Xms3072M -jar forgeserver.jar nogui PAUSE"
    • You have to download... what first?
    • 1.12 is no longer supported on this forum. Please update to a modern version of Minecraft to receive support.
    • I've been trying to install Forge version 1.12.2 to play a minecraft server with some friends but it is not working. I saw another post with the same issue as me; that being that a certain library will not install. The recommendation for that post was running the installer through CMD. I have tried that and am still getting the same error.   Logs JVM info: Oracle Corporation - 1.8.0_321 - 25.321-b07 java.net.preferIPv4Stack=true Found java version 1.8.0_321 Extracting json Considering minecraft client jar Downloading libraries Found 0 additional library directories Considering library net.minecraftforge:forge:1.12.2-14.23.5.2859   File exists: Checksum validated. Considering library org.ow2.asm:asm-debug-all:5.2   File exists: Checksum validated. Considering library net.minecraft:launchwrapper:1.12   File exists: Checksum validated. Considering library org.jline:jline:3.5.1   File exists: Checksum validated. Considering library com.typesafe.akka:akka-actor_2.11:2.3.3   File exists: Checksum validated. Considering library com.typesafe:config:1.2.1   File exists: Checksum validated. Considering library org.scala-lang:scala-actors-migration_2.11:1.1.0   File exists: Checksum validated. Considering library org.scala-lang:scala-compiler:2.11.1   File exists: Checksum invalid, deleting file:     Expected: 56ea2e6c025e0821f28d73ca271218b8dd04926a     Actual:   e36a29a94e39c5b4215e88a2bf5c044539cf3203   Downloading library from https://maven.minecraftforge.net/org/scala-lang/scala-compiler/2.11.1/scala-compiler-2.11.1.jar java.net.SocketTimeoutException: Read timed out     at java.net.SocketInputStream.socketRead0(Native Method)     at java.net.SocketInputStream.socketRead(Unknown Source)     at java.net.SocketInputStream.read(Unknown Source)     at java.net.SocketInputStream.read(Unknown Source)     at sun.security.ssl.SSLSocketInputRecord.read(Unknown Source)     at sun.security.ssl.SSLSocketInputRecord.readFully(Unknown Source)     at sun.security.ssl.SSLSocketInputRecord.decodeInputRecord(Unknown Source)     at sun.security.ssl.SSLSocketInputRecord.decode(Unknown Source)     at sun.security.ssl.SSLTransport.decode(Unknown Source)     at sun.security.ssl.SSLSocketImpl.decode(Unknown Source)     at sun.security.ssl.SSLSocketImpl.readApplicationRecord(Unknown Source)     at sun.security.ssl.SSLSocketImpl.access$300(Unknown Source)     at sun.security.ssl.SSLSocketImpl$AppInputStream.read(Unknown Source)     at java.io.BufferedInputStream.read1(Unknown Source)     at java.io.BufferedInputStream.read(Unknown Source)     at sun.net.www.MeteredStream.read(Unknown Source)     at java.io.FilterInputStream.read(Unknown Source)     at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)     at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)     at java.nio.file.Files.copy(Unknown Source)     at java.nio.file.Files.copy(Unknown Source)     at net.minecraftforge.installer.DownloadUtils.download(DownloadUtils.java:186)     at net.minecraftforge.installer.DownloadUtils.download(DownloadUtils.java:174)     at net.minecraftforge.installer.DownloadUtils.downloadLibrary(DownloadUtils.java:159)     at net.minecraftforge.installer.actions.Action.downloadLibraries(Action.java:89)     at net.minecraftforge.installer.actions.ClientInstall.run(ClientInstall.java:110)     at net.minecraftforge.installer.InstallerPanel.run(InstallerPanel.java:423)     at net.minecraftforge.installer.SimpleInstaller.launchGui(SimpleInstaller.java:175)     at net.minecraftforge.installer.SimpleInstaller.main(SimpleInstaller.java:147) Considering library org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2_mc   File exists: Checksum validated. Considering library org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2_mc   File exists: Checksum validated. Considering library org.scala-lang:scala-library:2.11.1   File exists: Checksum validated. Considering library org.scala-lang:scala-parser-combinators_2.11:1.0.1   File exists: Checksum validated. Considering library org.scala-lang:scala-reflect:2.11.1   File exists: Checksum validated. Considering library org.scala-lang:scala-swing_2.11:1.0.1   File exists: Checksum validated. Considering library org.scala-lang:scala-xml_2.11:1.0.2   File exists: Checksum validated. Considering library lzma:lzma:0.0.1   File exists: Checksum validated. Considering library java3d:vecmath:1.5.2   File exists: Checksum validated. Considering library net.sf.trove4j:trove4j:3.0.3   File exists: Checksum validated. Considering library org.apache.maven:maven-artifact:3.5.3   File exists: Checksum validated. Considering library net.sf.jopt-simple:jopt-simple:5.0.3   File exists: Checksum validated. Considering library org.apache.logging.log4j:log4j-api:2.15.0   File exists: Checksum validated. Considering library org.apache.logging.log4j:log4j-core:2.15.0   File exists: Checksum validated. Considering library org.apache.logging.log4j:log4j-slf4j18-impl:2.15.0   File exists: Checksum validated. These libraries failed to download. Try again. org.scala-lang:scala-compiler:2.11.1
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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