Skip to content

Heat Sensor Refactor + IMETERenderer improvement#5727

Open
YamiKami-Sama wants to merge 11 commits intoGTNewHorizons:masterfrom
YamiKami-Sama:feature/refactor
Open

Heat Sensor Refactor + IMETERenderer improvement#5727
YamiKami-Sama wants to merge 11 commits intoGTNewHorizons:masterfrom
YamiKami-Sama:feature/refactor

Conversation

@YamiKami-Sama
Copy link
Contributor

@YamiKami-Sama YamiKami-Sama commented Jan 18, 2026

Refactor the Heat Sensor of the HIP to make it usable by other future machines and fix Heat Sensor outputing redstone signal on every face instead of facing one.
Implement some missing render function to the IMTERenderer to be able to sync some data used for render to client and configure the max render distance.

@Worive Worive added the Refactor For PRs rewriting a part of the code to have a nicer code overall. label Jan 18, 2026
@FourIsTheNumber
Copy link
Contributor

What do you intend to use the heat sensor for? This is a bit odd for sure

@YamiKami-Sama
Copy link
Contributor Author

I intend to use heat in a new multiblock, so i will reuse the heat sensor, that pr is mainly to extract refactoring/changing code that is not dirrectly related to the multi.

@FourIsTheNumber
Copy link
Contributor

Yes I understood the pr. Was just curious why you wanted to reuse the hatch

*/
public interface IHeatProducer {

int getHeatSensorHatchNum();
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't really like this, it assumes all you will need to do with the hatch list is get its size. I would refactor this to instead be

List<MTEHeatSensor> getHeatSensorHatches();

and let the caller figure out if it wants the size, to iterate over them, etc.

Copy link
Contributor

Choose a reason for hiding this comment

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

I still think this should be done. This is an interface that will potentially be used by many multiblocks in the future, we should ensure that its API is flexible and maintainable.

*/
public interface IHeatProducer {

int getHeatSensorHatchNum();
Copy link
Contributor

Choose a reason for hiding this comment

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

I still think this should be done. This is an interface that will potentially be used by many multiblocks in the future, we should ensure that its API is flexible and maintainable.

@Dream-Master
Copy link
Member

it not build @YamiKami-Sama

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler output below.
  /home/runner/work/GT5-Unofficial/GT5-Unofficial/src/main/java/gregtech/loaders/preload/LoaderMetaTileEntities.java:114: error: cannot find symbol
  import gregtech.common.tileentities.machines.MTEHatchOutputBusME;
                                              ^
    symbol:   class MTEHatchOutputBusME
    location: package gregtech.common.tileentities.machines
  2 errors

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Refactor For PRs rewriting a part of the code to have a nicer code overall.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants