Uploaded image for project: 'Minecraft (Bedrock codebase)'
  1. Minecraft (Bedrock codebase)
  2. MCPE-167099

Custom Blocks are missing a function to set transparent metadata so they can be waterlogged

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • 1.19.60
    • None
    • Confirmed
    • Windows
    • 1112984

      Adding custom blocks is becoming a mainstream feature of Minecraft. Here is an omission in the block spec that allows for waterlogging a custom block. The developer has no way to set the "transparent" property in the metadata using a component. Here is a typical full block metadata from Mojang:

      {
            "id": 252,
            "displayName": "Concrete Powder",
            "name": "concrete_powder",
            "hardness": 0.5,
            "stackSize": 64,
            "diggable": true,
            "boundingBox": "block",
            "material": "dirt",
            "variations": [
              {
                "metadata": 0,
                "displayName": "White Concrete Powder"
              },
      (...)
              {
                "metadata": 15,
                "displayName": "Black Concrete Powder"
              }
            ],
            "drops": [
              {
                "drop": 252
              }
            ],
            "transparent": false,
            "emitLight": 0,
            "filterLight": 15,
            "resistance": 0.5
          }, 
      

      and here is a block you can waterlog:

       {
            "id": 205,
            "displayName": "Purpur Slab",
            "name": "purpur_slab",
            "hardness": 2,
            "stackSize": 64,
            "diggable": true,
            "boundingBox": "block",
            "material": "rock",
            "variations": [
              {
                "metadata": 0,
                "displayName": "Purpur Slab",
                "description": "Lower half"
              },
              {
                "metadata": 8,
                "displayName": "Purpur Slab",
                "description": "Upper half"
              }
            ],
            "harvestTools": {
              "257": true,
              "270": true,
              "274": true,
              "278": true,
              "285": true
            },
            "drops": [
              {
                "drop": {
                  "id": 44,
                  "metadata": 0
                }
              }
            ],
            "transparent": true,
            "emitLight": 0,
            "filterLight": 0,
            "resistance": 6
          }, 
      

      If we can query 'is_in_water' (example)

                          { 
                              "condition":"q.is_in_water",
                              "set_block_property":{
                                  "phantom:waterlogged": true
                              }
                          },
                          { 
                              "condition":"!q.is_in_water",
                              "set_block_property":{
                                  "phantom:waterlogged": false
                              }
                          }
      

      ...we should be able to do something with that easily in our permutations. I'm filing this as a bug because Minecraft is not just a game that takes place in air. 1/3 of the game is underwater. And you cannot place ANY custom underwater block without an air pocket surrounding it. unless you add server scripting dependencies and make some absolutely horrible looking code. Get this fixed before you take it out of experimental. Thanks you for your considerations.

      In summary, where is the missing spec "minecraft:transparent:{}," on custom blocks so they can waterlog?

            seeit360 Test Pattern
            Votes:
            6 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              CHK: