#Blocks General

1 messages · Page 4 of 1

white bobcat
#

Same answer

edgy ledge
#

Until today, I thought the 16 x 16 x 16 limit was still in place. When did that end?

jagged lily
#

some point

edgy ledge
#

Whenever it was, I am glad it happened

white bobcat
#

Selection and collision boxes still 16x16x16

junior flame
#

Wdym structure clipped?

#

Oops that was lowkey ages ago

thorny pond
# junior flame Wdym structure clipped?

I meanlike how a "waterlogged" block is actually just represented as water in the same place as another block, thus using structure editing, any 2 blocks can be placed inside one another

white bobcat
#

That no longer works

junior flame
#

Also pretty sure one block hitbox was disabled when you did that

novel mantle
#

Is there a bug with queued ticking? Mine is still ticking even though I set looping to false.

exotic latch
#

Is it possible to nab the text on a sign using scripts?

#

Even better would be the command inside a command block

white bobcat
#

That is a question you should ask in #1067535382285135923

haughty compass
#

Question: Without exp mode or api in stable can I have a custom block run/have a particle? ie a fireplace have fire

celest gulch
#

So I can't add blockshape stairs to a custom block? Even if it's replica vanilla block?

haughty compass
#

I so wish I could use water blockshapes. They are epic.

#

Question: Do we have custom block inventories yet?

haughty compass
#

Is it coming soon?

vestal marsh
#

🤷

haughty compass
#

What about firing a particle can they do that yet?

#

Just trying to figure out which entities to convert to blocks.

#

I have some fire places, but they would be lame without fire particles

novel hedge
#

Is there any way I can interact with the block so that when the player interacts, a text message appears?

#

In the player chat, is there a command for this

lone matrix
#

1.20 version stairs to make how did mulit collsion??

white bobcat
vestal marsh
haughty compass
red sky
#

Not stable

haughty compass
#

Any idea the version of stable it will release in?

vestal marsh
haughty compass
#

Sad

woven robin
#

hi there, is it possible to make the block not solid simulating water but not using the collision box to manage it?
the reason for that is because I want to create a custom fire, the problem is that removing the collision box will stop triggering the on_step_on event which I use to apply the player damage, if I let a few height in collision box to allow it trigger the block seems weird acting like a slab...

white bobcat
#

That seems like overcomplicating your task

#

I recommend you using execute if block instead of on_step_on either from the block or a function. Get rid of the selection box with the selection box component.

woven robin
#

but execute if block runing as a command from the block?

white bobcat
#

Can be, or from the player, as you wish

woven robin
#

I was using something similar from block, with queued_ticking but the idea was to use this custom fire as a kind of spell in my server and it would generate lots of fire field, with the commands running was generating too much lag, so I had to remove it
from the player I never tried, will check how could it work

white bobcat
#

A function running on tick.json

#

It should not be laggy

celest grail
#

Hello, please tell me how to make a combination method for me: like a block interacts with an entity?

white bobcat
#

Open a post and explain with detail what you want to make. Take in consideration things such what type of interaction you want your block to make with the entity.

celest grail
#

Ready

celest gulch
#

Can I q.block_state a custom statement representing bones in the geometry json? Attempting miniblocks using slabs vertical states but also using statements for l1 l2 r1 r2 states on a block face. Sorry trying to type up stuff on work break. Maybe this is the wrong approach to tackle this problem. But looking at the slabs template gave me inspiration.

white bobcat
#

I don’t quite understand your question

celest gulch
# white bobcat I don’t quite understand your question

Sorry, I'm very new to this. So in the template for a slab, the json says q.game_state: minecraft:vertical_placement.

This is a built in state for minecraft.

Can I q.game_state: custom:statename

And use that to determine the bones of a geometry.

I'm trying to engineer a way to make miniblocks, using slab mentality.

white bobcat
celest gulch
#

Lemme double check, I may have some confusion.

celest gulch
#

Wow that was dumb, you literally query a custom state in the same line...

#

Oof

#

It already q.blockstate on the vertical placement. I want to split the vertical placement into 4 sections, maybe q1,q2,q3,q4. Making a slab actually 4 mini blocks. Making a block, 8 mini blocks.

#

I keep seeing entity based mini blocks, and most miniblocks have features I'm not interested in. I don't need sitting features, or for the miniblock to be placed in the center of a block. If there is a simpler way to make a mini BLOCK then I'm all ears lol.

white bobcat
#

You cannot do that, as it is a vanilla block trait which checks if the block was placed in the upper or bottom side of a block. You can however create your own block states and query them on your block permutations

celest gulch
stone hedge
#

can i make it so that the faces that are not visible dont get rendered because i made a block and when i fly into a pile of it every face is still there and i think its gonna impact performance

white bobcat
#

Use minecraft:unit_cube. If is a custom geometry you’ll have to create your own version of face culling with molang, permutations and material instances

celest gulch
haughty compass
#

Question: How do I control the sound dampening of a custom block?

haughty compass
#

I got multi textures to work with custom geo's by accident but I dont understand the logic. I simply made 4 blocks all using the same texture (which has many variations textures) and each of the 4 had a different textures variations in game (even on different custom geos). It would make sense if they change texture when I rotated them a different directions because it might be using the blocks permutations. But they don't. They stay that texture. Doesnt' make sense yet.

white bobcat
#

Sorry, what is your issue or/and question?

haughty compass
#

We couldn't get texture variations to work on custom geos. While doing something else it did work. I just don't understand how or why or how to control it.

white bobcat
#

What method you used or think you used?

haughty compass
#

Material_instance to terrain_texture to texture variations.

#

The only thing different in my custom blocks vs when it failed. Is I added the rotations cardinal directions and permutations

white bobcat
haughty compass
#

I made 4 custom blocks and got 4 different texture variations from 1 terrain texture. But I don't understand how it works.

#

It has to be something buggy with the permutations. But could allow me to setup multi textures if I can figure out the logic

white bobcat
haughty compass
#

That doesnt' explain how it's working on my custom geos when we couldn't get it to work before

white bobcat
#

If it is using material instances and the texture is getting randomized, that means that the texture variation is not comming from terrain texture

haughty compass
#

I used wood. Where else would it come from?

white bobcat
#

What?

#

Can you show me your block file and the texture in terrain texture?

haughty compass
#
    "wood": {
        "textures": [
            "textures/blocks/log_oak",
            "textures/blocks/stripped_oak_log",
            "textures/blocks/log_spruce",
            "textures/blocks/stripped_spruce_log",
            "textures/blocks/log_birch",
            "textures/blocks/stripped_birch_log",
            "textures/blocks/log_jungle",
            "textures/blocks/stripped_jungle_log",
            "textures/blocks/log_acacia",
            "textures/blocks/stripped_acacia_log",
            "textures/blocks/log_big_oak",
            "textures/blocks/stripped_dark_oak_log"
        ]
    }
}```
#
    "minecraft:block": {
        "description": {
            "identifier": "olctd:wall_c_b_block",
            "menu_category": {
                "category": "construction"
            },
            "traits": {
                "minecraft:placement_direction": {
                    "enabled_states": [
                        "minecraft:cardinal_direction"
                    ],
                    "y_rotation_offset": 180
                }
            }
        },
        "components": {
            "minecraft:destructible_by_mining": {
                "seconds_to_destroy": 5
            },
            "minecraft:destructible_by_explosion": {
                "explosion_resistance": 30
            },
            "minecraft:geometry": "geometry.wall_c_a",
            "minecraft:material_instances": {
                "*": {
                    "texture": "wood",
                    "render_method": "opaque"
                }
            },
            "minecraft:map_color": "#ffffff",
            "minecraft:flammable": {
                "burn_odds": 0.5,
                "flame_odds": 1
            },
            "minecraft:collision_box": {
                "origin": [
                    0,
                    0,
                    0
                ],
                "size": [
                    0.5,
                    0.5,
                    0.5
                ]
            }
        },
        "permutations": [
            {
                "condition": "q.block_state('minecraft:cardinal_direction') == 'north'",
                "components": {
                    "minecraft:transformation": {
                        "rotation": [
                            0,
                            0,
                            0
                        ]
                    }
                }
            },
            {
                "condition": "q.block_state('minecraft:cardinal_direction') == 'west'",
                "components": {
                    "minecraft:transformation": {
                        "rotation": [
                            0,
                            90,
                            0
                        ]
                    }
                }
            },
            {
                "condition": "q.block_state('minecraft:cardinal_direction') == 'south'",
                "components": {
                    "minecraft:transformation": {
                        "rotation": [
                            0,
                            180,
                            0
                        ]
                    }
                }
            },
            {
                "condition": "q.block_state('minecraft:cardinal_direction') == 'east'",
                "components": {
                    "minecraft:transformation": {
                        "rotation": [
                            0,
                            -90,
                            0
                        ]
                    }
                }
            }
        ]
    }
}```
#

Format 1.20.30

#

I duplicate this custom block 4 times, change identifier, geo shape. Then spawn in game and get 4 custom geos with 4 different textures

white bobcat
#

and it is placing random textures on the block

haughty compass
#

yes but the same one for each block. NOT random each placement. All blocks are the same. But each different custom block has a differnet texture

#

I though maybe it's using the permutatiosn but I assumed if it was changing the rotation ie.. the permutation would change the texture. But it doesn't. I guess since no event is firing maybe it doesnt' update.

white bobcat
#

I don't quite understand that last message you sent

#

I will try this on my end

haughty compass
#

I just made a wall strait, corner, roof... and each one had a different texture. Even thought all used the same texture.

white bobcat
#

ah, understood

haughty compass
#

I'd never develop this way but decause I'm making an entire house out of custom blocks I didn't do any texturing per block I assigned them all 1 default texture while I made the blocks. Which is the only reason I found this

white bobcat
#

Effectively, the texture is not randomized.

#

Are you defining the texture of wood in blocks.json?

#

for your custom block

haughty compass
#

no using it out of terrian texture. unless it's already define in blocks. Which it's vanilla so should be.

#

On a side note. I got my entire house done but the front door. Can I do an interactive door with stable without api?

white bobcat
#

Can you show an image or video of it setting its texture randomly? Because I am trying your exact code, and after fixing it by adding it a format version (as the file you provided is missing of it) it does not rotates the texture.

haughty compass
#

Did you make many blocks?

white bobcat
white bobcat
haughty compass
#

So it worked when I made different custom blocks using the same texture wood.

#

Not 1 custom block placed many times

white bobcat
#

That... makes no sense

haughty compass
#

Each of the different blocks got a different texture.

#

I know

#

I made a house of 10 blocks used 1 terrain texture and got alot of different textures in game.

#

Like I said I don't understand how. I was just being lazy and didn't want to texture them yet. I expected all 10 to be the same texture. But they werent'. Which is why I brought it up here.

#

I was streaming it on discord but didn't record it.

white bobcat
#

Can't help you with something like that, sorry.

haughty compass
#

Were you able to replicate it or am I crazy?

white bobcat
#

Unable to replicate

haughty compass
#

hmm, I'll see if I can record it. Thanks for your time.

#

Any thoughts on this one #1067876948858118185 message

#

Now that I built my house I notices some audio damponing going on. when I'm inside vs outside the house. I was curious if we can adjust that

#

So some blocks, block sound more than others

#

Wasn't sure if it was maybe part of the vibration system

white bobcat
#

You can't really control the level of a sound comming from a block if it comes from blocks.json as far as I remember

haughty compass
#

Is coming from and going through the same things? I'm playing to audio by commands at a location. Crickets. Then I walk in side and its muffled. It works ok now. I was just thinking it would be cool to make a sound proof room and other stuff if there was an option for sound dampaning.

white bobcat
#

If you are running the sounds using commands you can define the level of it

haughty compass
#

Sure, I'd like to change how a block in-between the player and sound generation spot dampens that sound level.

white bobcat
#

I won't say that intelligence comes from the block but the sound. Ask in #1067870133328027730.

haughty compass
# white bobcat I don't think you can detect interacting with a block without experimental, so n...

Here is how I did it. Works pretty well. I think I can use this method on most blocks to make them "interactive" and it removes most the block limits. I could spawn a entity block for the animations then the block door on end of animations to get fancy. But this is a simple solution for stable without apis. The disadvantage is you need a item or a trigger. I'm using a key to open and sneak to close. https://discord.com/channels/523663022053392405/1169058369508749332

white bobcat
#

That sounds like a workaround. It is still impossible from the block

haughty compass
#

Yep

next pecan
#

where do you get all this info from?

oak ledge
#

That should be worked

haughty compass
#

Question: can the growth rate of weeping vines be controlled? They grow really fast.

jagged plaza
#

How can I add a bush that spawns around the world?🤔

primal roost
#

#1067869232395735130

prime smelt
#

I'm back to working on my every vanilla slab combination blocks... it is 1275 blocks...0
Here are a few I was testing the rotation-ability with...

#

I had way more, using other blocks, but it is like over 4000 blocks, so I decided, version one.. just vanilla slabs

white bobcat
#

I am assuming it doesn’t exactly works with vanilla slabs, or does it? Like, the first slab you place is the custom one or the vanilla one?

prime smelt
#

If you have the slabs, you can make the block

prime smelt
# white bobcat That is a very cool block! How does it works?

Kai... I am deciding on if the recipe should have a glue sheet or not... Right now, it would be, cook a slime block to make a goo block, then stonecutter it to make a bunch of goo sheets, like 16 or 32 or 64 and those are what glue the slabs together... instead of straight 2 slabs can make a block... What do you think?

white bobcat
prime smelt
#

I will probably go with the glue sheet.. So you can't do it too early game... you would need a blast furnace for the slime book, a stonecutter to make the sheets. And of course a slime block, that is 9 slime balls. So you gotta work for it a little.

white bobcat
#

Sounds fair

prime smelt
#

Kinda bummed that I have to keep it HCF for the on_interact and on_player_placing. I need to keep track of the orientation, because I allow the player to turn it, to get it facing the way they want. Maybe I should make a non-exp version too, where you just have to use the correct block face to get it positioned correctly, no turning or tracking... It is a simple block... I need to work out the formulas for flame, destroy time, etc...

winter elk
oak ledge
#

I need to know something about blocks and script together, can I ask here or in #add-ons ?

jagged plaza
#

How can I fix this? My block is not showing good in the hotbar🤔

novel mantle
#

out of curiosity can someone explain the 65,536 block permutation limit and is it a big deal to go beyond that limit?

red sky
#

Just a content log error

#

Doesn't break anything

#

Unless your on marketplace then there's a hard limit

main pond
#

I need some consultant

#

If 2 Addons adds the same block

#

With the same namespace

#

And the same everything, will that be a problem?

#

if a world loads the 2 mentioned addons at the same time?

winter elk
# main pond if a world loads the 2 mentioned addons at the same time?

Yes and no, depends really on what they do. What will happen is that the most recent add-on's block should replace the other. I have two packs on my realm, both are exactly the same except for the manifest files and updated block json. The second just overwrote the first is all.

white bobcat
#

Any reasons for "east_face": false in bone visibility does not hides all the adjacent bones?

#

It is just ignoring it and not hiding it... If I do the same with any of the bones inside the east_face bone, it works just fine. I prefer 1 line over 9 though... So yeah, thoughts?

novel hedge
#

You can create blocks equal to conduits and Enchantment Tables that have an entity floating above the block

novel hedge
#

how do I fix this bug

#

the blocks are gone, but the 3d blocks are normal

#

No error log

#

I don't know what it could be

primal roost
#

are u sure theres no errorlog?

winter elk
# novel hedge I don't know what it could be

Could be something wrong in the block's json file. Maybe a component needs to be updated, the version could be wrong for what you are using, there could be misplaced { } somewhere.

prime smelt
#

No, only one will be used. It is like 2 packs having a player.json.... only one will be used.

white bobcat
#

Read for neighboring blocks using the molang query and test for the water tag. Define a position (four positions should be defined, which are the cardinal directions) and one block below in Y. If true, do nothing, if false, destroy the block. Do this only for blocks with your custom state for growth in its default value, that way said logic is not applied to already grown blocks.

#

That should be easy enough compared to the block you are asking for right now

#

What item the player had in its mainhand when clicking?

#

Use q.is_item_name_any in your condition for minecraft:on_interact

#

q.is_item_name_any('slot.weapon.mainhand',0,'namespace:your_item_name')

#

Make what random?

#

Ah, that. Easiest way that comes to my mind currently is using the randomize

#

I don’t think so, no

vestal marsh
#

You mispelled minecraft

white bobcat
#

That was hard to see

#

That is in the event

#

That is what I told you to do lol, but anyway glad you got it

#

No worries, you’re good 👍

#

I don’t think it will, but try it and see

white bobcat
#

Use minecraft:light_dampening to fix that

#

If the model is below 0 in Y, that can cause the issue too

#

The texture should be what is cropped

winter elk
#
        "*": {
          "texture": "custom_crop_0",
          "render_method": "alpha_test",
          "face_dimming": false,
          "ambient_occlusion": false
        }```
When I did my crop tutorial with Provedule, this is how we did our material instances.

Are both of your set to false @zinc wyvern
#

Copy mine, and see if it fixes it

#

No problem 😁 Glad to help

west rover
#

you can try search on mcpedl and look how other people they made the blocks

#

you can try search on mcpedl and look how other people they made the blocks

celest gulch
#

Wait so plantables don't use ageable like breedables? Why would you need randomness here? Sorry if dumb question, just trying to understand

winter elk
# celest gulch Wait so plantables don't use ageable like breedables? Why would you need randomn...

No, ageable stuff is used for entities because you can grow them and is an event specific to them. Blocks are not like entities in that way, instead the creator has to mimic the event in some way to represent growth. You can do it using a ticking event and various permutations, creating fake stages. So like after a specific or random amount of time, (depending on how your events are set up) a specific block state would be selected, possibly with a new material instances or geometry to represent growth.

As for randomness with bone meal, not every crop would need it, but if you wanted to make a block act like a sapling where bone meal doesn't necessarily cause growth everytime, then you could. Say for example, your sapling grows into a tree at block state 5 and the player bonemeals it at state 1. You could use a weighted sequence event to randomly select a higher state (2-5) if you like.

#

Here is an example that Provedule and I made that illustrates how a crop would be made, including the bonemealing part 😉

#

Are you asking about loot tables?

#

Oh, that might be a scripting thing, I don't know a way to change that through components or anything. I would possibly ask there

#

This might help @zinc wyvern

#

Yeah scripting is rough... I still don't get it 😅 I personally would skip that and work with specific loot tables and events, but that's just me

white bobcat
#

Nope

winter elk
#

So loot tables are what a block or entity drops upon death or destruction, but they can also be called using events in your block.

So let's say you want to get a carrot from your carrot block when a player taps on it while holding a hoe. You can do that using the loot component that drops a specific loot table that has a carrot in it.

The same can be done when a block is destroyed. You can even give a different amount of carrots depending on its growth state.

So what I meant was to find an alternative to pick clicking, unless you want the block to go to your hand like in creative mode. In which case, you would probably need to do something with scripting

winter elk
#

Gotcha, have you asked about pick blocking in scripting?

jagged plaza
#

Why my block looks like this? Its a bush made of It’s 2 planes🤔

#

I mean in the item bar

winter elk
# jagged plaza Why my block looks like this? Its a bush made of It’s 2 planes🤔

Sometimes that happens with blocks like flowers and grass. Personally I would create an item that places your bush. That way the players will see the item texture instead of the block model.

The other thing you could do is rotate the blocks geometry model, let's say 90° and see if it changes it. If it does, then add rotation block states to your bush to set it's rotation correctly upon placing

winter elk
#
        {
            "condition": "q.block_state('luna:block') == 0",
            "components": {
                "minecraft:material_instances": {
                    "*": {
                    "texture": "sieve",
                    "render_method": "alpha_test"
                    }
                }
            }
        },
        {
            "condition": "q.block_state('luna:block') == 1",
            "components": {
                "minecraft:material_instances": {
                    "*": {
                    "texture": "sieve_dirt",
                    "render_method": "alpha_test"
                    }
                }
            }
        },
        {
            "condition": "q.block_state('luna:block') == 2",
            "components": {
                "minecraft:material_instances": {
                    "*": {
                    "texture": "sieve_gravel",
                    "render_method": "alpha_test"
                    }
                }
            }
        }
        ],```
#

Yep, you just use different conditions and states like this

winter elk
#

No worries 😉

winter elk
#

Not that I can find at the moment.

Yeah the model might be a little difficult but it will be totally worth it 😊👍

Currently I am working on a sieve that has several textures, meshes, and states in which a block is pushed through but it will be cool once done. Here is an idea for you

#
            "identifier": "geometry.sieve",
            "bone_visibility": {
            "block_0": "q.block_state('luna:stage') == 1",
            "block_1": "q.block_state('luna:stage') == 2",
            "block_2": "q.block_state('luna:stage') == 3"
                }```
#

You can hide the candle using geometry and show it when a player interacts with one

#

You can also set a specific texture based on the candle like we talked about earlier

#

In the case of my sieve, the block being pushed is shown in 3 stages depending on its current block state or (push level)

#

You can create separate textures, shown here is just 2 separate textures. So for the cake with 16 candles, you could just make 16 textures and only change the candle color on each

#

It takes a little time but really not to bad

#

I know, the next best thing would be to add a separate material instances to a bone folder in your geometry file. The candle could then use the vanilla textures

#

I did a dev resource awhile back that explained how to do it but not sure how up to date it is 😅

#

#1074556326979575878 message

#

Here you go

#

Like I said though, some things may not be current but it should give you a good idea at least @zinc wyvern

#

Does what?

#

Like the texture being 8x8 instead of 16x16 @zinc wyvern ?

#

Oh I getcha... Hmm Probably the best thing would be to make each slice a different bone

#

Basically the folder is the bone, or what is hidden or show when using bone visibility in your geometry component.

#
            "identifier": "geometry.sieve",
            "bone_visibility": {
            "block_0": "q.block_state('luna:stage') == 1",
            "block_1": "q.block_state('luna:stage') == 2",
            "block_2": "q.block_state('luna:stage') == 3"
                }```
#

So here in my sieve example, if the block state "luna:stage" is set to 1 then the biggest block is shown. If it is 2, then the smaller block is shown and so forth. Basically you are toggling them on and off based on events

#

Yes

#

Yeah I believe so

#
                "luna:block": [0,1,2],
                "luna:stage": [0,1,2,3]
            }```
#

So here are my sieve states so far

#

Notice that I have 0 as an option for the stages but I don't use it in the geometry component right?

#

The textures will need to be edited to include the new parts

#

Yeah, I got lost a little too, sorry about that. So what are you wanting to know specifically

#

Are you talking about the air gap between it and the block below?

#

Oh

#

It's because that part of the cake is slightly lower in height

#

Yep

#

@zinc wyvern would you like to have a copy of my sieve file for reference with your block?

#

Looks right at first glance

#

"1.20.20" are you using this version of the block?

#

It's saying that you may not be allowed to use that query in your block geometry, the >= thing possibly

#

Did you set the block states in the description?

#
    "minecraft:block": {
        "description": {
            "identifier": "luna:sieve",
            "menu_category": {
                "category": "items"
            },
            "states": {
                "luna:block": [0,1,2],
                "luna:stage": [0,1,2,3]
            }
        },```
#

Your missing "states"

#

It's the old way, states are the new way, not properties for 1.20

#

Try looking here

#

Switch slice 7 to == 0 and see if it changes

#

I know it's okay, just giving ideas, let me take a few minutes and see if I can figure it out

#

Oh change block property to block state

#

In the geometry

#

"block_2": "q.block_state('luna:stage') == 3"

#

Yeah like this

#

Yeah

#

Hmmm... Let me think

#

Does the block show up at all?

#

Remove the y, it's a typo block_statey

#

No problem, let me edit the one you sent me

#

What does this do? Maybe need to update old components

#

Okay, I will take a look

#

Remove each component then try

#

Those 3 components, I know we will add them back, just a test

#

This is the updated component list.

#

I know it and I agree with you about 1.18 things stopped working in that version.

#

Geometry was one thing that changed for example

#

Yeah, the error is saying that the version doesn't match the queries

#

Block state is 1.20

#

Properties are 1.18

#

Use 1.20 states

#

The components need to be changed too

#

These

#

I know, you are good in states now, your last errors here for for outdated components

#

Okay 👍

#

Still 1.20.20?

#

Yeah switch block property to block state

#

Yeah

#

Yep, just use the updated list I sent you

#

It's working now?

#

What's it doing

#

That's usually because there is a typo in the texture name

#

Nice! That's awesome

#

That's fantastic, sorry about the confusion but glad you got it

#

It's okay, you are learning

#

Take some time, you will improve and get it 😉

#

I am gonna go get something to eat but I will check back in a little bit

#

Friction component does that

#

Try removing it

#

Nice ☺️

#

Yep changed name, and no worries, I wanted to help 😁

#

My sieve.txt has an item drop event

#

You can also using normal ticking with specific values instead of random

#

Yep

#

You would just need to create a loot table to go with it

#
  "on_tick": {
    "event": "wiki:example_event",
    "target": "self", // Optional - 'self' is default (targets block)
    "condition": "q.block_state('wiki:boolean_state_example')" // Optional
  }
}
#

This is the example on the wiki. Try removing the interval range and see what happens

#

It's based on tick speed if you are doing random ticking. Let's say your world is set to 1 then it will be really slow, where as 300 is really fast

#

What's your world tick speed?

#

That is strange, got an idea

#
  "randomize": [
    {
      "weight": 1, // 1/4 chance
      "set_block_state": {
        "wiki:my_state": true
      }
    },
    {
      "weight": 3, // 3/4 chance
      "trigger": {
        "event": "wiki:my_entity_event",
        "target": "other"
      }
    }
  ]
}
#

Yep, I would try that. It should slow things down a lot

#

Got to go, but chat later if you need help 😉

winter elk
#

Yeah that's the way I would choose too

#

May be a bug

winter elk
#
                "sequence": [
                    {
                        "condition": "q.block_state('luna:stage') == 0",
                        "decrement_stack": {}
                    },```

@leah.plyn  yes you got to use decrement_stack in an event like in my sieve
#

@zinc wyvern

#

Lol no worries, are you familiar with wiki.bedrock.dev by chance?

You can learn all sorts of cool stuff there about coding in minecraft

winter elk
#

Here you go

#

No problem

winter elk
#

You could have an event trigger the execute command and check for multiple sides of the block at the same time and then run an event if successful.

I don't thinks so about combining but you can assign different bones a specific texture if you want using material instances, that link to dev resources talks about it

winter elk
#

The closest thing I can think of is to make your overall model and texture but make it to where both bones are hidden at first. Once the player interacts with the block with one part, it shows up. After interacting again, the whole bone shows up completing the texture @zinc wyvern

main pond
#

Is it intended behavior that custom block is rotated backward (SW-ish) in the inventory slot?

winter elk
#

I believe so

main pond
#

Hmm

#

Without ScriptAPI, can we make a conditional run command base on q.block_state?

#

different blockstate run differen command (trigger by the same event)

#

Or pass the q.block_state as arg in the run command

#

Nvm, I figure it out

winter elk
#

Good deal, I am glad you got it 👍

Otherwise, I would use a sequence event like this

                "sequence": [
                    {
                        "condition": "q.block_state('luna:stage') != 3",
                        "play_sound": {
                        "sound": "block.composter.fill",
                        "target": "self"
                        }
                    },
                    {
                        "condition": "q.is_item_name_any('slot.weapon.mainhand', 'minecraft:dirt')",
                        "trigger": {
                        "event": "luna:dirt",
                        "target": "self"
                        }
                    },
                    {
                        "condition": "q.is_item_name_any('slot.weapon.mainhand', 'minecraft:gravel')",
                        "trigger": {
                        "event": "luna:gravel",
                        "target": "self"
                        }
                    }
                ]
            },```

Or trigger an event that runs the execute command to sort things out
main pond
#

Is execute if block [cardinal_direction] with custom block broken?

waxen canyon
#

Guys, is there a way to change the jumo height of the slime block WITHOUT experimental features? Or even create a new block that behaves like a slime block? (again, w/o EF)

primal roost
winter elk
#

You can combine some like "q.block_state('candle:color') == 1 && q.block_state('candle:placed') == 1"

I think that's how it goes anyway, you can try it out

#

Yeah

#

&&

#

Sounds good 😊 You are learning quite a bit

#

Well you might try "!q.is_item_name_any()"

#

Multiple interactions link to a sequence event with conditions.

I believe so

#
                "sequence": [
                    {
                        "condition": "q.block_state('luna:stage') == 0",
                        "decrement_stack": {}
                    },
                    {
                        "condition": "q.block_state('luna:block') == 0",
                        "set_block_state": {
                        "luna:block": 2
                        }
                    },
                    {
                        "condition": "q.block_state('luna:stage') == 0",
                        "set_block_state": {
                        "luna:stage": 1
                        }
                    },
                    {
                        "condition": "q.block_state('luna:stage') == 1",
                        "set_block_state": {
                        "luna:stage": 2
                        }
                    },
                    {
                        "condition": "q.block_state('luna:stage') == 2",
                        "set_block_state": {
                        "luna:stage": 3
                        }
                    },
                    {
                        "condition": "q.block_state('luna:stage') == 3 && q.block_state('luna:block') == 2",
                        "trigger": {
                        "event": "luna:gravel_reset",
                        "target": "self"
                        }
                    }
                ]
            },```
#

Take a look at the sieve file I sent you, good examples 😉

#

Got to head to work but I will check back latwr

#

I believe so

#
                        "condition": "q.is_item_name_any('slot.weapon.mainhand', 'minecraft:dirt')",
                        "trigger": {
                        "event": "luna:dirt",
                        "target": "self"
                        }
                    },```
#

Trigger an event in an event,

Very good 😊

#

😅 No worries, I try to help if I can and want people to succeed. I struggled a lot when I first started too and there are still things I still don't get, like scripting lol

#

You are almost there

#
    "pools": [
        {
            "rolls": 1,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:dirt",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "set_count",
                            "count": {
                                "min": 1,
                                "max": 1
                            }
                        }
                    ]
                }
            ]
        }
    ]
}```
#

Yes but they go quick, copy and paste and just change the item 👍

#

True, but blocks like this can be very repetitive. If it makes you feel a little better, I am going to have well over 32 loot tables for my sieve when it's all said and done . I think it's kind of relaxing

winter elk
#

|| is or

#

So you just got the loop error?

#

What does your event look like?

#

Oh good I will check

#

My longest file had about 1300 lines, so no problem

white bobcat
#

You don't need one state for each candle by the way. That should help you simplifying your file

winter elk
#
                    "condition": "!q.is_item_name_any('slot.weapon.mainhand','minecraft:flint_and_steel', 'minecraft:blue_candle', 'minecraft:black_candle', 'minecraft:yellow_candle', 'minecraft:white_candle', 'minecraft:red_candle', 'minecraft:purple_candle', 'minecraft:pink_candle', 'minecraft:orange_candle', 'minecraft:magenta_candle','minecraft:brown_candle', 'minecraft:lime_candle', 'minecraft:light_gray_candle', 'minecraft:cyan_candle', 'minecraft:gray_candle', 'minecraft:green_candle', 'minecraft:light_gray_candle', 'minecraft:light_blue_candle') && q.block_state('candle:placed') != 0",
                    "trigger": {
                        "event": "eat",
                        "target": "self"
                        }
                },
                {
                    "condition": "!q.is_item_name_any('slot.weapon.mainhand','minecraft:flint_and_steel', 'minecraft:blue_candle', 'minecraft:black_candle', 'minecraft:yellow_candle', 'minecraft:white_candle', 'minecraft:red_candle', 'minecraft:purple_candle', 'minecraft:pink_candle', 'minecraft:orange_candle', 'minecraft:magenta_candle','minecraft:brown_candle', 'minecraft:lime_candle', 'minecraft:light_gray_candle', 'minecraft:cyan_candle', 'minecraft:gray_candle', 'minecraft:green_candle', 'minecraft:light_gray_candle', 'minecraft:light_blue_candle') && q.block_state('candle:placed') != 0",
                    "trigger": {
                        "event": "eat",
                        "target": "self"
                        }
                },```
#

Looks like your are repeating an event condition here too

white bobcat
#

Add 16 bones for the candles in the model, with a different material instance in blockblench. This way you are defining your texture and which bone to show with just material instance and geometry component

#

You should feel motivated to improve your code imo

#

If you'd like to get the same results in less lines, now you know how

winter elk
#

You have done a lot, and it's all part of the process. You are gonna have those moments but you are almost done and it will be cool and worth it 😉

#

As for what @white bobcat Said, there are always ways that you can simplify is what He is saying, try to find what works and work with that. If you can simplify great if not at the moment, perhaps later

#

You can undo it?

#

I got to head back, but just try different stuff and see what works and what doesn't, kaioga can help too or others. You got this

#

Oh, I think I see it! You have 2 light gray candles

#

Oh that too lol

#

Sure you can, it just makes it crunchier

#

Teasing you 😅

#

Once you get everything working, I would simply like kai said

#

Good, save a copy in case you want to simply so you have the original

#

So everything is working now?

winter elk
#

Take a break, it's alright to come back later

#

Remember, it wasn't always super simple for us, we just tried, failed, and learned

#

Those are the most common

small ravine
#

Anyone knows how to fix Block Menu Category has an invalid value of commands?
I use

{
    "format_version": "1.20.20",
    "minecraft:block": {
        "description": {
            "identifier": "nubs:load_block_windmill_farm_1",
            "menu_category": {
                "category": "commands"
            }
        },

in my block

winter elk
#

I did find this though, putting the is_hidden_in_commands argument

small ravine
winter elk
#

Yes that as well 👍 @small ravine

small ravine
#

And they don't show up in inventory!

winter elk
small ravine
#

As I expected (good)

winter elk
#

👏😁

#

Good deal

winter elk
#

Not at the same time but you can use permutations with block states to switch out the ticking component when needed

#

Or you can use random ticking and normal ticking at the same time I believe

red sky
#

Believe me when I say that's very short

red sky
#

You can't do a condition

winter elk
#

I would do it without neighbor block.
With your ticking sequence event, add a run command event that triggers an execute command to look for the water. If water is not found, then the execute command will destroy the block.

Probably be easier anyway

main pond
#

Is it possible to make block animation like in entity?

winter elk
winter elk
main pond
#

Probably those behaviors are hardcoded

winter elk
#

Experiment, you will find something that works for you 😉

white bobcat
#

What doesn’t?

green anvil
#

how can I solve this

vestal marsh
winter elk
#

If you are using on use on inside a block, it won't work. That event is meant to be used inside an item's json instead of the block.

white bobcat
#

You use block components in blocks, item components in items, and entity components in entities. Confusing on that will result in errors

white bobcat
#

Set target to self

white bobcat
#

It will, but not as much as you could think

#

I think is acceptable, yes

#

Excellent job

#

Glad you managed to get it to work!

main pond
#

Is there a way to make block collision box bigger than 16*16

#

I have a custom block that geo are bigger than 16 *16 and the outline is really annoying

#

I just need to expand the collision to fit the geo

#

U sure?

#

I remember someone use something like transform to make a 128 * 128 collision box

desert vector
white bobcat
vestal marsh
#

You cant, use sceipting

winter elk
#

Execute command works well to to auto destroy torches

winter elk
#

/execute if block ~ ~1 ~ air run say air

#

You can use it in conjunction with an event to look for air if you want

white bobcat
#

Is the only workaround to test for air without scripting

winter elk
#

Yep

white bobcat
#

You can

#

in the same event, you can have more than one event key, run_command is just one of them

winter elk
#

So you could just run a condition sequence event that triggers another sequence event that fires both the command and decrement. If I understand what you are asking

#

You may have misunderstood what we were saying, let me make an example

white bobcat
#

Hey Leah, side note, please try to send your texts in a single message to avoid flooding the channel. Try to do this everytime is possible 😊

#

May I know exactly what you are trying to do?

#

Upon placement, test if there is air above with /execute if block, if true, do nothing, if false, destroy the block.

#

Elaborate

#

use my own example

#

So only do decrement stack if there is no air above?

#

It should be dropped at ground using my example, so you could pick it up again

winter elk
#

You may not like it, but it works 😕

white bobcat
#

Then you can combine what I told you with a setblock command to re-place the block with a block state in a specific value, use queued_ticking in the permutations of said block state to run the decreament stack key once.

winter elk
#

Does it have to use math.floor?

white bobcat
#

You could use block_face to get the same results

#

q.block_face == 1.0

winter elk
#

That's good 😊

white bobcat
#

Excellent job!

winter elk
#

Looks nice

#

You might be able to edit the bee json to include your block

white bobcat
#

That behavior could be recreated from the entity file of the bee

winter elk
#

As to what kaioga said earlier too, it might be more helpful to include all of your messages in one message instead of 7. It will be easier to read and keep up with 👍

#

I know, ☺️ just a suggestion lol, it's okay.

oak totem
#

A friend shared it with me

#

true

#

ah, Veka submitted this meme xd

oak totem
#

there xd

#

eh?

#

only the stage is that color

sterile eagle
#

What

sterile eagle
#

You guys should move to #off-topic

uneven tangle
#

Do you mean that you want to make the selection box length of your plant larger than 16 squares?

novel hedge
#
  "looping": true,
  "interval_range": [20, 20], // Two values (in ticks) which will be randomly decided between to determine delay duration.
  "on_tick": {
    "event": "wiki:example_event",
    "target": "self", // Optional - 'self' is default (targets block)
    "condition": "q.block_state('wiki:boolean_state_example')" // Optional
  }
}

How do I know how to increase the tick?

#

Like 20, 20 are what

#

How do I make it faster or slower

#

Someone explain to me

uneven tangle
sacred fjord
winter elk
# novel hedge How do I make it faster or slower

You can also change the interval rate at which the event will take place. For example 20 20 means that the event will trigger in 1 sec where as 100 200 would mean the event will trigger somewhere between 10 and 20 seconds

novel hedge
#

20, 20 Is it 100 seconds?

#

I'm confused on the part where I make the tick slower or faster

#

Slower serious 10, 10 and faster 50,50?

desert vector
#

[20, 20] means it will be every 20 ticks
[20, 30] means it will take 20 to 30 ticks

to convert ticks into seconds do ticks ÷ 20
to convert seconds into ticks do seconds × 20

novel hedge
#

How it works to set the speed

desert vector
#

higher value = more time between event triggers

novel hedge
#

?

desert vector
winter elk
#
  "looping": true,
  "interval_range": [20, 20], 
  "on_tick": {
    "event": "wiki:example_event",
    "target": "self"
  }
}```

So here we see a basic set up for ticking.

Interval range is the time frame in which the component will trigger the event "wiki:example_event".  In this  case [20,20].  Time in Minecraft is based on ticks. And 20 ticks is equal to about 1 real life second.  So this event will activate in a range of 1 to 1 real life second.
novel hedge
winter elk
#

If it was [20,60] it would activate every 1-3 seconds

novel hedge
#

I need to know how to make it very fast and very slow

winter elk
#

Ah gotcha let me see

novel hedge
#

And that?

winter elk
#

[12000,12000] is every 10 minutes and [200,200] is 10 seconds

novel hedge
#

thanks bro

#

thank you very much

#

That's all I needed to be clarified

winter elk
#

Yes essentially, if you need anything else, just ask 😉 Sorry it took so long as I am at work

mellow carbon
#

how?

#

is it the old transformation thing?

trail scroll
#

"carried_textures" don't work on custom blocks, I have to make a separate item for it.

trail scroll
mellow carbon
#

didn't get it

#

but how it got about 3px extra selection box?

#

wasn't it about the same height as normal blocks?

#

16x16x16 for wheat?

novel hedge
#

Can someone help me

#

Why is this code giving a loaded data error?

#

Block rotation settings not working

#

Someone help me

#
{
  "format_version": "1.19.50",
  "minecraft:block": {
    "description": {
      "identifier": "hiro:illager_head_hr"
    },
     "properties": {
      "block:direction": [ 0, 1, 2, 3 ]
     },
    "components": {
 "minecraft:creative_category": {
        "category": "Items",
        "group": "itemGroup.name.skull"
      },
        "minecraft:destroy_time": 0.5,
      "minecraft:loot": "loot_tables/blocks/illagerhead_hr.loot_table.json",
    "minecraft:breathability": "air",
    "minecraft:geometry": "geometry.illager_head",
            "minecraft:material_instances": {
                "*": {
                    "texture": "illager_head_hr",
                    "render_method": "opaque",
                    "ambient_occlusion": false,
                    "face_dimming": false
                }
            }
        },
        "events": {
      {
       "setDirection": {
                "set_block_property": {
                    "block:direction": "(q.cardinal_facing_2d-2)"
                }
            }
       },
     "permutations": [
      {
                "condition": "q.block_property('block:direction') == 0",
                "components": {
                    "minecraft:rotation": [0, 0, 0]
                }
            },
            {
                "condition": "q.block_property('block:direction') == 1",
                "components": {
                    "minecraft:rotation": [0, 180, 0]
                }
            },
            {
                "condition": "q.block_property('block:direction') == 2",
                "components": {
                    "minecraft:rotation": [0, 90, 0]
                }
            },
            {
                "condition": "q.block_property('block:direction') == 3",
                "components": {
                    "minecraft:rotation": [0, 270, 0]
                }
            }
         ]
         }
  }
}
#

I would really appreciate it if someone helps me solve it

oak totem
#

use traits instead

oak totem
#

add "minecraft:on_player_placing"

novel hedge
#

Need this

#

How do I put it

oak totem
oak totem
# novel hedge How do I put it
"minecraft:on_player_placing": {
  "event": "wiki:example_event",
  "target": "self", // Optional - 'self' is default (targets block)
  "condition": "q.block_state('wiki:boolean_state_example')" // Optional
}```
novel hedge
#

I understood

#

But I don't know how to fit this into my code

#

I put it this way

novel hedge
#

And in the event it would be my setDirection

#

Would it be this

oak totem
#

dont add it if you dont need any condition

novel hedge
#
16:13:10[Json][error]-block_definitions | /storage/emulated/0/Android/data/com.mojang.minecraftpe/files/games/com.mojang/development_behavior_packs/Project expansion 1.3 - Behavior Pack | blocks/illager_head_hr.block.json | upgrade blocks/illager_head_hr.block.json | failed to parse file into a json document: Missing a name for object member.

16:13:10[Blocks][error]-block_definitions | /storage/emulated/0/Android/data/com.mojang.minecraftpe/files/games/com.mojang/development_behavior_packs/Project expansion 1.3 - Behavior Pack | blocks/illager_head_hr.block.json | Unexpected version for the loaded data
#

These errors appear

oak totem
#

why dont you use traits instead properties?

novel hedge
#

Wow, man, how do you give me a hard time with him?

#

I still showed you the codes and you ask about traits

oak totem
#

I'm asking you why you chose to use an old method instead of a new and more efficient one.

oak totem
winter elk
oak totem
haughty compass
#

Question: What should the collision be for custom stairs. 1 stair works great. But if I have a staircase, I have to jump up it.

winter elk
haughty compass
#

what is that?

winter elk
#

It would be 16 x 8 x 16 so 8 pixels high for the y value @haughty compass

haughty compass
#

so origin would be -8, 0, -8

winter elk
#

I believe so, it's been a while since I messed with slabs but sounds right

vestal marsh
#

You cannot

oak totem
#

only with entity

neon dome
#

Can anyone help me my custom sandbag block don't appear in the world or can't be spawn in with commands anymore knows why is this doing this ?

#

@winter elk

#

@oak totem

#

Okay

oak totem
#

thats from the manifest probably

neon dome
#

It say it big as a file

#

I mean words

#

Here

#

Ohh okay

red sky
#

Those are trash. Use bridge. or something.

winter elk
#

I am able to be pinged and I don't mind it, it's in my profile 😅

winter elk
# neon dome Here

So your json file has several errors in it and some things to note. If you don't mind, I am actually going to recommend a different way to create blocks for you and then I am going to point out some errors. Have you heard of Block bench?

#

Yes in general it is bad, in both of our cases, we were pingable so not to bad 👍

#

@neon dome So I went ahead and changed your block to the updated 1.20.20 version and switched out some stuff for you. Hopefully it works now ☺️ If it doesn't, let me know and we can take a look at it again.

I mentioned block bench earlier as a good solution for you, especially if you are already using programs to make your blocks. Block bench is up to date and builds your block's json accurately, I use it too at times. Give it a shot

sacred fjord
# winter elk

The block group is a string that is outside of minecraft:creative_category, in addition the friction cannot be 0. Also try changing the version to 1.16.100.

winter elk
#

Yeah that was one of several errors I found to

sacred fjord
#

The geometry doesn't seem to be valid either.

winter elk
#

No worries, try the new file I posted and see if it works 🙂 Block bench also has block wizard that will help create blocks if you like with the json

winter elk
#

No problem 😁

neon dome
#

But I did find a solution

neon dome
#

Yeah I don't know what went wrong

#

I scrapped the old code

winter elk
#

No worries, I didn't know if it would completely work as I just scrapped it together, but did you get something working @neon dome ? I have got to go to a meeting but I will be back at the house in maybe 3 hours or so and then I can help me

neon dome
winter elk
#

Huh... The json came up as valid when I just checked it. Did you get any error codes @neon dome 🤔

#

I am gonna put it into my pack now and try it

#

So I did a test, and the code I sent you works fine, I just switched the geometry and texture to one of my blocks

#

If you are comfortable with it, can you send me your addon here so I can test it for you?@neon dome

#

That's very kind of you ☺️❤️

#

Probably right, either that or it's not define in the blocks.json or the manifest file is wrong in some way

#

Oh gotcha... It does help if it is on. Yeah that sounds like a manifest error, but wouldn't know for sure unless we get our hands on the pack

