Currently only the "partial" excavator multiblocks don't have projectors (see here), but there is no way for addons to disable them for their multiblocks. A specific usecase would be the mechanical multiblocks I'm adding to Industrial Wires: they consist of an arbitrary chain of "parts", so there is no fixed structure. I have multiblocks (that can't be formed) for the individual components and an example of a complete multiblock, but those are a separate class (loaded from an MC structure file and only intended to be used in the manual and maybe things like the projector).
Would it be possible to use the block states to render the multiblock rather than the item stacks? The manual does this, and I rely on it in Industrial Wires: The Marx generator contains some wire connectors and wallmounts that have to be placed in a specific orientation. Since item stacks don't mean much in that situation I currently use bricks in those positions and convert them into the proper block states in getBlockstateFromStack. I can (and probably will) improve the situation on my side by replacing the bricks with roughly correct items, but the orientation still won't be right.
Ideally these changes would not add a compile-time dependency (unless IP is one some maven/jenkins server?). One way to do this that some frame mods used in 1.7.10 would be a method (with a fixed name that would not usually be used, e.g. _shouldAddProjector) in the multiblock class that is called using reflection if it exists (since this would only be called in getSubItems the performance impact of reflection shouldn't matter).
getBlockstateFromStack
. I can (and probably will) improve the situation on my side by replacing the bricks with roughly correct items, but the orientation still won't be right.Ideally these changes would not add a compile-time dependency (unless IP is one some maven/jenkins server?). One way to do this that some frame mods used in 1.7.10 would be a method (with a fixed name that would not usually be used, e.g.
_shouldAddProjector
) in the multiblock class that is called using reflection if it exists (since this would only be called ingetSubItems
the performance impact of reflection shouldn't matter).