Jump to content

[1.9.4] Blockstate JSON Question


LogicTechCorp

Recommended Posts

See this page for an explanation of sub-models in Forge's blockstates format.

 

I also have an example of the format here. This is a BuildCraft-style pipe composed of two individual models: the centre cube and the side attachment. The cube is used as a base model and the side attachment is added as a sub-model rotated as necessary.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

Isn't that exactly what is described in the Sub-Models section of the blockstate documentation?

See this page for an explanation of sub-models in Forge's blockstates format.

 

I also have an example of the format here. This is a BuildCraft-style pipe composed of two individual models: the centre cube and the side attachment. The cube is used as a base model and the side attachment is added as a sub-model rotated as necessary.

 

I followed that but my model does not display correctly.

 

Forge Blockstate:

{
  "forge_marker": 1,
  "defaults": {
    "transform": "forge:default-block"
  },
  "variants": {
    "normal": [
      {
        "model": "nex:fingers_plant"
      }
    ],
    "north": {
      "true": {
        "model": "nex:fingers_plant_side"
      },
      "false": {
        "submodel": {
            "noside0": { "model": "nex:fingers_plant_noside", "weight": 6 },
            "noside1": { "model": "nex:fingers_plant_noside1" },
            "noside2": { "model": "nex:fingers_plant_noside2" },
            "noside3": { "model": "nex:fingers_plant_noside3" }
        }
      }
    },
    "east": {
      "true": {
        "model": "nex:fingers_plant_side", "y": 90, "uvlock": true
      },
      "false": {
        "submodel": {
          "noside4": { "model": "nex:fingers_plant_noside1", "y": 90, "uvlock": true },
          "noside5": { "model": "nex:fingers_plant_noside2", "y": 90, "uvlock": true },
          "noside6": { "model": "nex:fingers_plant_noside3", "y": 90, "uvlock": false },
          "nosid7": { "model": "nex:fingers_plant_noside", "weight": 6, "y": 90, "uvlock": true }
        }
      }
    },
    "south": {
      "true": {
        "model": "nex:fingers_plant_side", "y": 180, "uvlock": true
      },
      "false": {
        "submodel": {
          "noside8": { "model": "nex:fingers_plant_noside2", "y": 180, "uvlock": true },
          "noside9": { "model": "nex:fingers_plant_noside3", "y": 180, "uvlock": false },
          "noside10": { "model": "nex:fingers_plant_noside", "weight": 6, "y": 180, "uvlock": true },
          "noside11": { "model": "nex:fingers_plant_noside1", "y": 180, "uvlock": true }
        }
      }
    },
    "west": {
      "true": {
        "model": "nex:fingers_plant_side", "y": 270, "uvlock": true
      },
      "false": {
        "submodel": {
          "noside12":{ "model": "nex:fingers_plant_noside3", "y": 270, "uvlock": false },
          "noside13":{ "model": "nex:fingers_plant_noside", "weight": 6, "y": 270, "uvlock": true },
          "noside14":{ "model": "nex:fingers_plant_noside1", "y": 270, "uvlock": true },
          "noside15":{ "model": "nex:fingers_plant_noside2", "y": 270, "uvlock": true }
        }
      }
    },
    "up": {
      "true": {
        "model": "nex:fingers_plant_side", "x": 270, "uvlock": true
      },
      "false": {
        "submodel": {
          "nosidev0": { "model": "nex:fingers_plant_noside_v1", "x": 270, "uvlock": false },
          "nosidev1": { "model": "nex:fingers_plant_noside_v1", "x": 270, "y": 90, "uvlock": false },
          "nosidev2": { "model": "nex:fingers_plant_noside_v1", "x": 270, "y": 180, "uvlock": false },
          "nosidev3": { "model": "nex:fingers_plant_noside_v2", "x": 270, "uvlock": false }
        }
      }
    },
    "down": {
      "true": {
        "model": "nex:fingers_plant_side", "x": 90, "uvlock": true
      },
      "false": {
        "submodel": {
          "nosidev4": { "model": "nex:fingers_plant_noside_v1", "x": 90, "uvlock": false },
          "nosidev5": { "model": "nex:fingers_plant_noside_v1", "x": 90, "y": 180, "uvlock": false },
          "nosidev6": { "model": "nex:fingers_plant_noside_v2", "x": 90, "uvlock": false },
          "nosidev7": { "model": "nex:fingers_plant_noside_v2", "x": 90, "y": 90,  "uvlock": false }
        }
      }
    }
  }
}

 

Vanilla Blockstate:

{
  "multipart": [
    {"when": { "north": true },
      "apply": { "model": "nex:fingers_plant_side" }
    },
    {   "when": { "east": true },
      "apply": { "model": "nex:fingers_plant_side", "y": 90, "uvlock": true }
    },
    {   "when": { "south": true },
      "apply": { "model": "nex:fingers_plant_side", "y": 180, "uvlock": true }
    },
    {   "when": { "west": true },
      "apply": { "model": "nex:fingers_plant_side", "y": 270, "uvlock": true }
    },
    {   "when": { "up": true },
      "apply": { "model": "nex:fingers_plant_side", "x": 270, "uvlock": true }
    },
    {   "when": { "down": true },
      "apply": { "model": "nex:fingers_plant_side", "x": 90, "uvlock": true }
    },
    {   "when": { "north": false },
      "apply": [
        { "model": "nex:fingers_plant_noside", "weight": 6 },
        { "model": "nex:fingers_plant_noside1" },
        { "model": "nex:fingers_plant_noside2" },
        { "model": "nex:fingers_plant_noside3" }
      ]
    },
    {   "when": { "east": false },
      "apply": [
        { "model": "nex:fingers_plant_noside1", "y": 90, "uvlock": true },
        { "model": "nex:fingers_plant_noside2", "y": 90, "uvlock": true },
        { "model": "nex:fingers_plant_noside3", "y": 90, "uvlock": false },
        { "model": "nex:fingers_plant_noside", "weight": 6, "y": 90, "uvlock": true }
      ]
    },
    {   "when": { "south": false },
      "apply": [
        { "model": "nex:fingers_plant_noside2", "y": 180, "uvlock": true },
        { "model": "nex:fingers_plant_noside3", "y": 180, "uvlock": false },
        { "model": "nex:fingers_plant_noside", "weight": 6, "y": 180, "uvlock": true },
        { "model": "nex:fingers_plant_noside1", "y": 180, "uvlock": true }
      ]
    },
    {   "when": { "west": false },
      "apply": [
        { "model": "nex:fingers_plant_noside3", "y": 270, "uvlock": false },
        { "model": "nex:fingers_plant_noside", "weight": 6, "y": 270, "uvlock": true },
        { "model": "nex:fingers_plant_noside1", "y": 270, "uvlock": true },
        { "model": "nex:fingers_plant_noside2", "y": 270, "uvlock": true }
      ]
    },
    {   "when": { "up": false },
      "apply": [
        { "model": "nex:fingers_plant_noside_v1", "x": 270, "uvlock": false },
        { "model": "nex:fingers_plant_noside_v1", "x": 270, "y": 90, "uvlock": false },
        { "model": "nex:fingers_plant_noside_v1", "x": 270, "y": 180, "uvlock": false },
        { "model": "nex:fingers_plant_noside_v2", "x": 270, "uvlock": false },
        { "model": "nex:fingers_plant_noside_v2", "x": 270, "y": 180, "uvlock": false }
      ]
    },
    {   "when": { "down": false },
      "apply": [
        { "model": "nex:fingers_plant_noside_v1", "x": 90, "uvlock": false },
        { "model": "nex:fingers_plant_noside_v1", "x": 90, "y": 180, "uvlock": false },
        { "model": "nex:fingers_plant_noside_v2", "x": 90, "uvlock": false },
        { "model": "nex:fingers_plant_noside_v2", "x": 90, "y": 90,  "uvlock": false },
        { "model": "nex:fingers_plant_noside_v2", "x": 90, "y": 180, "uvlock": false },
        { "model": "nex:fingers_plant_noside_v2", "x": 90, "y": 270, "uvlock": false }
      ]
    }]
}

Link to comment
Share on other sites

I don't see any obvious errors.

 

Post your models and describe (possibly with screenshots) how it's not displaying correctly.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

Vanilla's JSON format has improved in 1.9. Just go with it unless you have some awesome variant to add to what you've already shown.

The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • ☾☾ KLIK DAFTAR DI SINI ☽☽ ☾☾ KLIK DAFTAR DI SINI ☽☽ ☾☾ KLIK DAFTAR DI SINI ☽☽   SLOT BANK MANDIRI merupakan situs daftar bandar judol yang deposit menggunakan bank mandiri hanya 1menit Langsung masuk di dalam akun anda. SLOT BANK MANDIRI menyediakan berbagai macam game slot online terlengkap provider termasuk daftar deposit via bank mandiri dan semua game slot gacor maxwin terbaru 2024.  
    • Ligadewa138 telah menjelma menjadi salah satu destinasi utama bagi para pecinta perjudian daring di Asia yang mencari pengalaman bermain slot yang unggul dan menarik. Dengan reputasi yang kokoh dan berbagai koleksi permainan slot yang mengagumkan, Ligadewa138 telah berhasil menarik perhatian banyak pemain dari berbagai belahan dunia. Dalam panduan ini, kami akan membahas mengapa Ligadewa138 dianggap sebagai salah satu situs slot terbaik di Asia saat ini. 1. Koleksi Permainan yang Luar Biasa Ligadewa138 menawarkan koleksi permainan slot yang luar biasa dengan berbagai tema yang menarik dan inovatif. Dari slot klasik hingga slot modern dengan fitur-fitur canggih, pemain dapat menemukan berbagai pilihan permainan yang sesuai dengan preferensi mereka. Kualitas grafis dan animasi yang menakjubkan membuat pengalaman bermain semakin menghibur dan memikat. 2. Keamanan dan Kepercayaan Ligadewa138 dikenal karena komitmennya terhadap keamanan dan kepercayaan pemain. Situs ini dilengkapi dengan teknologi enkripsi terbaru untuk melindungi data pribadi dan keuangan para pemain. Selain itu, Ligadewa138 juga telah mendapatkan lisensi resmi dari otoritas perjudian yang diakui, menjamin bahwa semua permainan di situs ini fair dan adil. 3. Bonus dan Promosi Menarik Ligadewa138 seringkali menawarkan berbagai bonus dan promosi menarik kepada para pemainnya. Mulai dari bonus selamat datang hingga bonus setoran dan putaran gratis, pemain dapat menikmati berbagai penawaran menguntungkan yang dapat meningkatkan peluang mereka untuk meraih kemenangan besar. Program loyalitas yang murah hati juga membuat pemain merasa dihargai dan dihormati. 4. Layanan Pelanggan yang Profesional Ligadewa138 dikenal karena layanan pelanggannya yang profesional dan responsif. Tim dukungan pelanggan yang ramah dan berpengetahuan luas siap membantu pemain dengan segala pertanyaan atau masalah yang mereka hadapi. Dengan layanan pelanggan yang tersedia 24/7, pemain dapat merasa tenang dan yakin bahwa bantuan selalu tersedia jika diperlukan. 5. Kemudahan Transaksi Keuangan Ligadewa138 menyediakan berbagai metode pembayaran yang aman dan nyaman bagi para pemainnya. Dari transfer bank lokal hingga dompet elektronik dan kartu prabayar, pemain dapat melakukan transaksi keuangan dengan mudah dan cepat. Proses penarikan yang cepat dan tanpa ribet juga membuat pemain merasa lebih diuntungkan. Dengan kombinasi koleksi permainan yang luar biasa, keamanan yang terjamin, bonus yang menggiurkan, layanan pelanggan yang profesional, dan kemudahan transaksi keuangan, tidak mengherankan jika Ligadewa138 dianggap sebagai salah satu situs slot terbaik di Asia saat ini.
    • MPOSLOT Merupakan Link Slot Gacor MPO SLOT Terbaru Dan Gampang Menang Dengan Minimal Deposit 10,000 Dapat Dimainkan Semua Jenis Permainan ▶️▶️▶️ DAFTAR KLIK DI SINI ◀️◀️◀️ Dalam dunia taruhan online yang semakin berkembang, mencari platform yang dapat diandalkan dan menyenangkan untuk bermain merupakan hal yang sangat penting bagi para pecinta taruhan. Salah satu opsi teratas yang muncul adalah MPOSLOT dan jaringan link alternatifnya yang menyediakan tingkat pengalaman taruhan yang tinggi. Mari kita gali lebih dalam tentang apa yang membuat MPOSLOT dan daftar situs link alternatif MPOSLOT RTP begitu menarik bagi para penggemar taruhan online. Keyword Terkait : MPOSLOT MPOSLOT Slot MPOSLOT Daftar MPOSLOT Login MPOSLOT Link Alternatif MPOSLOT RTP AGEN MPOSLOT SITUS MPOSLOT
    • DAFTAR KLIK DISINI DAFTAR KLIK DISINI SENJU33☘️ Depo 100 Bonus 100 Link Alternatif Bonus 100% Senju33. SENJU33, seperti kakek Zeus yang berkuasa, menonjolkan dirinya sebagai pemimpin dalam industri perjudian online. Fitur RTP (Return to Player) yang disediakan oleh SENJU33 mencerminkan komitmen untuk memberikan peluang yang adil kepada pemainnya, sebagaimana Ouranos memberikan keadilan di dunia mitologi. Senju33 dengan Akses Login Situs SENJU33 Slot Gacor Hari Ini Gampang menang tanpa pola rtp slot, ada bonus untuk member baru mendaftar di situs senju33 slot gacor hari ini 30%, mencari pengalaman bermain slot yang tak terlupakan di Indonesia? SENJU33 adalah jawabannya! Sebagai situs super gacor paling terdepan di tahun ini, SENJU33 menawarkan ID VIP Pro, akun resmi, dan link login terkini untuk memastikan Anda meraih pengalaman bermain slot yang luar biasa.
    • SUHU77 Situs Cara Deposit Lewat Dana Merupakan Situs Dengan Permainan Terlengkap Dan Login & Daftar Termudah Yang Bisa Anda Gunakan. Selain Itu, Untuk Deposit Juga Sangat Mudah Dan Lengkap Semua Payment Di Terima Dari Deposit Bank Local, E-Wallet / E-Money (Dana, Ovo, Gopay, Shopeepay, Sakuku Dll), Deposit Pulsa Tanpa Potongan Terlengkap DAFTAR KLIK DISINI DAFTAR KLIK DISINI Untuk Bermain Disini Sangat Lah Mudah Dan Untuk Situs Juga Sudah Di Percaya Sejak Lama. Menang Berapapun Pasti Di Bayar Lunas Tanpa Pending. Jadi Jangan Lewatkan Bermain Di SUHU77 Situs Cara Deposit Lewat Dana. Sistem Permainan Yang Ditawarkan Telah Mendapatkan Kepercayaan Dari Berbagai Member Yang Sudah Mendapatkan Keuntungan Dari Hal Itu Yang Berasal Dari Permainan Slot Online. SUHU77 SUHU77 Login SUHU77 Daftar SUHU77 Rtp Slot Scatter SUHU77 Link Alternatif SUHU77 Agen SUHU77 Situs SUHU77
  • Topics

×
×
  • Create New...

Important Information

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