Jump to content

Block state json with submodels shows incorrect in inventory/hand?


Recommended Posts

Posted (edited)

I have a block that has 5 variants, each of which is a meant to be layered on top of the final block, depending on a BlockState property. In the actual world, this block works A-OK. However, there is a slight issue with the block when in your inventory.

 

2018-12-18_01_43_30.png.a13db39bd0f8359ec9df3b966ae57bfb.png

 

As you can see, the block is being rendered directly from the side, which is undesirable. Also, you can't see it in this screen shot, but the in-hand model is being rendered behind me.

 

I added display options to each composite model to rotate them, and if I put a single model in an item directly, it rotates correctly.

 

2018-12-18_01_46_18.png.59bfa0cf5312bcda1fea2e976b831a6b.png

 

Am I doing something wrong, or is this a bug?

 

One of the models: https://github.com/pkmnfrk/factorycraft/blob/1.12.2/src/main/resources/assets/factorycraft/models/block/boulder/0.json

The main blockstate json: https://github.com/pkmnfrk/factorycraft/blob/1.12.2/src/main/resources/assets/factorycraft/blockstates/iron_boulder.json

The test item in the second screen shot: https://github.com/pkmnfrk/factorycraft/blob/1.12.2/src/main/resources/assets/factorycraft/blockstates/test.json

 

In that last file, if you change the "inventory" variant to be the same as the "normal" variant, it breaks the same way (doesn't rotate)

 

Edit: Thinking about it, this would not be too difficult to avoid using sub models for (I could just make 5 models that roll up the different pieces), but I can foresee issues in the future for more complicated blocks that would make this a pain, so I would really like to understand this issue

Edited by pkmnfrk
Posted (edited)

Since you are already using forge blockstates you can just specify the transformation matrix directly in there. You are only specifying the rotation which... I am not even sure if you can specify it like that, don't you have to provide a quaternion? Or at least the angle and the Axes? Or if these are rotations for the axes then why are you rotating 90 degrees around the X one? And as you've discovered the rotation alone isn't enough.

In any case forge allows you to specify built-in transformation data, already pre-made for you. In your case the forge:default-block transform would do the trick. You can see an example here.

Edited by V0idWa1k3r
Posted

The rotation specified in the blockstate json was copied out of the model in a half-baked attempt to apply rotation to the entire model. I forgot to remove it before comitting.

 

Or, if you're referring to the model rotations, I'm going strictly by the Model format (https://minecraft.gamepedia.com/Model) and what the editor I'm using shows (https://blockbench.net/) which has so far been correct when I'm not using submodels.

 

I'll be honest, I don't know what a quaternion is, but I will look at your example and see if I can make sense of it.

Posted

Ok, the only thing you have that I don't is:

 

    "transform": "forge:default-block",
    "gui3d": true

 

Which doesn't seem to change anything when I put it into my block state.

 

To be clear, what I'm expecting is for the rotation in each model to be applied when the model is composited. I'm pretty sure the fact that it doesn't work (but it does if I reference a model directly) is a bug.

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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I deleted delightful and all farmers delight addon (just in case) and still i have the error :'(, i need to check mod by mod?
    • I'm developing a Forge mod for Minecraft 1.16.5 to run on CatServer (version 1.16.5-1d8d6313, Forge 36.2.39). My mod needs to get the player's UUID from a ServerPlayerEntity object within a Forge ServerChatEvent handler. When I use serverPlayerEntity.getUUID(), my mod compiles fine, but I get a java.lang.NoSuchMethodError: net.minecraft.entity.player.ServerPlayerEntity.getUUID()Ljava/util/UUID; at runtime. I cannot use serverPlayerEntity.getUniqueID() as it causes a compile error (cannot find symbol). Is there a known issue with this on CatServer, or a recommended way for a Forge mod to reliably get a player's UUID from ServerPlayerEntity in this environment? My goal is to pass this UUID to the LuckPerms API (which is running as a Bukkit plugin and successfully connected via ServicesManager). erorr ChatMod: FMLServerStartedEvent received. Attempting to initialize LuckPerms connection... [22:45:20] [Server thread/INFO]: ⚙️ Початок ініціалізації LuckPerms API через Bukkit Services Manager... [22:45:20] [Server thread/INFO]: ✅ Bukkit ServicesManager успішно отримано. [22:45:20] [Server thread/INFO]: ✅ Реєстрацію сервісу LuckPerms знайдено. [22:45:20] [Server thread/INFO]: ✅ API LuckPerms успішно отримано від Bukkit plugin! [22:45:20] [Server thread/INFO]: Використовується реалізація: me.lucko.luckperms.common.api.LuckPermsApiProvider [22:45:20] [Server thread/INFO]: ✅ LuckPerms API схоже що успішно ініціалізовано через Bukkit Services Manager. [22:45:24] [User Authenticator #1/INFO]: UUID of player Hiklee is 92cd7721-2652-3867-896b-2ceba5b99306 [22:45:25] [Server thread/INFO]: Using new advancement loading for net.minecraft.advancements.PlayerAdvancements@24cb7a68 [22:45:26] [Server thread/INFO]: Hiklee[/127.0.0.1:41122] logged in with entity id 210 at (92.23203876864889, 95.6183020148442, 68.24087802017877) [22:45:28] [Async Chat Thread - #0/INFO]: ✅ Скасовано стандартне відправлення чату! [22:45:28] [Async Chat Thread - #0/ERROR]: Exception caught during firing event: net.minecraft.entity.player.ServerPlayerEntity.getUUID()Ljava/util/UUID; Index: 1 Listeners: 0: NORMAL 1: ASM: class com.example.chatmod.ChatEventHandler onPlayerChat(Lnet/minecraftforge/event/ServerChatEvent;)V java.lang.NoSuchMethodError: net.minecraft.entity.player.ServerPlayerEntity.getUUID()Ljava/util/UUID; at com.example.chatmod.ChatPacketHandler.getPlayerPrefix(ChatPacketHandler.java:46) at com.example.chatmod.ChatEventHandler.onPlayerChat(ChatEventHandler.java:32) at net.minecraftforge.eventbus.ASMEventHandler_1_ChatEventHandler_onPlayerChat_ServerChatEvent.invoke(.dynamic) at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) at net.minecraftforge.eventbus.EventBus.post(EventBus.java:303) at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) at net.minecraftforge.common.ForgeHooks.onServerChatEvent(ForgeHooks.java:493) at net.minecraft.network.play.ServerPlayNetHandler.chat(ServerPlayNetHandler.java:1717) at net.minecraft.network.play.ServerPlayNetHandler.func_244548_c(ServerPlayNetHandler.java:1666) at net.minecraft.network.play.ServerPlayNetHandler.func_147354_a(ServerPlayNetHandler.java:1605) at net.minecraft.network.play.client.CChatMessagePacket.lambda$handle$0(CChatMessagePacket.java:34) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:750
    • Thank you so much for your help, I'll try it as soon as I can. I have a genuine question because I'm not familiar with the matter: Can a recipe error cause something as serious as the AMD error?
    • When i try to launch my modpack, the instance crashes and this is sent to the logs: Time: 2025-05-27 23:07:18 Description: Rendering overlay Below is the full log: https://mclo.gs/jP5G2EH
    • Make a test without delightful
  • Topics

×
×
  • Create New...

Important Information

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