#
    "format_version": 2,
    "header": {
        "name": "Sieve The Day",
        "description": "Sieve The Day Resource Pack",
        "uuid": "62d01705-af38-7ba9-f5f2-d9a9c4b29ef6",
        "version": [1, 0, 0],
        "min_engine_version": [1, 16, 0]
    },
    "metadata": {
        "authors": ["Ivyman1992"],
        "generated_with": {
            "blockbench_block_wizard": ["1.2.1"]
        }
    },
    "modules": [
        {
            "description": "Sieve The Day",
            "type": "resources",
            "uuid": "4c038108-a015-2e38-41a2-2f21ec30be34",
            "version": [1, 0, 0]
        }
    ]
}```
#

In case I am not on, this is what it to look like if the pack was generated with block bench @zinc wyvern

#

In case there is an error there.

The manifest file tells Minecraft what version your pack is playing in and and additional imports that it will need. The main thing is the min_engine_version and in regard to the error, making sure that the metadata section looks like mine.

Other then that, maybe the geometry or blocks.json depending on what the block is doing

#

That works too 😁 I do that as well except changing it's uuid

#

Right 👍

#

Mine was block bench, the rest of the code is edited by hand. I am not a fan of code generators because they often mess things up

#

Sometimes they do lol 🤣

#

I think once you get a template to work with, the rest is easy

#

Yep, and once you create one type of block, as long as you keep it, you will have a nice reference to copy and adjust

#

I agree, something to consider would be to create a tutorial for a specific part of it in Dev Resources. That is if you would like to help others learn

#

I think you have improved a lot on your cake, you got it working great, and it now looks great 😃👍 So if you had something in mind, like for example, how to make your block emit particles, or something niche then that's what I am referring to.

For example I made one on menu category awhile back
#1084031893776891915 message

#

You don't have too, but I am encouraging you to share your block and help others with specific things if you want

#

After I finish my sieve project, I was going to do the same

#

No worries, it's all right 👍 Messy, nah, but it could be simplified if you wanted. Just tossing ideas your way 😅 Trying to be a mentor of sorts lol

#

You are doing good

#

As for helpful, you never know, it may be just what someone is looking for

neon dome
#

I just woke up

winter elk
# neon dome I just woke up

No worries, I tested the code I sent you, everything works great. So I was wondering what your block was doing exactly and what content log errors do you have

neon dome
winter elk
#

Any errors? And you looked in the sandstone category?

neon dome
#

I did

#

It no where to be find in the game

neon dome
winter elk
neon dome
#

I sent you the file to you in Dms

gritty gyro
#

is it possible to make a block have a similar interaction to tallgrass? for instance, when you place a block where a tallgrass is, the block places on the tallgrass instead of above it like what normal blocks do.

winter elk
winter elk
gritty gyro
winter elk
#

Can you give me an example of what you are looking to do specifically? I am not sure I am following you @gritty gyro

gritty gyro
#

i already have a solution to this which was semi similar to your bone visibility solution, but the issue is that my solution involved entities which isn't optimal

#

entity geometry is much more lenient while block geometry has much more limitations on the bounds

#

but all i'm wondering is after ive waited for 2 major updates if anything changed on the basis of block customization in the realm of placement collision and such

winter elk
#

Ah gotcha, so you want to overwrite the block with a different one...

Nah collision and placement is still pretty much the same unfortunately. At the present the only thing I can think of in terms of block usage is to add an interaction event to the block that you want to overwrite. When you hit the block with another, it will be replaced with air, leaving room for your new block to be placed.

Other then that, scripting may be a possibility, but I don't know anything about scripting. Still you can do a lot of crazy things with it so maybe I would ask over there to be sure 😊 @gritty gyro

gritty gyro
winter elk
#

Me too, if it does, I wouldn't mind knowing the solution too. Wish I could help more with that one

gritty gyro
#

i saw tutorials on making liquid with scripting, but it definitely didn’t act like water

#

but i’m sure there’s something, if not, eventually there will be

winter elk
#

Some things might be easier to replicate then others, this may be an easy thing 🙂

#

Yeah I agree, we could use more to work with

gritty gyro
#

i was crossing my fingers that the liquid would be overplaceable

#

to add more context

winter elk
#

It wasn't?

gritty gyro
#

nope.

winter elk
#

Ah that's a bummer

#

I can see how your entity would work, but that's a lot to chain together

gritty gyro
#

that’s what i was linking in my head and that’s what makes me think that there’s nothing i can do, unless bedrock oss is made of mediocre devs, which i highly doubt lol

gritty gyro
winter elk
#

I am sure there is something, it may take a new creative approach to it, you never know. Still, I bet it can be done with scripting.

Oh that's fancy! Really cool

#

Anyway, let me know if you come up with something 😉

gritty gyro
#

sure, will do

magic glade
#

please help, the block does not turn

#

            "minecraft:on_player_placing": {
              "event": "aba:turn"
            },         

#

          "aba:turn": {
            "set_block_property": {
              "aba:direction": "(query.cardinal_facing_2d)"
            }
          },

#

            {
                "condition": "query.block_property('aba:direction') == 2",
                "components": {
                    "minecraft:rotation": [ 0, 0, 0 ]
                }
            },
            {
                "condition": "query.block_property('aba:direction') == 3",
                "components": {
                    "minecraft:rotation": [ 0, 180, 0 ]
                }
            },
            {
                "condition": "query.block_property('aba:direction') == 4",
                "components": {
                    "minecraft:rotation": [ 0, 90, 0 ]
                }
            },
            {
                "condition": "query.block_property('aba:direction') == 5",
                "components": {
                    "minecraft:rotation": [ 0, 270, 0 ]
                }
            }

#

            "properties": {
              "aba:direction": [ 1, 2, 3, 4, 5, 6 ],              
              "aba:properties_bag_loot": [ "closed", "open" ]
            }            
        },

winter elk
winter elk
magic glade
#

blocks

#

minecraft 1.20.41 reliz

#

@fickle trench

winter elk
#

1.20.20 / 1.20.30 would be the new ones. A few things change though, like block properties are now block traits, but things are simplified, not as lengthy, it's worth switching over

fickle trench
magic glade
fickle trench
magic glade
#

ок

worn lindenBOT
#
ivyman1992

why do you write in English?

winter elk
#

Oh gotcha, the translate command 😅 That's cool

magic glade
# winter elk Oh gotcha, the translate command 😅 That's cool

[Json][error]-block_definitions | /storage/emulated/0/Android/data/com.mojang.minecraftpe/files/games/com.mojang/behavior_packs/[АБА] | blocks/box_loot/bag_loot.json | upgrade blocks/box_loot/bag_loot.json | Final json version '1.20.30' failed to upgrade from document version '1.20.30'

#

/переводить перевод работает?

worn lindenBOT
#
aptembokapeb

does the translation work?

winter elk
#

Yes it works 👍 What that likely means is that you have outdated components/properties in your block. Take a look here and make sure everything is up to date

magic glade
#

😭

winter elk
#

It's okay, not much has changed, only a few things

magic glade
#

"menu_category": {
"category": "items"
}

#

"minecraft:geometry": {
"identifier": "geometry.example_block", // Geometry identifier from file in 'RP/models/entity' or 'RP/models/blocks' folder.
"bone_visibility": {
"wiki_bone": false, // Hide cubes in this bone
"conditional_bone": "q.block_state('wiki:example_state') == 3", // Molang expressions can conditionally set visibility
"another_bone": true // true is the default so has no effect.
}
}

magic glade
# winter elk It's okay, not much has changed, only a few things

[Blocks][error]-block_definitions | /storage/emulated/0/Android/data/com.mojang.minecraftpe/files/games/com.mojang/behavior_packs/[АБА] | blocks/box_loot/bag_loot.json | /storage/emulated/0/Android/data/com.mojang.minecraftpe/files/games/com.mojang/behavior_packs/[АБА] | blocks/box_loot/bag_loot.json | aba:bag_loot | components | permutation conditions only allow 'block_state' Molang queries

winter elk
#

It means that in your permutations section, you are likely still using 'block_property' and it needs to change to 'block_state' instead. @magic glade

#

"condition": "q.block_state('luna:block') == 1 && q.block_state('luna:plate') == 0 && q.block_state('luna:treasured') == 0 && q.block_state('luna:mesh_strength') == 0 && q.block_state('luna:mesh_type') == 0",

#

Like this

winter elk
#

Can you send your file here in .txt format? Like "my_block.txt"

winter elk
#

"condition": "query.block_property('aba:properties_bag_loot') == 'open' "

This needs to be

"condition": "query.block_state('aba:properties_bag_loot') == 'open' "

#

Also "minecraft:loot": "loot_tables/blocks/box_loot/bag_loot.json",needs to be under components, not properties

magic glade
# winter elk Also ```"minecraft:loot": "loot_tables/blocks/box_loot/bag_loot.json",```needs t...

[Blocks][error]-block_definitions | /storage/emulated/0/Android/data/com.mojang.minecraftpe/files/games/com.mojang/behavior_packs/[АБА] | blocks/box_loot/bag_loot.json | /storage/emulated/0/Android/data/com.mojang.minecraftpe/files/games/com.mojang/behavior_packs/[АБА] | blocks/box_loot/bag_loot.json | aba:bag_loot | components | minecraft:ticking | child 'minecraft:ticking' not valid here.

winter elk
#
  "looping": true,
  "interval_range": [20, 20], // Two values (in ticks) which will be randomly decided between to determine delay duration.
  "on_tick": {
    "event": "wiki:example_event",
    "target": "self", // Optional - 'self' is default (targets block)
    "condition": "q.block_state('wiki:boolean_state_example')" // Optional
  }
}

Right I forgot events changed too, it is now like this

magic glade
# winter elk ```"minecraft:queued_ticking": { "looping": true, "interval_range": [20, 20]...

[Scripting][warning]-[Watchdog] 149.614 ms script spike detected in behavior pack '§l§2[АБА]'

[Blocks][error]-Block name = 'aba:bag_loot' | Geometry Component bone_visibilities bone another_bone is invalid, in block aba:bag_loot

[Blocks][error]-Block name = 'aba:bag_loot' | Geometry Component bone_visibilities bone conditional_bone is invalid, in block aba:bag_loot

[Molang][error]-Block name = 'aba:bag_loot' | Error: query.block_state is making use of non-registered block state.

[Blocks][error]-Block name = 'aba:bag_loot' | Geometry Component bone_visibilities bone wiki_bone is invalid, in block aba:bag_loot

[Blocks][error]-Failed to find Block State wiki:axis in set_block_state

#

I already have a headache 🙁

fickle trench
# magic glade ок

Хотя я и сам иногда писал сообщения на этом сервере не на английском, но я делал это в отдельных обсуждениях где это никому не мешало.

fickle trench
novel hedge
#

because when there is entity.collision false

Interact doesn't work?

#

Is it possible to resolve this?

#

I wanted my block to not have an entity box but to be interactive

#

but it's not working

mellow carbon
#

that not a block component that's an entity thing
use ```py
"minecraft:collision_box": false

white bobcat
#

Hey, how does the "permutations" limit actually works?

#

I always thought that a block could only have a total of 64 block states; as it always broke the block if I exceeded that. However, it seems like that has been changed

mellow carbon
#

Huh?
does it means you exceeded that limit?

white bobcat
#

Correct

white bobcat
neat summit
#

Ok

white bobcat
#

In summary: 64 block states limit is not working as intended, making that in some cases, the limit is 32 instead.

faint glen
#

anyone know how to target behaviour block block in the makecode editor? in the education editon version?

desert vector
white bobcat
#

Let me explain you why. The 65536 limit is for the number of permutations in the world. In your provided example, you have 0 permutations, however it is important to note that you could indeed have 1048576 permutations (assuming you made the math right 😛)

white bobcat
#

Oh also, the 64 block states limit is because you can have a block with 64 working block states values (4*16) and if you exceed that, the added ones won’t work

desert vector
# white bobcat Oh also, the 64 block states limit is because you can have a block with 64 worki...

according to [this message](#1067876948858118185 message) that's because you've hit the limit of a single block's permutations (65536) however, according to the ms docs, the limit is about amount of permutations existing in the world. Based on your bug report, it seems like the limit kayla described is what's actually measured, not the amount of permutations placed in the world.

I might create an issue on the github because the ms docs aren't very clear about this

white bobcat
#

A limitation ought to be determined by its inherent attributes rather than speculative considerations. Receiving a content log error for 65536 permutations is nonsensical in a scenario devoid of permutations within any of the blocks.

#

Currently, the block checks how many possible permutations it can have based on the block states when it should simply check how many permutations the block has

raw minnow
#

By definition the permutations is all possible state combinations

desert vector
#

saying "possible" before permutations is redundant

white bobcat
#

I’m pointing out a definition that is not well made

raw minnow
#

The permutations field isn't declaring the permutations, just assigning particular ones (actually groups of them) to different components

white bobcat
white bobcat
#

That logic is well stated but too limiting. We need it to be changed.

raw minnow
#

If some state combinations are impossible, you need to model that appropriately

white bobcat
#

There are cases where you are simply not allowed to do so

raw minnow
#

I know your example from the report is artificial, but you would want to model that as an enum state instead of 20 booleans

white bobcat
#

Trust me. I simplified a block that could have more than 100 permutations defined to have 0 permutations and I’m still experiencing that issue

raw minnow
#

What goes in permutations is irrelevant, clearly the key needs to be named better

white bobcat
desert vector
#

a block cannot have 0 permutations. all blocks have at least one

raw minnow
#

Sure

desert vector
white bobcat
#

I don’t know how could I word this without an image… hm… give me a second

raw minnow
#

I would probably call it apply or something

white bobcat
#

How would you check for all neighboring blocks from your block in all possible directions?

#

(All possible directions equals 8, since only 8 blocks can be placed around your block)

desert vector
#

testing for 🟦 ?

🟦🟦🟦
🟦🟥🟦
🟦🟦🟦

white bobcat
#

I know the query and stuff. Skip that. Just go to the permutations and states part to see how would you do that logic

white bobcat
#

Not sure if I explained myself correctly

raw minnow
#

I'm not an expert with blocks, does that need to be cached as a state? Can you not put other queries like relative_block_has_any_tag or whatever in the condition field?

desert vector
#

the condition field of a "permutations" item is purely based on the block's current state values

white bobcat
#

Yeah, which limits a lot of things

raw minnow
#

So it's like how they nerfed entity properties, very epic

white bobcat
#

Haven’t worked with entities for a while because I fell in love with blocks

desert vector
# white bobcat Yeah, which limits a lot of things

they probably only used molang for the condition to make it easier to write, rather than something like this:

"condition": {
  "all_of": [
    { "state": "eg:hello", "operator": "==", "value": true },
    { "state": "eg:dye", "operator": "!=", "value": "yellow" }
  ]
}
white bobcat
#

What I want is for the bug I reported to be fixed (which is not exactly what we are talking here)

#

And based on the resolution we receive from that I’ll create the other bug report or not

raw minnow
#

I don't think it will change

#

Java's biggest block (redstone wire) has 16*3*3*3*3 = 1296 permutations, same system

#

It's just not designed for blocks with lots of states

white bobcat
#

The problem is the logic, is poorly made

#

How in the world I am allowed to have a block with 64 working states

#

With no errors

desert vector
#

the limit might be working correctly, just there's poor documentation and lack of an error message

white bobcat
#

If I am allowed to have that, I should be allowed to have 32 Boolean block states but I am not

raw minnow
#

Definitely should fix the error message

raw minnow
#

By states, you must not mean properties, right?

white bobcat
#

I mean a block with 4 block states with 16 values on each one

#

That works with no content log error and all states values can be read within permutations

#

If having a block with 4 block states and 16 values (which equals to 64 block states values in the same file) work, that means that 32 block states with 2 values each should also work

#

And that is the first issue, the one I am reporting

raw minnow
#

A block with say, 5 boolean values has these possible permutations:

00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111

A block with 6 boolean values has twice as many, 7 twice still, and so on

#

4 properties with 16 values is 65,536 combinations
32 properties with 2 values is 4,294,967,296 combinations
It may well be that you're allowed to have more combinations defined than exist in the world, but the second one definitely blows past even an additional limit

white bobcat
#

And I find that said logic should not work like that

#

I recently tried to make connectable blocks and experienced this issue… really frustrating

#

I simplified my block to the point of using no permutations and still got the issue

#

(Because with the logic, it has permutations)

desert vector
#

what do you mean by "no permutations"?

raw minnow
#

I don't know why you're just multiplying, it should be clear that
2 states with 3 values 00 01 02 10 11 12 20 21 22 is different from
3 states with 2 values 000 001 010 011 100 101 110 111

white bobcat
#

No permutations field

desert vector
#

the permutations still exist, you just aren't doing anything with them

white bobcat
#

Correct

#

I don’t want it to be like that

raw minnow
#

And the game still has to include that information when generating the network palette

#

If you don't need them, don't include them. If you do need them, they are going to bloat the palette

white bobcat
#

I hope they change it or at least, give us workarounds

white bobcat
raw minnow
#

Microsoft loves "user stories", if you can come up with a compelling use case I'm sure they'll come around

white bobcat
#

After I make my block public

#

But yes, really intrigued to see the resolution of this report

#

Hopefully either the logic changes or we get workarounds to not have to depend that much on states

raw minnow
#

I'll vote for it

white bobcat
#

Thanks!

winter elk
#

@white bobcat I get what your saying, 4 states with 16 values works, but 32 booleans with 2 do not and that no doubt is frustrating. Still I can't seeing it being fixed in the way you are mentioning. The reason being is that you can technically do what you like with the block using the 4 and 16 values.

I guess the question is really, do you have to have 32 booleans states, when less states can achieve the same? I am just trying to understand why you want it changed in the way you are asking

white bobcat
#

For example, when checking for neighboring blocks you want to be able to say “My block has a block in north and east, but not in west and south”. Doing that check within a single block state will make you unable to set that behavior, as it would only mark one of the blocks found, independently if it has more than one around or not.

winter elk
#

If you are testing just for the cardinal directions it can be done in one state, but if you are including the diagonals, then it would require two block state. Something like this is what I came up with. Is it closer to what you need? @white bobcat

#
//where as 0=none, 1=N, 2=S, 3=Both
“luna:blocks_ew”: [0,1,2,3]
//where as 0=none, 1=E, 2=W, 3=Both
“luna:blocks_ne_se”: [0,1,2,3]
//where as 0=none… ect
“luna:blocks_nw_sw”: [0,1,2,3]
//same idea

“luna:cardinal_blocks”: {
          “values”: { “min”: 0, “max”: 13 } 
        }
// Values 0-13 represent each cardinal block present ( n,s,e,w,ne,se,nw,sw,new,sew,ens,wns,none,all)
The same can be done with the diagonals```
#

So 4 states vs 2 states cardinal + diagonal which is not shown

#

Seems easier to keep up with then 32 states

white bobcat
winter elk
#

About the booleans?

white bobcat
#

I tried all ways that appeared in my head to simplify the block I am working with the most... still had to use the booleans

white bobcat
winter elk
#

How many placements are you checking for?

white bobcat
#

First of all, can't replace the cardinal checks with block straits; the block is an always check, not a check-on-place

#

I put em all in a single block state of 5 values and made my test as the following:

"kai:direction": "q.block_neighbor_has_any_tag(0, 0, -1, 'connected_glass') ? 'north' : (q.block_neighbor_has_any_tag(0, 0, 1, 'connected_glass') ? 'south' : (q.block_neighbor_has_any_tag(1, 0, 0, 'connected_glass') ? 'east' : (q.block_neighbor_has_any_tag(-1, 0, 0, 'connected_glass') ? 'west' : 'none')))"
winter elk
#

Could you use the execute command with ticking to constantly check for your blocks?

white bobcat
#

No, that would reset my block

winter elk
#

Gotcha

white bobcat
winter elk
#

So put simply, what exactly are you needing? I may not be following you

white bobcat
#

Basically a block that checks for all these combined positions

#
  • all cardinal directions, ne, nw, se, sw, up and down
#

I pretty much need 18 booleans block states

winter elk
#

Okay, let me think on this and see if there is anything I can come up with 🤔

white bobcat
#

Sure, thanks!

#

Here a better image

winter elk
#

So you don't want the diagonals right?

#

Just cardinals, y-1, y0, y1

white bobcat
#

No diagonals needed

#

That structure I added has the cardinals I am refering to

winter elk
#

Oh okay, I think I have an idea, I will write it up on break for you

white bobcat
#

Sounds good. Note that the ones with the same material/color are like that because they have to be that three

#

So, is either true if there are the three placed, or false if there are 2 or less

winter elk
white bobcat
#

Lovely ❤️
Thanks!

winter elk
#

No problem 😁

atomic marsh
#

anyone know what this means?

winter elk
#
          “values”: { “min”: 0, “max”: 13 } 
        }

