Skip to content

Conversation

@ghzdude
Copy link
Contributor

@ghzdude ghzdude commented Oct 2, 2025

What

Implements a registry for custom coils much like the MTE registry. Also implements a generic coil texture to be tinted by the material's RGB instead of a dedicated texture. Custom Coils can also have additional tooltips on top of the existing tooltips.

Implementation Details

The enum type restriction for the variant type paramater has been replaced by IStringSerializable and Comparable<>
The enum property has been replaced by a new property class PropertyIntMap
CoilType is done with a builder and is no longer an enum
search for inner enum classes to reduce the usage of getActualTypeParamaters()

Outcome

Custom Coils are now much easier to create for addons (and potentially groovyscript)

Additional Information

using the generic texture causes a visual issue for CTM for some reason

ghzdude added 21 commits March 8, 2025 02:56
register coils to a list
remove StoneVariantBlock property
move harvest level into own method
mostly working
ignore .ase files
this conflicts with the render layer
create manager and registries like MTEs
remove color method
rollback custom rendering changes
add color back with material rgb
freeze/unfreeze in CoreModule
add static reference in GregTechAPI
add color and model register
simplify BlockWireCoil
simplify texture
pass modid down to CoilStatBuilder
split texture and generic
make generic false by default
add custom tooltips for custom coils
use boolean instead of client only class
@ghzdude ghzdude added the type: feature New feature or request label Oct 2, 2025
@ghzdude ghzdude marked this pull request as ready for review October 3, 2025 04:21
@ghzdude ghzdude requested review from a team as code owners October 3, 2025 04:21
import java.util.Map;
import java.util.function.BooleanSupplier;

public class BlockWireCoil extends VariantActiveBlock<BlockWireCoil.CoilType> {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The existence of this class now leads to some level of duplication. It might be better to merge this and the custom coil class together so we don't have two systems to do the same thing.

create BuilderFactory so only `makeBuilder()` is visible
remove event testing code
@ALongStringOfNumbers ALongStringOfNumbers merged commit b6960a5 into master Nov 13, 2025
3 checks passed
@ALongStringOfNumbers ALongStringOfNumbers deleted the gh/extendable-coil-type branch November 13, 2025 06:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants