mojira.dev
MCPE-181504

Components responsible for ticks in a custom block are not working correctly.

Components in the block such as: "minecraft:tick", "minecraft:queued_ticking", "minecraft:random_ticking" do not work correctly.
 
In my add-on, I created a block on version 1.20.81 and the block has "permutations", because the block model changes during interaction and I wanted to add something that would only apply to one of the types of this block. The "minecraft:queued_ticking" component was best for this, but I also wanted to add something that would be applicable to all types of this block, so I added "minecraft:queued_ticking" to the general components and noticed that the "minecraft:queued_ticking" component, which was in one of the block types it works, but the same component in the general block components no longer works at all.
Then I started testing and created what was supposed to be in one of the types of this block, I created what was previously in the events in the ".js" file and through the "minecraft:custom_components" component I made it work, but an error appeared in the game logs, that a "minecraft:tick" component was needed, so I added and set "interval_range: 1, 1" and noticed that "minecraft:queued_ticking", which was in the general components, started executing the event faster and it was set to "interval_range: 5, 100", so it should run slower.
 

Attachments

Comments 5

Please provide an example addon and a list of steps that can be followed using that addon to reproduce the issue.

I am sending an example addon with a cake with a lit candle

[media]

. The cake has a lit candle thanks to the event and the event is executed thanks to the "minecraft:queued_ticking" component, but I wanted the cake to be more similar to the one existing in Minecraft, so I wanted to make it so that when there is no other block under the cake, then the cake is destroyed . I created an event and added "minecraft:queued_ticking" to the general components of the cake and after I wanted to test it, I noticed that it didn't work, and when I removed the component responsible for particles, it started working.

 

(These are the general components of the whole cake.)

        "components": {
            "minecraft:loot": "loot_tables/empty.json",
            "minecraft:destructible_by_explosion": {
                "explosion_resistance": 0.5
            },
            "minecraft:destructible_by_mining": {
                "seconds_to_destroy": 0.75
            },
            "minecraft:light_dampening": 0,
            "minecraft:light_emission": 0,
            "minecraft:queued_ticking": {
                "on_tick": {
                    "event": "check_block"
                },
                "looping": true,
                "interval_range": [
                    0.1,
                    0.1
                ]
            }
        },

 

(These are the components of the one type of cake that has a lit candle.)

        "permutations": [
            {
                "condition": "query.block_state('cake:clslices') == 0",
                "components": {
                    "minecraft:geometry": {
                        "identifier": "geometry.cake1_candle_lit"
                    },
                    "minecraft:on_interact": {
                        "event": "cake:clslice11"
                    },
                    "minecraft:material_instances": {
                        "*": {
                            "texture": "example_cake",
                            "render_method": "alpha_test"
                        }
                    },
                    "minecraft:collision_box": {
                        "size": [
                            14,
                            8,
                            14
                        ],
                        "origin": [
                            -7,
                            0,
                            -7
                        ]
                    },
                    "minecraft:selection_box": {
                        "size": [
                            14,
                            8,
                            14
                        ],
                        "origin": [
                            -7,
                            0,
                            -7
                        ]
                    },
                    "minecraft:light_emission": 3,
                    "minecraft:light_dampening": 0,
                    "minecraft:queued_ticking": {
                        "on_tick": {
                            "event": "fire_candle"
                        },
                        "looping": true,
                        "interval_range": [
                            5,
                            100
                        ]
                    }
                }
            },

The problem is still there, but now I have created two different custom components that I need to have different ticks, not the same ones, and I can't do that because the minecraft:tick component doesn't tick one custom component, only all of them.

Okay, I guess it doesn't matter, because I solved my problem differently. I made it so that the appropriate ticks were executed in the script adding the custom component, and the minecraft:tick component with the interval_range entered without numbers must be there for the ticks that are in the script to work. So I guess it's solved.

 

Besides, in version 1.21 there are no events in blocks anyway, so this report is not needed since these things are no longer there.

EndiKM

(Unassigned)

Unconfirmed

Multiple

Windows 11, Android 14

queued_ticking, random_ticking, tick

1.20.81 Hotfix, 1.21.30.21 Preview, 1.21.3 Hotfix (PS4), 1.21.2 Hotfix

Retrieved