// Values 0-13 represent each cardinal block present ( n,s,e,w,ne,se,nw,sw,new,sew,ens,wns,none,all)
//The cardinal values should only be true when it’s corresponding corner plane is unfilled. This means that your block may have a block to the east and west, but if the west block is part of a corner then only the east value would be set.

“luna:vertical_blocks”: [0,1,2,3]

// 0=none,1=top,2=bottom,3=both and only active if the shared plane corners are not fulfilled

“luna:ns_plane_corners”:  {
          “values”: { “min”: 0, “max”: 13 } 
        }

//tests for each corner shape on the NS axis, similar to testing for the cardinal directions, except with shapes instead. Each value would only be set if 3 blocks are present in each corner.

“luna:ew_plane_corners”:  {
          “values”: { “min”: 0, “max”: 13 } 
        }

//Do the same for the EW axis```

So it relies heavily on conditional molang and is tedious, but I believe that these states will be enough to do what you like as long as you are careful when writing up the conditions, what do you think?
@white bobcat
#

The planes are vertical as well, I didn't know if you needed the horizontal ones, but if you do then you will need to add one more corner plane representing the flat plane

#

If so, there would be 5 state checks

#
          “values”: { “min”: 0, “max”: 13 } 
        }```
#

All in all though, I see what you mean though about booleans. With this many values, I would prefer to be able to use 26 booleans to check for each block in a 3x3 cube versus 46 values 😅

#

It would also simplify things a lot because you wouldn't have a lengthy molang condition that tests for several blocks, but rather tests for one specific one

novel hedge
#
{
  "format_version": "1.18.0",
  "minecraft:block": {
    "description": {
      "identifier": "hiro:pure_concrete_powder_hr"
    },

    "components": {
      "minecraft:creative_category": {
        "category": "Construction",
        "group": "itemGroup.name.concretePowder"
      },
    "minecraft:on_interact": {
    "event": "interact"
      },
      "minecraft:destroy_time": 0.5,
      "minecraft:explosion_resistance": 0.1,
      "minecraft:loot": "loot_tables/blocks/decoration/pure_powder_hr.loot_table.json"
    },

        "events": {
     "interact": {
        "sequence": [
         {
          "condition":
"q.is_item_name_any('slot.weapon.mainhand', 'minecraft:potion_type:water')",
       "set_block": {
       "block_type": "hiro:pure_concrete_hr"
             }
           }
 ]
}

        }
   }
} ```
#

Can someone help me understand why it doesn't work?

winter elk
#

Off the top of my head, you are running a sequence event instead of a normal single event. Maybe switch that and see, you could also try setting the target if the event to self

#

You can also try ```"wiki:generate_stone_above": {
"set_block_at_pos": {
"block_type": "minecraft:stone",
"block_offset": [0, 1, 0]
}
}

#

You can also put the interact condition on the interact component as well

white bobcat
#

Not sure if I am explaining myself with this

winter elk
#

Yeah, single state logic for your block is impossible as long as you are tied to 16 values per state.

white bobcat
#

Exactly, and cases like this is why we need more than 16 working boolean states

white bobcat
#

unrelated, my head is blowing right now thanks to black and magenta texture on another block

#

in my terrain_texture.json:

"black_painted_planks": {
        "textures": "textures/blocks/planks/painted_planks/black_painted_planks"
          }```
#

In my blocks.json:

"kai:black_painted_planks": {
        "sound": "wood",
        "textures": "textures/blocks/planks/painted_planks/black_painted_planks"
    }
#

So, yes... why black and magenta texture?

neat summit
#

Any fix that prevents blocks to be "update blocks" when you remove "minecraft:unit_cube"?

white bobcat
#

Register them in blocks.json

desert vector
#

you either have to use geometry, unit cube or blocks.json. although it seems they're going to make unit cube the default in the future and remove the component

white bobcat
neat summit
#

yea well using transparent blocks, you can see the model and stuff freak out with a unitcube

desert vector
#

black_painted_planks

