Skip to content

What features need to be added in the main mod to trickle down to this addon? [OPEN FOR COMMENT] #2

@LtxProgrammer

Description

@LtxProgrammer

This issue serves as the discussion for what API the Changed mod should provide to addon mods.

Defining mob Assimilation

To start off, addon mods could define assimilation behavior of non-latex mobs and the variants they transfur humanoids into.

Data-driven example: (data/changedvanilla/transfur_recipe/latex_fox.json)

{
  "mob": "minecraft:fox",
  "transfur_variants": [
    "changedvanilla:latex_fox",
    "changedvanilla:latex_fox_partial",
    "changedvanilla:latex_fox_kit"
  ]
}

Pros: datapack configurable.
Cons: limited variant customization

Java example:

ChangedTransfurVariants.registerLatexMob(Entities.FOX, transfurContext -> {
    // Do decision making with transfurContext, or even modify the resulting variant to follow entity flags from the transfurring mob (i.e.: coat color).
    return ChangedVanillaTransfurVariants.LATEX_FOX.get();
});

The expected chain of events is as follows:

  1. A latex entity (player or npc) assimilates a mob.
  2. That mob will attempt to assimilate other mobs around it (wont change the target entity into itself, rather turn the target entity into latex).
  3. That mob will transfur any humanoids around it, with a higher priority than assimilation goal.
  4. The humanoid will be transfurred into the variant for the transfur context.
  5. The mob is discarded.

The assimilated mob will still be of the original EntityType, but the assim/transfur goals will be injected into their AI. They will also have the latex drip particle effect.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions