Pyrotech

Pyrotech

897k Downloads

Custom Rock Support

alyssa-fae-0 opened this issue ยท 2 comments

commented

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).

commented

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.

commented

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