white bobcat
#

oh

#

Right, time to edit wiki then

desert vector
#

what does it say?

#

seems fine in the intro

white bobcat
#

let me recheck in case I misread

#

ah yes, I missread

#

Honestly, I would love if the "title" for block codes in wiki were of a vibrant color

#

Because currently is not noticable enough to not ignore it
RP/textures/terrain_texture.json

red sky
#

Damn quaz corrected you before I got a chance

white bobcat
#

I forgot that unit cube was always the cause for blocks to look smaller in the inventory

red sky
#

Ya

neat summit
#

placement filter seems buggy for me

red sky
#

How

neat summit
#

nvm

#

syntax changes

novel hedge
#

Can someone help me understand why it doesn't work?

#
{
  "format_version": "1.18.0",
  "minecraft:block": {
    "description": {
      "identifier": "hiro:pure_concrete_powder_hr"
    },

    "components": {
      "minecraft:creative_category": {
        "category": "Construction",
        "group": "itemGroup.name.concretePowder"
      },
    "minecraft:on_interact": {
    "event": "interact"
      },
      "minecraft:destroy_time": 0.5,
      "minecraft:explosion_resistance": 0.1,
      "minecraft:loot": "loot_tables/blocks/decoration/pure_powder_hr.loot_table.json"
    },

        "events": {
     "interact": {
        "sequence": [
         {
          "condition":
"q.is_item_name_any('slot.weapon.mainhand', 'minecraft:potion_type:water')",
       "set_block": {
       "block_type": "hiro:pure_concrete_hr"
             }
           }
 ]
}

        }
   }
} ```
white bobcat
#

You don’t have the minecraft:on_interact component just saw!

desert vector
white bobcat
#

You are looking for minecraft:potion

desert vector
#

i'm not sure if the molang query supports data values, but it would be minecraft:potion:0

white bobcat
#

Can we set transparent textures with blocks.json?

red sky
#

No

white bobcat
#

😔

#

So I guess the only stable way to create air-like blocks is with custom geometry?

desert vector
white bobcat
#

material instance without unit cube results in update block

desert vector
#

not if you define a texture in blocks.json

white bobcat
#

Let me see

#

Great! Glad we can make custom air without experimental (without geometry too)

vestal marsh
#

Wonder when unit cube will be depreacted

white bobcat
#

Soon™️

white bobcat
#

So, if any suggestions on how I could accomplish the same results without the boolean states, let me know here

white bobcat
trail scroll
#

how do I check the block property below my block?

#

like my custom block checks the block below it if it's an acacia planks?

white bobcat
#

You can use execute if block or give your block a tag based on the block state (property) it has in order to be able to check for it with q.block_neighbour_has_any_tag.

trail scroll
#

thank

#

s

novel hedge
novel hedge
white bobcat
white bobcat
primal roost
#

transparent texture

white bobcat
#

What?

wooden whale
white bobcat
wooden whale
#

yeah I've seen that bug. It's as designed, since 20 boolean states would exceed the permutations maximum.

white bobcat
#

That logic should either be reworked, or give users some workarounds to not make many things states-dependent

wooden whale
#

currently that's the limitation we have. we always look at ways to improve things but, as it stands, this is as-designed.

white bobcat
#

Why doesn't bone_visibility accepts more molang queries?

#

That is a way to improve, for example, instead of using block states and q.block_neighbour_has_any_tag, we could directly check them there... no need for block states.

#

I understand that it is not common to face an issue with this limit, but there are cases. Something like that would have helped me in the case I faced this limitation.

wooden whale
#

pretty sure we did add molang support for bone_visibility back in. or are you asking for more Molang support?

white bobcat
#

Im asking for more, yes. Currently it only accepts query.block_state

#

That limits bone_visibility's access to molang to block states, as is the only data that can be read within said field

wooden whale
#

What are you specifically trying to do?

white bobcat
#

I am trying to make a block that changes the way it looks with bone_visibility based on the neighboring blocks. I have to read for all this data, colors and/or materials are like that as they have to be combined to be true.

wooden whale
#

We are planning a "connected" block trait, which may help in this scenario.

white bobcat
#

Interesting. Any details in how that would work that you can mention?

wooden whale
#

nope 🙂 I'm going to let the engineers figure that out in their own time. But you can read-up on how block traits work today with the two we've already shipped.

white bobcat
wooden whale
#

understood. though overloading bone_visibility with more molang support is unlikely to bubble up in our priority list.

white bobcat
#

Good to know! Can't way to see that block trait and all the team has planned for block traits in the future

red sky
#

The current block traits are all rotation based. It's all what we could do before but still very useful since your not using on_player_placing

#

I imagine "connected" block trait to be like...

white bobcat
#

I do too, it'll be very interesting to use for sure

red sky
#
{
    "traits": {
        "minecraft:connected": {
         "enabled_blocks": ["minecraft:cobblestone"]
        }
       }
}
#

Wild Guess

#

Then the permutation can be like...

white bobcat
#

I guess all cardinal directions

red sky
#
{
    "condition": "query.block_state('minecraft:connected') == 'up'",
    "components": {
        "stuff_here"
    }
}
#

With how the current block traits are I don't see a way to test for block states

white bobcat
#

Something like that would definetly fix my problem with glass

#

Un-related but related question. Let's say I have two cubes in a geometry. Both of them are 16x16x16. Anyway we can decide which one will overwrite the other?

red sky
#

Overwrite eachother?

#

in what way

white bobcat
#

As in what texture will be shown based on the render methods and the texture itself

#

Let me make a visual of what I mean

red sky
#

ok

white bobcat
#

both cubes are the same values, but the glass texture is overwriting the other

red sky
#

um

white bobcat
#

one cube has the glass texture and the other has that blue bb texture

red sky
#

like there are two material instance permutations registered to same property state?

white bobcat
#

Sort of

#

You know how I am removing the borders or corners based on neighboring blocks?

red sky
#

ya

white bobcat
#

Well, I need to replace it, not simply remove it

#

replace said border or corner with another texture

#

Only way to accomplish that is with two cubes

red sky
#

um

#

I don't really know what you got going on lol

white bobcat
prime smelt
#

I was working in this with Kaioga, my version is pictured and I ran up against the same wall. Because only 16 of my 18 states work. From the picture, the tall wall is perfect, the one laying down, I cannot turn off those bones. If bone_visibility accepted q.block_neighbour_has_any_tag, as it should because it is molang, then our blocks, which btw, have no permutations in them, would not need the states at all, as Kaioga said. So it is not more molang that is needed, just everything related to a block. And there is nothing about block traits that can reproduce the blocks in the picture. @wooden whale

#

I am thinking a look-up table is built with every possible combination within a file and permutations are matched to it, so would be faster... So I can see the need for a limitation, as the lookup table and indexing can get out of hand.... but a file with no permutations section at all... maybe if it were possible to not include them in the lookup count. I still think the number of permutations that are actually in the file should just be counted and made into the lookup, after all, we cannot dynamically add permutations to a file. It is static and will never change.

uneven tangle
#

hello everyone!
Is there a maximum number of values ​​inside stats in the block's json file.

neat summit
#

next up is one for doors and stairs

#

then make it so custom blocks can be waterlogged

vestal marsh
white bobcat
#

We can't rotate indvidual faces of a cube without a custom geometry right?

#

(& without rotating the texture)

red sky
#

Yah

#

: (

white bobcat
#

Oh well

white bobcat
#

What do you guys prefer for a template?
1 texture and a geometry or
3 textures and no geometry

west rover
#

I'd go for 1 texture & a geo

white bobcat
#

Sounds good then 👍

west rover
white bobcat
#

To assing a state in bone_visibility you have to use q.block_state in the bone you want to apply it, for example:
"your_bone": "q.block_state('namespace:yourstate') == 0"

west rover
#

ohh okay, how does it enable and disable a bone through the events, that part im most curious about

sacred fjord
#

I added an alpha_test block, it only has 1 geometry but, when positioned, it changes the material_instances randomly. Does anyone know why the game crashes when this block is placed? I used randomize to apply the states

white bobcat
white bobcat
#

But is hard to tell without seeing the code.

sacred fjord
white bobcat
sacred fjord
white bobcat
#

No problem 👍

sacred fjord
white bobcat
#

Glad it worked

nova wolf
#

How do I make it so my glass doesn't drop an item unless it interacts with an item that is enchanted with silk touch?

desert vector
nova wolf
#

oh

zinc wyvern
#

where is the enchantment table code?

#

i wanna get the code for the book following the player

winter elk
# zinc wyvern where is the enchantment table code?

There is no code for it available to us. However if you want to recreate it, then you might make a block that summons the book as an entity. The entity will always look at the player and run an animation. Once the block is removed, so is the entity

white bobcat
#

Remember that vanilla blocks server side code is not publicly available.

rancid falcon
#

Does anyone how a detailed guide on bone visibility with molang, im trying to make a table but am stuck on how to use bone visibility.

trail scroll
#

I finally figured out how to fix the Failed to find material for ''. Did you forget to add the '*' material instance?

#

just add an extra material instance with a wildcard 😭

uneven tangle
#

hello everyone!
Can anyone help me?
How can I solve this problem? What is its cause?

white bobcat
#

You are probably scaling your geometry too much. May I see your transformation component?

uneven tangle
#

ok

#
"minecraft:transformation": {
  "translation": [0.0, 0.0, 0.0],
  "scale": [1, 2, 1]
      }
#

@white bobcat

uneven tangle
#

hello!

white bobcat
#

I would also need to see your geometry, but that is probably the reason. You may be trying to exceed the 30x30x30 limit with the component, which is not possible.

uneven tangle
white bobcat
#

Block geometries have a limit of 30x30x30, that means they can't be bigger than that. Your geometry does not seems to go beyond that limit, but with your transformation component you are trying to scale it to values that will make it go beyond that, which will result in error. I have not received the error you are showing, but im pretty sure it is reffering to what im saying you.

uneven tangle
white bobcat
#

The same logic will apply. If you want to make a block bigger than 30x30x30 you simply can't

#

You'll have to use more than one block in order to get the same results

#

Like beds and doors do

uneven tangle
#

Yes, I'm going to do it, so I do it

#

thank you

white bobcat
#

No problem!

uneven tangle