pyrotech-1.12 icon indicating copy to clipboard operation
pyrotech-1.12 copied to clipboard

Custom Rock Support

Open alyssa-fae-0 opened this issue 6 years ago • 2 comments

It would be nice to have support for generating custom rocks for mod-added materials. For example, Rustic's "slate" or chisel's "marble", etc. It looks like rocks are currently hard-coded, and I honestly have no idea how one would go about changing that (I'm not too familiar with the newish asset system for blockstate/texture/model/etc).

alyssa-fae-0 avatar Jun 19 '19 02:06 alyssa-fae-0

Here's my idea so far for the rock compat. It'll likely work in the same way that the ore-compat works: gather its data on the first load, generate stuff on the second.

First Run

  • iterate pre-defined map (config value?) of oredicts : tint-color
    • tint color applied to default rock item model
  • generate missing .json files
{
    "ore:marble": {
        "texture": [ // the first texture in the list is used for the default block model
            "somemod:marble",
            "someothermod:mahrbel",
            "yetanothermod:stone_marble"
        ],
        "items": [ // items are used in the generated Dropt rules
            "somemod:marbleitem",
            "someothermod:mahrbeleyetm",
            "yetanothermod:stone:42"
        ],
        "model": { // optional overrides for item / block models
            "item": "your:itemModel",
            "block": "your:blockModel"
        }
    }
}

Second Run

  • load data on second run
    • register block
    • register itemBlock
    • register blockModel / texture, either default or override
    • register itemModel / texture, either default or override
    • register dropt rules

codetaylor avatar Sep 06 '19 20:09 codetaylor

Seconding wanting this feature - it'd be a really easy way for modpack makers to add compat for whatever stones they may have in the pack.

ProspectPyxis avatar Oct 12 '19 11:10 ProspectPyxis